@charset "utf-8";

body{
font-family: 
 -apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}


*{
	 margin: 0;
	 padding: 0;
}

-box-sizing: border-box-
html {
     box-sizing: border-box;
}
*, *::before, *::after {
     box-sizing: inherit;
}
/*------------------------*/
html,body{
	 font-size: 16px;
	 background: white;
	 box-sizing: border-box;

}
.headwrap{
	 background: white;
}

.header{
	 max-width: 1140px;
	 margin: 0 auto;
	 display: flex;
	 height: 3.7rem;
}

.header-logo{
	 margin:0.5rem 0 0 1rem; 
	 transition: all 0.1s;
}
.header-logo:hover{
	 opacity: 0.6;*/
}

.header-logo img{
     width: 12rem;
     height: auto;
}
.header-copy{
	 flex: 2;
}
.header-copywrap{
	 margin:0.7rem 0 0 0; 
	 text-align: right;
	 padding-right: 3rem;
}
.copy{
	 font-family: vdl-v7mincho, sans-serif;
	 font-weight: 700;
	 font-style: normal;
	 color: #595757;
	 line-height: 1.5rem;
}
.copy>br{
	 display: none;
}
.header-copywrap ul{
	 font-size: 0.8rem;
	 display: flex;
	 list-style: none;
	 justify-content: flex-end;
}
.header-copywrap ul li {
     margin-left: 1.3rem;
}
.header-copywrap ul li a{
	 color:#3079ed;
	 font-family: source-han-sans-japanese, sans-serif;		
	 transition: all 0.2s;
}
.header-copywrap a:hover{
	 color: #33ccff;
}



.mailgyo{
	 color:#426EB5; 
	 font-size: 0.8rem;
	 line-height: 1rem;
	 transition: all 0.2s;
}
.mailgyo a{
     text-decoration-skip-ink: none;	
}
.mailgyo::before{
     display: inline-block;
     width: 1.1rem;
     content:"　";
     background-size: contain;
     background: url("img/mailicon0.svg") no-repeat;
}
.form-mail{
	 color:#3079ed;
}
.form-mail:hover{
	 color: #33ccff;
}

.header-form{
	 margin:0.6rem 0 0 0; 
	 flex: 0.7;
	 display: flex;
	 flex-direction: column;
	 align-items: center;
}
.form-iform{
	 text-align: center;
	 width: 200px;
	 height: 24px;
	 line-height: 24px;
	 color: white;	
	 background: #3079ed;
	 margin: 2.5px 10px; 
	 transition: all 0.2s;
}

.form-iform:hover{
	 background: #33ccff;
}

.form-iform a{
	 text-decoration:none;
	 color: white;	
}
.navbar{
	 background: #1e8ec8;
}

.navbar ul{
	 max-width: 850px;
	 margin: 0 auto;
	 display: flex;
	 flex-direction: row;
	 flex-grow: 0.5;
}
.navbar ul li{
	 padding: 0.7rem 0;
	 line-height: 0.8rem;
	 transition: all 0.2s;
}
.navbar ul li:nth-child(5){
	 background: #3079ed;
}
.border{
	 list-style-type: none;
	 color: #ffffff;
	 flex-grow: 1;
	 text-align: center;
	 padding: 0.7rem 0;
	 line-height: 0.9rem;
	 transition: all 0.2s;
}
.border:hover{
	 background-color: #3079ed;
}
.borderline{
	 list-style-type: none;
	 color:white;
	 font-size: 0.8rem;
}
.border a{
	 display: block;
	 letter-spacing: 0.1rem;
	 text-decoration:none;
	 color: white;
	 font-size: 1rem;
	 font-family: source-han-sans-japanese, sans-serif;
	 font-weight: 500;
	 font-style: normal;
}
.hero{
	 min-height: 230px;
	 margin: 0 auto;
	 background: url("img/topmogi2.jpg")  no-repeat;	
	 background-size: cover;
	 display: flex;
	 align-items: center;
	 justify-content: center;
}
.heroin{
	 display: flex;
	 justify-content: center;
  	 align-items: center;
  	 width: 8rem;
	 height: 8rem;
	 border-radius: 100%;
	 background:rgba(48, 121, 237,0.95);
}
.heroin h1{
	 font-size: 1.4rem;
	line-height:90%;
    letter-spacing: 0.2rem;
	text-align: center;
	 font-family: source-han-sans-japanese, sans-serif;
	 color: white;
}

.call p{
	 display: flex;
	 justify-content: center;
	 padding: 0.5rem 0;
	 font-size: 0.9rem;
	 color: #595757;
}
.item{
	 max-width: 1140px;
	 margin: 0 auto;
	 background: #F2F2F2;
}
.itemin{
	 max-width: 96%;
	 display: flex;	
	 justify-content: space-between;
	 flex-wrap: wrap;
	 margin: 0 auto;
	 padding-top: 1.1rem;
	 background: #F2F2F2;
}

.box{
	 width: 13%;
	 height: auto;
	 margin-bottom: 0.2rem;
}

.box a img{
	 width: 100%;
	 margin-bottom: 0.07rem;
	 border:solid 0.09rem #3079ed;
	 overflow: hidden;
	 transition: all 0.2s;
}
.box a img:hover{
	 border:solid 0.2rem #22aad4;
}

.box figure{
	 font-size: 0.9rem;
	 text-align: center;
	 margin-bottom: 0.4rem;
	 color:#3079ed;
	 transition: all 0.2s;
}
.komoji{
	 font-size: 0.8rem;
}
.box figcaption{
	 margin-top: -0.3rem;
}
.box .komoji figcaption{
	 margin-top: -0.1rem;
	 line-height: 1.1;	 
}
.box .komoji2 figcaption{
	 margin-top: -0.1rem;
	 line-height: 1.1;
}
figure:hover{
	 color: #33ccff;	
	 font-weight:900; 
}

.box a{
	 color: #3079ed;
	 font-family: source-han-sans-japanese, sans-serif;
	 text-decoration: none;
}

.footer{
	 padding-top: 0.5rem;
	 background-color:#1e8ec8; 
	 height: 8rem;
}
.footer1{
	 color: white;
	 letter-spacing: 0.1rem;
	 font-size: 0.8rem;
	 text-align: center;	
	 padding-top: 0.5rem;
	 line-height: 0.8rem;
}
.footer2 ul{
	 display: flex;
	 justify-content: center;
}
.footer2 ul li{
	 color: white;
	 letter-spacing: 0.1rem;
	 font-size: 0.8rem;
	 text-align: center;	
	 padding-top: 0.5rem;
	 line-height: 0.8rem;
	 display: flex;
	 justify-content: center;
}
.footer2 ul li:nth-child(2){
     margin: 0 1.7rem;
}

.footer3 ul{
	 display: flex;
	 justify-content: center;
}
.footer3 ul li{
	 color: white;
	 letter-spacing: 0.1rem;
	 font-size: 0.8rem;
	 text-align: center;	
	 padding-top: 0.5rem;
	 line-height: 0.8rem;
	 display: flex;
	 transition: all 0.2s;
	 margin-left: 1.6rem;
}
.footer3 ul li:nth-child(1){
	 margin-left: 0;
}
.footer3 ul li:nth-child(4){
	 margin-left: 1rem;
}
.footer3 ul li:nth-child(5){
	 margin-left: 1rem;
}
.footer3 ul li a{
	 color: white;
	 transition: all 0.2s;
}

.footer3 ul li a:hover{
	 color: #33ccff;
}

/*---↓---スマホ用 フッター---↓------------*/
.spfooter{
     display:flex;
     flex-direction: row;

}
.spfooter-tel{
	 position: relative;/*リンク範囲を親要素全体に広げる*/
	 padding:0.5em 0 3em;
	 font-size: 1.2rem;
	 letter-spacing: 0.1rem;
	 text-align: center;	
	 line-height: 1.3rem;
	 color: white;
	 background-color:#1e8ec8; 
	 flex:1;
	 border-right: solid 0.1rem white;
}
.footer-tel{
	 font-size: 0.9rem;
	 line-height: 1.2rem;
}
.spfooter-tel a {
	 position: absolute;/*リンク範囲を親要素全体に広げる*/
     top: 0;/*リンク範囲を親要素全体に広げる*/
     left: 0;/*リンク範囲を親要素全体に広げる*/
     width: 100%;/*リンク範囲を親要素全体に広げる*/
     height: 100%;/*リンク範囲を親要素全体に広げる*/
	 padding-top:0.5em;
     text-decoration:none;
	 color: white
}	

.address{
	 padding-top: 0rem;
	 font-size: 0.8rem;
	 line-height: 1rem;
}
.spfooter-form{
	 position: relative;/*リンク範囲を親要素全体に広げる*/
	 padding:0.5em 0 3em;
	 font-size: 1.2rem;
	 letter-spacing: 0.1rem;
	 text-align: center;	
	 line-height: 1.3rem;
	 color: white;
	 background-color:#1e8ec8; 
	 flex:1;
	 border-right: solid 0.1rem white;
}
.spfooter-form a {
	 position: absolute;/*リンク範囲を親要素全体に広げる*/
     top: 0;/*リンク範囲を親要素全体に広げる*/
     left: 0;/*リンク範囲を親要素全体に広げる*/
     width: 100%;/*リンク範囲を親要素全体に広げる*/
     height: 100%;/*リンク範囲を親要素全体に広げる*/
	 padding-top:0.5em;
	 text-decoration:none;
	 color: white
}
.footer-form{
	 font-size: 0.9rem;
	 line-height: 0.9rem;
}

/*---↑---スマホ用 フッター---↑------------*/

@media screen and (max-width: 1090px){
   .navbar ul li{
	     padding: 0.8rem 0;
	     line-height: 0.8rem;
	     transition: all 0.2s;	
    }
    .komoji{
	     font-size: 0.7rem;
    }
}

@media screen and (max-width: 982px){
    .info ul li{
	     font-size: 0.8rem;
	     padding: 0 0.6rem;
    }
    .komoji{
	     font-size: 0.6rem;
    }
    .komoji2{
	     font-size: 0.7rem;
    }
}

@media screen and (max-width: 900px){
	.navbar{
	     padding: 0rem 3rem;
	}
	.navbar ul li{
	     padding: 0.9rem 0;
	     line-height: 0.6rem;
	     transition: all 0.2s;	
	}
	.kategori{
	     margin-right:-0.5rem;
    }
}

@media screen and (max-width: 870px){
	.header-copywrap p{
		 font-size: 0.9rem;
	}
	.header-copywrap{
		 padding-right: 0.2rem;
	}
	.navbar ul li a{
		 font-size: 0.9rem;
	}

}

@media screen and (max-width: 843px){
	.info ul li{
		 font-size: 0.7rem;
		 padding: 0 0.5rem;
	}	
}

@media screen and (max-width: 823px){
    .box figure{
	     font-size: 0.8rem;
    }
}

@media screen and (max-width: 780px){
    .komoji{
	     font-size: 0.5rem;
    }
}

@media screen and (min-width: 768px){
}
/*------------↑PC向け画面サイズ↑------------*/

/*-----↓タブレット向け画面サイズ↓------------------------*/
@media screen and (max-width: 768px){
	.komoji{
		 font-size: 0.8rem;
	}
	.komoji2{
		 font-size: 0.8rem;
	}
	.box .komoji figcaption{
	     margin-top: -0.1rem;
	 line-height: 1.1;		 
    }
	.box .komoji2 figcaption{
	     margin-top: -0.1rem;
	 line-height: 1.1;		 
    }		
	.header-logo img{
	     width: 10rem;
	     height: auto;
	}
    .copy>br{
	     display: none;
    }
	.form-iform{
		 width: 150px;
		 height: 23px;
		 line-height: 23px;
		 margin: 2.4px 10px; 
	}
	.form-iform a{
	     font-size: 0.7rem;
	}

	.mailgyo{
		 color:#426EB5; 
		 font-size: 0.7rem;
		 line-height: 1rem;
	}
	.mailgyo::before{
	     width: 1.1rem;
	     content:"　";
	     background-size: contain;
	     background: url("img/mailicon0.svg") no-repeat;
	}

	.hero{
		 min-height: 190px;
		 margin: 0 auto;
		 max-width: 768px;
	}
	.heroin{
	  	 width: 7rem;
		 height: 7rem;
	}
	.heroin h1{
		 font-size: 1.3rem;
	}

	.item{
		 max-width: 768px;
	}
	.box{
		 width: 18.5%;
	}
	.itemin{
		 padding-top: 0.9rem;
	}
	.navbar ul{
		 width: 100%;
	}
	.header{
		 max-width: 768px;
	}
	.navbar{
		 padding: 0 1rem;
	}
    .call p{
	     font-size: 0.8rem;
    }	
}

@media screen and (max-width: 765px){
	.header-copywrap ul{
		 font-size: 0.7rem;
	}
	.header-copywrap ul li {
	     margin-left: 1.1rem;
	}
}

@media screen and (max-width: 736px){
	.info ul li{
		 font-size: 0.3rem;
		 padding: 0 0.5rem;
	}	
}

@media screen and (max-width: 732px){
	.komoji{
		 font-size: 0.7rem;
	}
}	

@media screen and (min-width: 668px){
	.headersumaho{
		 display: none;
	}
	.spfooter{
	     display: none;
    }
}
/*---↑タブレット向け画面サイズ↑------------------------*/

/*----------↓---スマホ向け画面サイズ---↓--------------------------*/
@media screen and (max-width: 667.9px){
	.header{
		 display: none;
	}

    .footer{
	     display: none;
    }
    .headersumaho{
	     display: flex;
	}
    .header-logo{
	     width: 25%;
	     margin:0.5rem 0 0 0.5rem; 
	}
    .header-logo img{
	     width: 100%;
	     height: auto;
	}	
    .header-copy{
	     margin: auto 0 ; 
	     text-align: right;
	     width: 75%;
    }
    .header-copy p{
	     margin-right: 0.5rem;
    }
    .header-copy ul{
	     font-size: 0.8rem;
	     display: flex;
	     list-style: none;
	     justify-content: flex-end;
	     margin-top: -0.1rem;
    }
    .header-copy ul li {
         margin-right: 0.5rem;
    }

    .header-copy ul li a{
	     color:#3079ed;
	     font-family: source-han-sans-japanese, sans-serif;		
    }
    .header-form {
         margin-top: auto;			
    }
	.navbar{
		 padding: 0rem 0rem;
	}
	.navbar ul{
		 width: 100%;
		 flex-wrap: wrap;
	}
	.navbar ul li a{
		 font-size: 0.9rem;
		 margin-top: 0.2em;
	}
	.borderline{
		 display: none;
	}
	.border{
		 flex-grow:0;
	}
	.navbar ul li{
		 width: 33.3%;
		 height: 3rem;
		 border-top: solid 0.1rem white;
		 padding: 0;
		 line-height: 2.4rem;
	}
    .navbar ul li:nth-child(1){
		 border-right: solid 0.1rem white;
    }
    .navbar ul li:nth-child(3){
		 border-right: solid 0.1rem white;		 
    }
    .navbar ul li:nth-child(7){
		 border-right: solid 0.1rem white;		 
    }
    .navbar ul li:nth-child(9){
		 border-right: solid 0.1rem white;		 
    }
    .hero{
		 min-height: 160px;
		 margin: 0 auto;
		 max-width: 666px;
    }
    .heroin{
	  	 width: 6rem;
		 height: 6rem;
    }
    .heroin h1{
		 font-size: 1.1rem;
    }
    .info{
		 display: none;
    }

    .item{
		 max-width: 666px;
    }
    .box{
		 width: 32%;  
    }
	.box .komoji figcaption{
	     margin-top: -0.1rem;
	     line-height: 1;		 
    }
	.box .komoji2 figcaption{
	     margin-top: -0.1rem;
	     line-height: 1;		 
    }

    .itemin{
		 padding-top: 0.7rem;
    }
    .komoji{
		 font-size: 0.9rem;
	}
	
/* ----↓----ハンバーガー部分----↓----------------　*/
    input[type="checkbox"] {
	     opacity: 0;
	     visibility: hidden;
	     position: absolute;
    }
    .hamburger {
	     display: block;
	     width: 40px;
	     height: 50px;
	     position: relative;
	     display: flex;
	     justify-content: center;
	     align-items: center;
	     cursor: pointer;
    }
    .hamburger span,
    .hamburger span::before,
    .hamburger span::after {
	     position: absolute;
	     display: block;
	     content: "";
	     width: 100%;
	     height: 3px;
	     background-color: #3079ed;
	     transition: all 0.5s;
    }
    .hamburger span::before {
	     top: -10px;
    }
    .hamburger span::after {
	     bottom: -10px;
    }
    input[type="checkbox"]:checked + .hamburger span {
	     background-color: transparent;
    }
    input[type="checkbox"]:checked + .hamburger span::before {
	     top: 0;
	     transform: rotate(45deg);
    }
    input[type="checkbox"]:checked + .hamburger span::after {
	     transform: rotate(-45deg);
	     bottom: 0;
    }
  
  /* ===============================================
  メニューのスタイリング
  =============================================== */
    .nav {
	     position: fixed;
	     width: 80%;
	     height: 100vh;
	     top: 60px;
	     right: -120%;
	     background-color: #3079ed;
	     color: #fff;
	     padding: 10px 0;
	     transition: all 0.5s;
    }
    .nav__item a {
	     display: block;
	     font-size: 18px;
	     padding: 16px 0 16px 70px;
	     text-transform: uppercase;
	     text-decoration: none;
	     color: #fff;
	     transition: all 0.3s;
    }
    .nav__item a:hover {
	     color: #3079ed;
	     background-color: #fff;
    }
    input[type="checkbox"]:checked ~ .nav {
	     right: 0;
    }
    li {
	     list-style:none;
    }
    .nav ul li:nth-child(6){
	     border-bottom: solid 1.5px #fff; /*枠線・下*/
    }
/* ---↑-----ハンバーガー部分---↑-------------------------　*/
}

@media screen and (max-width: 565px){
    .kategori p{
         font-size: 0.9rem;
    }
}

@media screen and (max-width: 530px){
    .header-logo{
	     width: 128.43px;
	     margin:0.5rem 0 0 0.5rem; 
	}

    .header-copy p{
	     font-size: 0.9rem;
    }
    .header-copy ul{
	     margin-top: -0.3rem;
    }
    .gojyuon{
	     width: 100%;
    }
    .gojyuon p{
	     height: 1.2rem;
	     line-height: 1.2rem;
    }
}

@media screen and (max-width: 500px){
    .address{
	     font-size: 0.7rem;
    }
	.komoji{
		font-size: 0.8rem;
	}
.box figcaption{
	 margin-top: -0.2rem;
}	
.box .komoji figcaption{
	 margin-top: -0.2rem;
}
.box .komoji2 figcaption{
	 margin-top: -0.2rem;
}	
}

@media screen and (max-width: 465px){
    .address{
	     font-size: 0.5rem;
    }
}

@media screen and (max-width: 454px){
	.kategori p{
	     letter-spacing: -0.05rem;
	     font-size:0.9rem; 
	     height: 1.2rem;
	     line-height: 1.2rem;
    }
	.gojyuon p{
	     height: 1.2rem;
	     line-height: 1.2rem;
    }
}

@media screen and (max-width: 448px){
    .header-copy p{
	     font-size: 0.8rem;
    }
}

@media screen and (max-width: 430px){
    .header-copy p{
	     font-size: 0.7rem;
    }
    .komoji{
	     font-size: 0.7rem;
    }
	.box .komoji figcaption{
	     margin-top: 0.1rem;
    }
    .call p{
	 font-size: 0.7rem;
    }	
}

@media screen and (max-width: 415px){
   .address{
	     display: none;
    }
}

@media screen and (max-width: 390px){
   .header-logo{
	     width: 120px;
	     margin-top: 0.7rem;
	}
}

@media screen and (max-width: 383px){
   .header-logo{
	     width: 110px;
	     margin-top: 0.8rem;
	}
	.komoji{
	     font-size: 0.6rem;
}
	div.navbar ul li:nth-child(14) a{
		 letter-spacing:-0.02rem;
		 font-size: 0.9rem;
	}
	.kategori p{
		 font-size: 0.8rem;		
	}
}

@media screen and (max-width: 371px){
    .header-logo{
	     width: 100px;
	}
.call p{
	 font-size: 0.6rem;
}	
}

@media screen and (max-width: 364px){
    .header-logo{
	     width: 90px;
	     margin-top: 0.9rem;
	}
}

@media screen and (max-width: 360px){
	.navbar ul li a{
		 letter-spacing:-0.02rem;
		 font-size: 0.9rem;
	}
	.komoji2{
		font-size:0.7rem ;
	}	
}

@media screen and (max-width: 350px){
    .header-logo{
	     width: 90px;
	}
    .header-copy p{
	     font-size: 0.6rem;
    }	
}

@media screen and (max-width: 340px){
	div.navbar2 ul li:first-child p{
		 letter-spacing:-0.02rem;
		 font-size: 0.9rem;
	}
}

@media screen and (max-width: 337px){
	div.navbar ul li:first-child p{
		 letter-spacing:-0.02rem;
		 font-size: 0.7rem;
	}
	div.navbar ul li:nth-child(4) a{
		 letter-spacing:-0.02rem;
		 font-size: 0.8rem;
	}	
	div.navbar ul li:nth-child(14) a{
		 letter-spacing:-0.02rem;
		 font-size: 0.8rem;
	}

	div.navbar ul li:last-child a{
		 letter-spacing:-0.05rem;
		 font-size: 0.9rem;
	}
}

@media screen and (max-width: 330px){
    .header-logo{
	     width: 80px;
	     margin-top: 1rem;
    }
    .komoji{
	     font-size: 0.5rem;
    }
}

@media screen and (max-width: 319px){
	.navbar ul li a{
		 font-size: 0.8rem;
	}
	.header-copywrap p{
		 font-size: 0.6rem;
	}
	div.navbar ul li:last-child a{
		 letter-spacing:-0.05rem;
		 font-size: 0.8rem;
	}
}