@charset "UTF-8";

/*================================================
 * 各ページCSS
 ================================================*/



/*================================================
 *  ページ専用
 ================================================*/
main a[href^="tel:"] {
  pointer-events: auto;
}
.b{
 font-weight: bold;
}
.font-l{
 font-size: 35px;
}
.font-ll{
 font-size: 42px;
}
.font-lll{
 font-size: 80px;
}
.imgAuto{
 max-width: 100%;
 height: auto;
}
.textColor{
 color:#231815;
}
.linkColor{
 color:#2793DA;
}
#sec_mv {
    width: 100%;
    height: 0;
    padding-top: calc(1182 / 2117 * 100%);
    background: url(../img/mv_back_pc.webp) center center / cover no-repeat;
    position: relative;
    top: 0;
    left: 0;
}
.title_wrap {
    position: absolute;
	top: 0;
	left: 50%;
    transform: translateX(-50%);
    width: 1000px;
    margin: 0 auto;
}
.title_wrap img{width: 100%;}
.w70per{width: 70%;margin: 0 auto;}
.ptb_3per{padding: 3% 0;}
.ptb_5per{padding: 5% 0;}
	
#sec1 .inner{
 max-width: 1200px;
 margin: 0 auto;
 padding: 50px 15px;
background: url("../img/sec1_back_pc.webp") no-repeat center center;
background-size: contain;
}
#sec1 .ttl{
 text-align: center;
 margin-bottom: 0px;
 position: relative;
}
#sec1 .ttl img{width: 60%;}
#sec2-3{
background: url("../img/sec2-3_back_pc.webp") no-repeat top center;
background-size: cover;
}

#sec2 .ttl img{width: 70%;padding-top: 5%;}
#sec2 .inner{
 max-width: 1000px;
 margin: 0 auto;
 padding: 75px 15px 0;
}

#sec3 .ttl img{width: 70%;padding-top: 5%;}
#sec3 .inner{
 max-width: 1000px;
 margin: 0 auto;
 padding: 50px 15px 100px;
}
.faq-item {
  margin-top: 20px;
  width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.faq-question__wrap {
  position: relative;
  background: #ffffff;
  padding: 15px 10px 15px 55px;
  cursor: pointer;
}

.minus-icon {
  position: absolute;
  content: "";
  width: 20px;
  height: 3px;
  background: #b41d24;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.plus-icon {
  position: absolute;
  content: "";
  width: 20px;
  height: 3px;
  background: #b41d24;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
}

.plus-icon.active {
  transform: translateY(-50%);
}

.faq-question__title {
  font-weight: bold;
  color: #000000;
  font-size: 1.2em;
	line-height: 30px;
  position: relative;
  padding-right: 5%;
}


.faq-answer__wrap {
  background: #eee2c2;
  padding: 10px 25px 10px 25px;
  transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
  height: 0;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}
.qmark{line-height: 30px; width: 30px;float: left;margin-right: 1%;}
.faq-answer__wrap.active {
  height: auto;
  padding: 10px 25px 10px 25px;
}
.faq-answer__wrap {
  background: #ffffff;
  opacity: 0;
  padding: 10px 25px 10px 25px;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  transition: ease all 0.7s; /* 擬似要素のトランジションを追加 */
}

.faq-answer__wrap.active {
  opacity: 1;
  padding: 0px 25px 15px 25px;
}

.faq-answer__title {
	border-top: solid 1px #9f8c64;
	padding-top: 1em;
  position: relative;
  font-weight: bold;
  color: #000000;
  font-size: 1.0em;
	text-align: justify;
}

#sec_form .inner{
 max-width: 1000px;
 margin: 0 auto;
 padding: 50px 15px 100px;
}
#sec_form .bottomimg{
 text-align: center;
}
form#mailformpro {
 padding: 0px !important;
 width: 90% !important;
margin-top: 2em !important;
}
#sec_form form input[type="text"],
#sec_form form input[type="date"],
#sec_form form input[type="time"],
#sec_form form input[type="email"],
#sec_form form input[type="tel"]{
 padding: 8px;
 border: solid 1px #999;
 border-radius: 4px;
 width: 96%;
 box-sizing: border-box;
}
#sec_form #formArea{
 margin-top: 50px;
 margin-bottom: 10px;
}
#sec_form form textarea{
 padding: 8px;
 border: solid 1px #999;
 border-radius: 4px;
 width: 100%;
 box-sizing: border-box;
}
#sec_form form .list{
 display: flex;
 max-width: 420px;
 flex-wrap: wrap;
}
#sec_form form .list li{
 width: 200px;
}
#sec_form .privacy{
 margin-top: 30px;
}
.contactlink{
	width: 80%;
	margin: 0 auto;
 text-align: center;
 margin-top: 30px;
}
.contactlink a{
 display: block;
 max-width: 1119px;
 margin: 15px auto;
 transition: opacity .5s;
}
.contactlink a:hover{
 opacity: 0.6;
}
.contactlink a img{
 width: 100%;
 height: auto;
}

#sec4 .ttl img{width: 70%;padding-top: 5%;}
#sec4 .inner{
 max-width: 1200px;
 margin: 0 auto;
 padding: 75px 15px 0;
}

.border_bottom_black{border-bottom: solid 2px #000000;font-weight: bold;padding-bottom: 0.6em;}
.tbonly{display: block;}
.spblock{display: none;}
/*================================================
 *  タブレット向けデザイン
 ================================================*/

@media screen and (max-width:1000px) {
	.spnone{display: none;}
	.sponly{display: block;}
	.tbonly{display: block;}
	nav.g_menu{display: none;}
	.title_wrap {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    margin: 0 auto;
}
	#sec1 .inner {
		max-width: 100%;}
	#sec2 .inner {
		max-width: 100%;}
	#sec3 .inner {
		max-width: 100%;}
	.faq-item {
    width: 100%;}
.contents {
	width: 90%;}
	/*================================================
 *  フッター
 ================================================*/
.foot_logo{width: 70%;float: none;margin-right: 0%;}

.footer-left{width: 90%;float: none;margin-right: 5%;margin-left: 5%;}
.footer-right{display: none;}
.w30per{width:100%;margin-right: 0%;float: left;}
.w30per img{width: 50%;}
.foot_link ul li{display: block;margin-bottom: 2%;font-size: 130%;}
footer {
	clear:both;
	padding:2% 0 2%;
	font-size:14px;
	text-align:left;
}
.syamei{width: 100%;float: none;font-weight: bold;line-height: 2;font-size: 180%;}
.adrees{width: 100%;float: none;font-size: 1rem;letter-spacing: 1;}
.white_box{width: 90%; background-color: #ffffff;padding: 5%;border-radius: 13px;}
.sp_pt30{padding-top: 3%;}
.news_more{width: 80%;}	
.link_btn{height: 60px;}
.mt-5per{margin-top: -5%;}
.sp_pt3per{margin-top: 3%;}
	.footer_tel{width: 48%;float: left;}
	.footer_tel02{width: 34%;float: left;}
	.footer_mail{width: 18%;float: left;}
	.footer_tel img,.footer_mail img,.footer_tel02 img{width: 100%;}
.box-item02, .box-item03-01 {
        width: 100%;
        display: inline-block;
        margin: 0% 0 2%;
        height: auto;
    }
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/

@media screen and (max-width:560px) {
.tbonly{display: none;}
.spblock{display: block;}
.border_bottom_black{border-bottom: solid 2px #000000;font-weight: bold;padding-bottom: 0.6em;}
#sec_mv {
    width: 100%;
    height: 0;
    padding-top: calc(1770 / 1500 * 100%);
    background: url(../img/mv_back_sp.webp) center center / cover no-repeat;
    position: relative;
    top: 0;
    left: 0;
}
.title_wrap {
    position: absolute;
	top: 0;
	left: 50%;
    transform: translateX(-50%);
    width: 100%;
    margin: 0 auto;
}
.w70per{width: 100%;margin: 13% auto;}
#sec1 .inner{
 max-width: 100%;
	height: auto;
 margin: 0 auto;
 padding: 50px 0px 0px;
background: url("../img/sec1_back_sp.webp") no-repeat center center;
background-size: contain;
}
#sec1 .ttl img{width: 90%;}
#sec2-3{
background: none;
background-size: cover;
}

#sec2 .ttl img{width: 90%;padding-top: 5%;}
#sec2 .inner{
 max-width: 100%;
 margin: 0 auto;
 padding: 40px 0px 10px;
background: url("../img/sec2_back_sp.webp") no-repeat top center;
background-size: cover;
}

#sec3 .ttl img{width: 90%;padding-top: 5%;}
#sec3 .inner{
 max-width: 100%;
 margin: 0 auto;
 padding: 0px 0px 40px;
background: url("../img/sec3_back_sp.webp") no-repeat bottom center;
background-size: cover;
}
#sec4 .ttl img{width: 90%;padding-top: 5%;}
#sec4 .inner{
 max-width: 100%;
 margin: 0 auto;
 padding: 30px 0px 0;
}
 #sec_form #formArea{
  margin-top: 25px;
  margin-bottom: 15px;
 }
 #sec_form .inner{
  padding: 5px 15px 50px;
 }
 #sec_form .bottomimg img{
  width: 60px;
  height: auto;
 }	

.contactlink{
	width: 100%;
	margin: 0 auto;
 text-align: center;
 margin-top: 30px;
}
 .sp-dNone{
  display: none;
 }
 .font-l{
  font-size: 15px;
 }
 .font-ll{
  font-size: 16px;
 }
 .font-lll{
  font-size: 20px;
 }

.faq-question__wrap {
  position: relative;
  background: #ffffff;
  padding: 25px 35px 25px 25px;
  cursor: pointer;
}
.faq-item {
  margin-top: 20px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.faq-question__title {
	padding-top: 1%;
	max-height: 80px;
	line-height: 1.4em;
}
.qmark{line-height: 60px; width: 30px;float: left;margin-right: 1%;}
footer {
	clear:both;
	padding:2% 0 22%;
	font-size:14px;
	text-align:left;
}
}
