@charset "utf-8";
/*@font-face{
	font-family: "TanukiM";
	src:url("TanukiMagic.woff2")format("woff2");
}*/

body{
font-family: /*-apple-system, BlinkMacSystemFont, verdana,
 "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, Sans-Serif; */
 -apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}
/*.header-copywrap p{
	font-family: "";
}*/

*{
	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;
	 height: 100vh;
}

.wrap{
	 background: white;
	 display: flex;
     flex-direction: column;
	 min-height: 100vh;	 
}

.headerpc{
	 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;
}

.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;	
}

.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;
}

.main{
	 background: #F2F2F2;
	 padding-top: 1em;
	 padding-bottom: 1em;
}
.main1{
	display: flex;
	flex-direction: row;
	justify-content: center;
	 flex-wrap: wrap;
	 width: 100%;	
	 background: #F2F2F2;
}
.box1{
	flex-basis:auto;
	/*background-color: aqua;*/
}

.box2 {
  flex-basis:28%;	
 /* position: relative;*/
 /* padding-top: 56.25%;*/ /* 16:9 */
 /*background-color: aquamarine;*/
}
.box2 img{
	width: 100%;
}

.box3{
	flex-basis:1%;
	/*background-color: bisque;*/
}
.box4{
	flex-basis:1%;
	/*background-color: blueviolet;*/
}
.box5 {
  flex-basis:28%;	
  /*position: relative;*/
 /* padding-top: 56.25%;*/ /* 16:9 */
 /*background-color: chartreuse;*/
}
.box5 img{
	width: 100%;
}

.box6{
	flex-basis:1%;
	/*background-color: chocolate;*/
}
.box7{
	flex-basis:1%;
	/*background-color: darkgoldenrod;*/
}
.box8 {
  flex-basis:28%;	
 /* position: relative;*/
 /* padding-top: 56.25%;*/ /* 16:9 */
/* background-color: darkolivegreen;*/
}
.box8 img{
	width: 100%;
}

.box9{
	flex-basis:auto;
	/*background-color: deeppink;*/
}
.main2{
	display: flex;
	flex-direction: row;
	justify-content: center;
	 flex-wrap: nowrap;
	 width: 100%;	
	 background: #F2F2F2;
	 margin-top: 1rem;
}
.box10{
	flex-basis:12%;
	/*background-color: gold;*/
}
.box11 {
  flex-basis:10%;	
  position: relative;
  /*padding-top: 56.25%;*/ /* 16:9 */
  /*background-color: mediumorchid;*/
}
.box11 ul li{
	 font-size: 0.8rem;
	 list-style:none;
	 white-space: nowrap;
	 letter-spacing: 0em;
}

.box11 ul li div{
    /* display: inline;*/
}

.box12 {
  flex-basis:50%;	
  position: relative;
  /*padding-top: 56.25%;*/ /* 16:9 */
  /*background-color: rgb(211, 85, 85);*/
}
.box12 ul li{
	 font-size: 0.8rem;
	 list-style:none;
	 white-space: nowrap;
	 letter-spacing: 0em;
}

.box12 ul li div{
     /*display: inline;*/
}

.box13{
	flex-basis:auto;
	/*background-color: yellowgreen;*/
}

.footerpc{
	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;
	justify-content: center;
	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 (min-width: 768px){
}
/*---↑---PC向け画面サイズ---↑---*/
/*スマホ向け*/
/*---↓---タブレット向け画面サイズ---↓---*/
@media screen and (max-width: 768px){
	.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;
	}

	.endbun ul li{
		font-size: 0.8rem;
		list-style:none;
	}
	.endbun ul li:nth-child(1){
		font-size: 1.2rem;
		font-weight: bold;
		}
	.header{
		max-width: 768px;
	}
}

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

/*---↓---スマホ向け画面サイズW667 画面サイズ---↓---*/
@media screen and (max-width: 667.9px){	
	.headerpc{
	  display: none;
	}
	
    .footerpc{
	  display: none;
    }
    .spfooterue{
	   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;			
    }
	.borderline{
		display: none;
	}
	.border{
		flex-grow:0;
	}
    .info{
		display: none;
    }
    .box1{
	    flex-basis:auto;
    }

    .box2 {
      flex-basis:70%;	
      position: relative;
    }

    .box3{
	    flex-basis:auto;
    }
    .box4{
	    flex-basis:auto;
    }
    .box5 {
        flex-basis:70%;	
        position: relative;
    }

    .box6{
	    flex-basis:auto;
    }
    .box7{
	    flex-basis:auto;
    }
    .box8{
        flex-basis:70%;	
        position: relative;
    }

    .box9{
	    flex-basis:auto;
    }	
.box10{
	flex-basis:3%;
}	
/* ----↓----ハンバーガー部分----↓----*/
    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;
	z-index: 1;
    }
  .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; /*枠線・下*/
}
/* ---↑-----ハンバーガー部分---↑-----　*/
}
/*------------↑---W667 画面サイズ---↑------------*/

@media screen and (max-width: 565px){
	.endbun ul li{
		font-size: 0.7rem;
		list-style:none;
	}
	.endbun ul li:nth-child(1){
		font-size: 1rem;
		font-weight: bold;
		}
    .kategori p{
        font-size: 0.9rem;
    }
}

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

    .header-copy p{
	    font-size: 0.9rem;
    }
    .header-copy ul{
	    margin-top: -0.3rem;
    }
}

@media screen and (max-width: 500px){
    .address{
	    font-size: 0.7rem;
    }
    .endbun ul li{
	    font-size: 0.7rem;
	    list-style:none;
    }
}

@media screen and (max-width: 482px){
   .endgazo img{
	   width: 70%;
	   overflow: hidden;
	   transition: all 0.2s;
	   align-items: center;
    }
}
@media screen and (max-width: 465px){
    .address{
	    font-size: 0.5rem;
    }
}

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

@media screen and (max-width: 454px){
	.kategori p{
	    letter-spacing: -0.05rem;
	    font-size:0.9rem; 
	    height: 1.2rem;
	    line-height: 1.2rem;
    }
.box11 ul li{
	 font-size: 0.7rem;
}
.box12 ul li{
	 font-size: 0.7rem;
}	
}
@media screen and (max-width: 430px){
    .header-copy p{
	    font-size: 0.7rem;
    }
}

@media screen and (max-width: 415px){
    .footer-tel1{
	   font-size: 0.8rem;
    }
    .footer-tel2{
	   font-size: 0.7rem;
    }
    .spfooter-mail{
	    padding-top: 0.8rem;
	    font-size: 1.1rem;
    }
    .address{
	    font-size: 0.4rem;
    }
}
@media screen and (max-width: 400px){
.box11 ul li{
	 font-size: 0.6rem;
}
.box12 ul li{
	 font-size: 0.6rem;
}
}

@media screen and (max-width: 390px){
    .header-logo{
	    width: 120px;
	    margin-top: 0.7rem;	
	}
	.endbun ul li{
		font-size: 0.6rem;
		list-style:none;
	}	
}

@media screen and (max-width: 383px){
    .header-logo{
	    width: 110px;
	    margin-top: 0.8rem;	
	}

	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;
	}	
}

@media screen and (max-width: 367px){
	}
@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;
	}
    .spfooter-tel{
	    font-size: 0.9rem;
    }

    .footer-tel1{
	    font-size: 0.7rem;
    }
    .footer-tel2{
	    font-size: 0.6rem;
    }

    .spfooter-mail{
	    font-size: 1rem;
    }

    .spfooter-form{
	    font-size: 0.9rem;
    }
    .footer-form{
	    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: 345px){
.box11 ul li{
	 font-size: 0.5rem;
}
.box12 ul li{
	 font-size: 0.5rem;
}
}
@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.6rem;
	}
}
@media screen and (max-width: 330px){
    .header-logo{
	   width: 80px;
	   margin-top: 1rem;	
	}	
    .spfooter-tel{
	   font-size: 0.8rem;
    }

    .footer-tel1{
	   font-size: 0.6rem;
    }
    .footer-tel2{
	   font-size: 0.5rem;
    }
    .spfooter-mail{
	   font-size: 0.9rem;
    }
    .address{
	   font-size: 0.3rem;
    }
    .spfooter-form{
	   font-size: 0.8rem;
    }
    .footer-form{
	   font-size: 0.6rem;
    }
}

@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;
	}
}