.pc { display: block !important; }
.sp { display: none !important; }


a[href*="tel:"] {
	pointer-events: none;
	color:#483a44
}

a.anchor {
    display: block;
    padding-top: 150px;
    margin-top: -150px;
}

.clear{
	clear:both;
}

body{
	font-size: 1.1em;

}
.indent{
	padding-left: 1em;
	text-indent: 1em;
}
.bold{
	font-weight:bold;
}
.center{
	text-align:center;
}
.left{
	text-align:left;
}
.right{
	text-align:right;
}
.middle{
	vertical-align:middle;
}
.navy{
	color:#003e97;
}
.red{
	color:#d50a12;
}
.green{
	color:#55b032;
}
.white{
	color:#FFF;
}

.margin-r5{
	margin-right:5px;
}
.margin-l10{
	margin-left:10px;
}
.margin-a1{
	margin:10px 10px 10px 30px;
}

h1 {
	position: relative;
	display: inline-block;
	margin-bottom: 50px;
	font-size:2em;
}
h1:before {
	content: '';
	position: absolute;
	bottom: -15px;
	display: inline-block;
	width: 60px;
	height: 2px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #6baf9b;
}

h2.type01{
	margin:10px 0;
	padding-left:33px;
	font-size:24px;
	background: url(../img/icon/maru-blue.png) no-repeat 1px;
}

header{
	height:80px;
	width:100%;
	margin:0 auto;
}

.head-flex{
	height:95px;
	display: flex;
	justify-content: space-between;
	position: fixed;
	background-color:#FFF;
	width:100%;
	z-index:1000;
	padding-top:10px;
	padding-left:50px;
	border-bottom:2px solid #2784bc
}
.head-flex-right{
	z-index:79;
	text-align:right;
	position: fixed;
	top: 10px;
	right: 100px;
}

.contents{
	width:1200px;
	margin:0 auto;
}
.wrapper{
	margin:20px 20px;
}

/* パンくずデザイン */
.breadcrumbs{
	width:1200px;
	margin:0 auto;
	padding:10px 0 0px 10px;
}
.breadcrumbs li {
	display: inline;
	list-style-type: none;
}
.breadcrumbs li:before {	
	content:" > ";
}
.breadcrumbs li:first-child:before {
	content:"";
}


footer nav{
	display: flex; /* flexbox */
	width:1000px;
	margin:0 auto;
	flex-wrap: wrap; /* 折返し指定 */
	gap: 0 4px; /* 余白（縦 横） */
}

footer nav div {
	flex-grow: 1; /* レスポンシブ化 */
}

footer a{
	color:#FFF;
}



/* お知らせ */
.news-list{
	list-style: none outside;
	margin: 0;
	padding: 0;
}
.news-list .item{
	display: flex;
	flex-wrap: wrap;
	flex-wrap: nowrap;
	text-decoration: none;
	color: #333;
	border-bottom: 1px solid #CCC;
	padding: 20px 20px;
}
.news-list .item:first-child a{
	border-top: 0px solid #CCC;
}
.news-list .item .date{
	margin: 0;
	min-width: 100px;
	font-size: 16px;
	color: #000;
	padding: 0 20px 0 0;
}
.news-list .item .title{
	margin: 0;
	width: 100%;
}
.news-list .item:hover .title{
	color: #003398;
}

@media screen and (max-width: 767px){
.news-list .item a{
  flex-wrap: wrap;
}
.news-list .item .date{
  min-width: 100px;
}
.news-list .item .title{
  margin-top: 10px;
}
}

/* ハンバーガーメニュー */
.menu-btn {
	position: fixed;
	top: 20px;
	right: 10px;
	display: flex;
	height: 50px;
	width: 50px;
	justify-content: center;
	align-items: center;
	z-index: 90;
	background-color: #FFF;
	border:3px solid #3da36b;
	border-radius: 10px;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
	content: '';
	display: block;
	height: 3px;
	width: 25px;
	border-radius: 3px;
	background-color: #3da36b;
	position: absolute;
}
.menu-btn span:before {
	bottom: 8px;
}
.menu-btn span:after {
	top: 8px;
}
#menu-btn-check {
	display: none;
}

#menu-btn-check:checked ~ .menu-btn span {
	background-color: rgba(85, 176, 50, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
	bottom: 0;
	transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
	top: 0;
	transform: rotate(-45deg);
}

.menu-content {
	width: 50%;
	margin-left:50%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 100%;/*leftの値を変更してメニューを画面外へ*/
	z-index: 80;
	background-color: #3da36b;
	transition: all 0.5s;/*アニメーション設定*/
}

.menu-content ul {
	padding: 70px 50px 50px;
}
.menu-content ul li {
	border-bottom: solid 1px #AED2EB;
	list-style: none;
}
.menu-content ul li a {
	display: block;
	width: 100%;
	font-size: 18px;
	box-sizing: border-box;
	color:#ffffff;
	text-decoration: none;
	padding: 9px 15px 10px 30px;
	position: relative;
}

#menu-btn-check:checked ~ .menu-content {
	left: 0;/*メニューを画面内へ　https://www.asobou.co.jp/blog/web/css-menu#i*/
}

.menu {
	padding: 80px 80px;
	color:#FFF;
}


.menu ul {
    display: none;  /* デフォルトで非表示 */
    padding: 0;
}
.menu input:checked + ul {
    display: block;  /* 表示する */
    padding: 1rem;
	color:#FFF;
}
/* チェックボックスは非表示にする（内部的な Off/On の機能だけ利用する） */
.menu input {
    display: none;
}

/* 開いた状態のサブメニュー */
.menu input:checked + ul {
    display: block;
}

/* 閉じた状態のサブメニュー */
.menu ul {
    display: none;
    /* 下記は開閉によらず共通の設定 */
    list-style: none;
    margin: 0;
    padding: 1rem;
}
.menu ul li {
    padding: 0.2rem 0.5rem;
	border-bottom:1px solid #FFF;
}

/* 親項目の装飾 */
.menu label {
    display: block;
    margin-top:10px;
    padding: 0.8rem 1rem;
    cursor: pointer;
	background: #FFF;
	color: #3584bb;
}
.menu label a {
	color:#FFF;
}
.menu label:hover {
	background: #FFF;
	color: #3584bb;
}

.menu label:after {
  font-family: "Font Awesome 5 Free";
  content: "\2b";
	font-weight:bold;
	font-size: 1.1em;
	margin-left:8px;
	color:#3584bb;
}
.menu label:hover:after  {
	background: #FFF;
	color: #3584bb;
}

.white-menu{
	display: block;
	margin: 0;
	padding: 0.5rem;
	cursor: pointer;
	color:#FFF;
}
.white-menu:before {
  font-family: "Font Awesome 5 Free";
  content: "\f111";
	font-weight:bold;
	font-size: 1.1em;
	margin-right:8px;
	color:#FFF;
}

.white-menu:hover {
	color: #FFF;
}
.white-menu:hover:after {
	color: #FFF;
}


/* ページトップへ */
#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 99;
}
.nowrap{
	white-space:nowrap;
}


/*------ googlemapここから ------*/
.google-maps {
	position: relative;
	padding-bottom: 50%; // これが縦横比
	height: 0;
	overflow: hidden;
	margin-top:50px;
	margin-bottom:50px;
}
.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}





.top-philosophy{
	width:1000px;
	margin:0 auto;
}


.top-contact{
	width:1000px;
	margin:0 auto;
	display:flex;
	justify-content:center;
}



.contact-text{
	margin-right:30px;
	font-size:1.2em;
	padding-top:10px;
}
.contact-tel-area{
	margin-right:50px;
}

.contact-tel-area a[href*="tel:"] {
	pointer-events: none;
	color:#2784bc;
}



.contact-btn{
	display:inline-block;
	position: relative;
	background:#d13415;
	width: 180px;
	padding:10px 30px 10px 10px;
	text-align:center;
	color:#FFF;
	border:1px solid;
}
.contact-btn::after{
	display: block;
	position: absolute;
	content: "";
	top: calc(50% - 5px);
	right: 20px;
	width: 20px;
	height: 5px;
	border-right: 2px solid #FFF;
	border-bottom: 1px solid #FFF;
	transform: skew(45deg);
	transition: .3s;
}
.contact-btn:hover::after{
	right: 10px;
	width: 30px;
	color:#FFF;
}

.contact-btn a{
	color:#FFF;
}


.margin-tb100{
	margin:100px 0;
}

.h2-line{
	margin-bottom:15px;
	border-bottom:2px solid #3da36b;
	color:#3da36b;
	padding:0 0 0 15px;
	font-size:1.5em;
}

/*========= 1文字ずつ出現させるためのCSS ===============*/

.wrap { 
    width:100vw;
    height:500px;
    display:flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.content {
    width:auto;
    height: auto;
}
.content p {
    font-size: 1.8em;
    color: green;
    line-height: 2em;
}
 
/*以下フェードイン表示の指定*/
.fadein {
    opacity: 0;
    animation: fadein 6s ease forwards;
}
@keyframes fadein {
    100% {  opacity: 1;}
}
 
/*以下遅延の指定*/
.txt01 {
	animation-delay: 1s; 
	text-shadow: 
	0 0 0.05em #FFFFFF,
	0 0 0.06em #FFFFFF,
	0 0 0.07em #FFFFFF,
	0 0 0.08em #FFFFFF,
	0 0 0.09em #FFFFFF,
	0 0 0.20em #FFFFFF,
	0 0 0.20em #FFFFFF,
	0 0 0.20em #FFFFFF,
	0 0 0.50em #FFFFFF;
}
.txt02 {animation-delay: 4s;
	text-shadow: 
	0 0 0.05em #FFFFFF,
	0 0 0.06em #FFFFFF,
	0 0 0.07em #FFFFFF,
	0 0 0.08em #FFFFFF,
	0 0 0.09em #FFFFFF,
	0 0 0.20em #FFFFFF,
	0 0 0.20em #FFFFFF,
	0 0 0.20em #FFFFFF,
	0 0 0.50em #FFFFFF;
}
.txt03 {animation-delay: 7s;}
.txt04 {animation-delay: 10s;}
.txt05 {animation-delay: 13s;}
.txt06 {animation-delay: 16s;}


#mainimg{
	width:100%;
	height:500px;
	background-color:#FFF;
	margin-bottom:0px;
	background: url(../img/background/view.jpg) no-repeat center center / cover;
}
#mainimg img{
	width: 100%;
	height: 500px;
	object-fit: cover;
}


.font-l{
	font-size:1.8em
}
.font-l2{
	font-size:1.3em
}
.font-s{
	font-size:0.9em
}

.sitecolor01{
	color:#2784bc;
}


footer .footer{
	width:100%;
	padding:20px 0;
	color:#000;
}

footer .copyright{
	background-color:#2784bc;
	color:#FFF;
	padding:15px 0;
}

.margin-r5{
	margin-right:5px;
}

.mainmenu-wide{
	width:100%;
	background-color:#2784bc;
}
.mainmenu{
	display: flex; /* flexbox */
	justify-content: space-between;
	width:1200px;
	margin:0 auto;
	background-color:#2784bc;
	padding:10px 0;
}
.mainmenu li {
	flex-grow: 1;
	text-align: center;
	padding:5px 0;
	font-size:1.2em;
	color:#FFF;
}
.mainmenu li + li {
	border-left: 1px solid #FFF;
}
.mainmenu li a {
	color:#FFF;
}

/*会社概要リスト*/

.company dl {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	margin-bottom:80px;
}
.company dt {
flex-basis: 15%;
padding: 20px;
background-color: #f1f1f1;
border-bottom: 1px solid #ccc;
}
.company dd {
flex-basis: 75%;
padding: 20px;
background-color: #fff;
border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 559px) {
.company dl {
flex-flow: column;
}
}


.service{
	display: flex;
	width:100%;
	margin-bottom:50px;
}
.service .text{
	width: 100%;
	flex: 1;
}
.service .image{
	width: 350px;
	margin-left:20px;
}
.service img{
	border-radius: 20px;
}

.voice{
	display: flex;
	flex-wrap: wrap;
	width:100%;
	margin-bottom:50px;
}
.voice>div{
	width: calc(45% - 20px);
	margin:20px 15px;
}


.comment{
    margin:2em 0;
    position: relative;
    padding: 0.5em 1em;
    border: solid 2px #ffcb8a;
    border-radius: 3px 0 3px 0;
}
.comment:before,.comment:after
{
    content: '';
    position: absolute;
    width:10px;
    height: 10px;
    border: solid 2px #ffcb8a;
    border-radius: 50%;
}
.comment:after {
    top:-12px;
    left:-12px;
}
.comment:before {
    bottom:-12px;
    right:-12px;
}
.comment p {
    margin: 0; 
    padding: 0;
}






.list-products{
	display: flex;
	width:100%;
	margin-bottom:50px;
	flex-wrap: wrap;

}
.list-products .item{
	width: calc(33% - 20px);
	border:2px solid #CCC;
	padding:10px 0px;
	margin:10px 10px 20px 10px;
	text-align:center;
	border-radius: 6px;
	box-shadow: 3px 3px 3px #CCC;
	background: linear-gradient(180deg, #FFF 0%, #FFF 50%, #49a572 50%, #49a572 100%);
}
.item-name{
	font-size:1.3em;
	border-bottom:1px solid #FFF;
	margin-bottom:15px
}
.item-detail{
	margin:10px 0px;
	padding:10px 10px;
	text-align:left;
}
.itemimg{
	text-align:center;
}



.list-pickup{
	display: flex;
	width:100%;
	margin-bottom:50px;
	flex-wrap: wrap;

}
.list-pickup .pickupitem{
	width: calc(49% - 15px);
	border:2px solid #CCC;
	padding:10px 0px;
	margin:5px 10px;
	text-align:center;
	border-radius: 6px;
	box-shadow: 3px 3px 3px #CCC;
}

.img-right{
	float:right;
	margin-left:15px;
}


.voice-title{
	padding: 0.5em 1em;
	border-bottom: solid 2px #3fa268;
	font-size:1.2em;
	margin-bottom:20px;
	text-align:center;
}

a.btn_detail {
	display:inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin-top:20px;
	padding: 3px 20px;
	border: 2px solid #3fa268;
	background: #3fa268;
	color: #fff;
	border-radius: 10px;
	font-weight:normal;
	font-size:18px;
}


.list-disc{
	margin: 1rem 0;
	padding: 1rem 1.5rem;
	border: solid 1px #C7B183;
	border-radius:10px;
}
.list-disc li{
 	list-style:none;
	margin-bottom:5px;
}
.list-disc li::before {
	content: '＊';
	color: #EEB1C0;
	padding-right: 5px;
}
.price-blue{
	background-color:#2a88c1;
	padding:5px 10px;
	color:#FFF;
	width:90%;
	margin:0 auto;
}
.age{
	border-radius:15px;
	padding:5px 15px;
	background-color:#ffa83a;
	text-align:center;
	color:#FFF;
	font-size:0.9em
}


.group{
	margin:15px 0;
	color:#2a8029;
}



/* お問合せ*/

dl.contact-frame{
	border:0px solid #d1c0b5;
	display:block;
	width:100%;
	margin:30px 0;
}
dl.contact-frame dt{
	background-color:#e0ecdc;
	box-sizing: border-box;
	margin:15px 0 2px 0;
	padding:5px 10px;
}
dl.contact-frame dd{
	margin-bottom:20px;
	padding:5px 5px;
}

.label{
	margin-right: 30px;
}
textarea{
	border: solid 1px #aaa;
	border-radius:5px;
	padding: 10px;
	height: 160px;
	font-size: 15px;
	width:90%;
	resize : both !important; 
}
.btn-area{
	text-align: center;
}
input[type="submit"]{
	background-color:#1f8d61;
	border: none;
	color:#fff;
	padding: 10px 30px;
	margin: 0 5px;
	border-radius:30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	letter-spacing:1.5px;
	font-weight:normal;
	font-size:1.1em
}

input[type="submit"]:hover{   /* ご相談フォーム */
	background-color:#1f8d61;
	border: none;
	color:#fff;
	padding: 10px 30px;
	margin: 0 5px;
	border-radius:30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	letter-spacing:1.5px;
	font-weight:normal;
	font-size:1.1em
}

.form-select{
	 padding: 10px 20px;
	border: solid 1px #aaa;
	border-radius:5px;
	font-size:0.9em
}
.hoge{
	padding: 10px 20px;
	border: solid 1px #aaa;
	border-radius:5px;
	font-size:0.9em;
	width: 25em; 
}
.hoge-s{
	padding: 10px 20px;
	border: solid 1px #aaa;
	border-radius:5px;
	font-size:0.9em;
	width: 10em; 
}
.hoge-l{
	padding: 10px 20px;
	border: solid 1px #aaa;
	border-radius:5px;
	font-size:0.9em;
	width: 90%; 
}
.attention{
	background-color:#FBB161;
	padding:3px 8px;
	color:#FFF;
	border-radius: 6px;
	font-size:0.8em
}

input[type=checkbox] {
	transform: scale(1.6);
	margin-right:10px;
}

.mark01{
/* 	margin: 10px 0 0 auto;*/
	width:180px;
	text-align:center;
	background-color:orange;
	border-radius: 6px;
	padding:5px 10px;
	color:#FFF;
	font-size:15px;
}
.mark02{
/* 	margin: 10px 0 0 auto;*/
	width:180px;
	text-align:center;
	background-color:orange;
	border-radius: 6px;
	padding:5px 10px;
	color:#FFF;
	font-size:15px;
}
.mark03{
/* 	margin: 10px 0 0 auto;*/
	width:220px;
	text-align:center;
	background-color:orange;
	border-radius: 6px;
	padding:5px 10px;
	color:#FFF;
	font-size:15px;
}
