/* =========================================================
		common
========================================================= */

body{font-family:'Poppins', "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, メイリオ, sans-serif; font-size:16px;line-height:1.6; margin:0;padding:0;min-width:100%;letter-spacing:1.5px;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative; color: #444; font-feature-settings: 'palt' 1; font-weight: 500;}
a{text-decoration: none; color: #1b0000; transition: all .3s;}
.pc-none{display:none !important;}
.sp-none{display:block;}
img{width:100%;} .clear{clear:both;} select::-ms-expand{display:none;}
button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;appearance:none;}
.blue{color:#26a7e1;}
.navy{color: #164a8c;}
.marker{background: linear-gradient(transparent 70%, #f7ee68 0%);}
.font_s{font-size: 0.8em; font-weight: 400;}
.font_b{font-size: 1.15em; line-height: 1.6;}
.font_b2{font-size: 1.4em; line-height: 1.4;}
.flex_l{flex-direction: row-reverse;}

/* =========================================================
		KV
========================================================= */
.kv_area_base{position: relative; background: url("../img/main_bg.webp") top center; background-size: cover; max-width: 1400px; margin: 0 auto;}
.kv_area{padding:0 0 0; max-width: 1000px; width: 92%; margin: 0 auto; height: 440px;}
.kv_area .kv_logo{width: 395px; padding: 67px 0 30px 3.2%;}
.kv__main__txt1 {font-size: 24px; line-height: 1.6; padding-left: 3.5%; letter-spacing: 2px;}
.kv__main__txt1 span{color: #e31e23; font-size: 1.05em; font-weight: 600;}
.kv_icon{position: absolute; width: 155px; right: 1%; top: 3%;}
.kv_maincopy{background: #114786; padding: 15px 0; letter-spacing: 2px;}
.kv_maincopy h3{font-size: 28px; color: #fff; text-align: center;}
.kv_maincopy h3 span{font-size: 1.1em; color: #f7ee68;}
/* =========================================================
		ibj_package
========================================================= */
.contents{width: 92%; max-width: 920px; margin: 0 auto; padding: 45px 0 50px;}
#ibj_package .m_copy1{font-size: 26px; line-height: 1.7; text-align:center; padding-bottom: 20px; font-weight: 500;}
#ibj_package .m_copy2{font-size:30px; line-height: 1.7; text-align:center; color:#114786; position: relative; display: table; margin: 0 auto 45px;
padding-left: 120px;}
#ibj_package .m_copy2 span{border-bottom: 2px solid #114786;}
#ibj_package .m_copy2:before {
    background-image: url("../img/IBJlogo.svg");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 50px;
    left: 0;
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    width: 100px;
}

.pack_point_con{display: flex; justify-content: space-between;}
.pack_point_con .pack_point1{width: 47%; border: 2px solid #114786; background: #fff; position: relative; border-radius: 25px; height: 350px;}
.pack_point_con .pack_point1 .ttl{background: #114786; padding: 12px 0; text-align: center; border-radius: 22px 22px 0 0;}
.pack_point_con .pack_point1 .ttl img{width: 65%; padding-left: 18px;}
.pack_point_con .pack_point1 .price1{width: 92%; margin: 20px auto 15px;}
.pack_point_con .pack_point1 .price1_copy{text-align: center; font-weight: 600; font-size: 17px;}
.pack_point_con .pack_point1 .price1_copy span{font-size: 1.1em; color: #e31e23;letter-spacing: 0; line-height: 1.4;}
.pack_point_con .pack_point1 .price1_att{text-align: center; font-size: 12px; padding-top: 8px;}
.pack_point_con .pack_point1 .point_icon{width: 84px; position: absolute; top: -18px; left: -22px;}

.pack_point_con .pack_point1.line{border: 2px solid #2dad38;}
.pack_point_con .pack_point1.line .ttl{background: #2dad38;}
.pack_point_con .pack_point1.line .line_copy{color: #2dad38; font-size: 24px; line-height: 1.45; text-align: center; padding: 12px 0 12px;}
.pack_point1.line .linemenu{ width: 84%; margin: 0 auto; display: flex; justify-content: space-between;}
.pack_point1.line .linemenu .l_copy{font-size: 17px; line-height: 1.8; width: 55%;}
.pack_point1.line .linemenu .l_copy span{color: #2dad38;}
.pack_point1.line .linemenu .l_menu_pic{width: 43%;}

.pack_sub_copy1{text-align: center; font-size: 22px; line-height: 1.7; padding: 40px 0 25px;}
.pack_sub_copy1 span{font-size: 1.15em; color: #e31e23;}
.pack_sub_ttl{display: flex;
  justify-content: center;
  align-items: flex-end;
  line-height: 1;
font-size: 16px;
margin-bottom: 16px;}
.pack_sub_ttl::before,.pack_sub_ttl::after {
  width: 1px;
  height: 20px;
  content: "";
  background-color: #444;
font-weight: 600;
}

.pack_sub_ttl::before {
  margin-right: 0.9em;
  transform: rotate(-30deg);
}

.pack_sub_ttl::after {
  margin-left: 0.9em;
  transform: rotate(30deg);
}


.pack_link{margin: 0 auto 30px;}
.btn1{border-bottom: 4px solid rgba(0,0,0,0.2);
    display: block;
    padding: 26px 0;
    width:530px;
    text-align: center;
    background: #e31e23;
    color: #FFF;
    text-decoration: none;
	font-size: 20px;
	border-radius: 4em;
	margin: 0 auto;
	font-weight: 600;
	line-height: 1;
	transition: all .3s;
	position: relative;
    }
.pack_link .btn1:after{
	    content: "";
    width: 8px;
    height: 8px;
    border-bottom-style: initial;
    border-left-style: initial;
    border-bottom-color: initial;
    border-left-color: initial;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 7%;
    margin-top: -5px;
    border-width: 2px 2px 0px 0px;
    border-image: initial;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
.btn1:hover{transform: scale(1.03,1.03); filter: brightness(1.10); }


@media screen and (max-width: 960px) {
.pack_point1.line .linemenu .l_copy{font-size: 16px; line-height: 1.7;}
.pack_point1.line .linemenu .l_copy br{display: none;}
.pack_point_con .pack_point1 {height: 320px;}	
}

/* =========================================================
		price
========================================================= */

#price{background: #f3f3f3;}
#price h2 {
    font-size: 26px;
    text-align: center;
    padding-bottom: 30px;
    color: #114786;
}
#price h2 span {
    border-bottom: 2px solid #114786;
}
#price .contents{padding: 45px 0 70px; max-width: 840px;}
.price_area{ background: #fff; border-radius: 25px; padding: 40px 55px 40px; }
.pricemenu_min{margin: 0 0 0 0;font-size: 24px; display: flex; flex-wrap: wrap; align-items: center;}
.pricemenu_min dt {
    font-weight: 500;
    width: 69%;
    font-size: 22px;
	color: #114786;
}
.pricemenu_min dd{width: 30%;}
.pricemenu_min dt span{font-size: 0.9em; letter-spacing: 0;}
.pricemenu_min dd {
    position: relative;
	font-size: 14px;
}
.pricemenu_min dd span{font-weight: 600; font-size: 2.6em; letter-spacing: -1px; line-height: 1;}
.pricemenu_min dd::after {
    content: " ";
    border-top: dotted 1px #aaa;
    position: absolute;
    width: 100px;
    left: -9em;
    top: 50%;
}
.regular_price{font-size: 13px; letter-spacing: 0;}
.price_copy{font-size: 15px;padding: 10px 0 3px;}
.price_att{font-size: 12px;}
.price_con1{margin: 0 auto 25px; padding-bottom: 25px; border-bottom: 1px solid #ccc;}
.years_price{font-size: 13px; padding: 5px 0; line-height: 1.4;}
.years_price span{font-size: 1.5em !important;}
.years_att{font-size: 12px; letter-spacing: 0;}



.price_mcopy{font-size: 22px; font-weight: 500; text-align: center; padding: 40px 0 0;}
.price_mcopy span{font-weight: 600; color: #e31e23; font-size: 1.1em;}
/* =========================================================
		contact
========================================================= */
#contact{text-align: center; padding-bottom: 30px;}
#contact h2{font-size: 26px; text-align: center; padding-bottom: 40px; color: #114786;}
#contact h2 span {border-bottom: 2px solid #114786;}

.contact_txt1{font-size: 18px; font-weight: 600; padding-bottom:10px}
.contact_txt2{font-size: 16px; padding-bottom:10px}


.faq_link a{display: block;
    padding: 18px 0 18px 28px;;
    width: 170px;
    text-align: center;
    background: #333;
    color: #FFF;
    text-decoration: none;
	font-size: 22px;
	border-radius: 4em;
	margin: 0 auto;
	font-weight: 600;
	line-height: 1;
	transition: all .3s;
	position: relative;}

.faq_link a:before{
	    background-image: url(../img/faq_icon.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 23px;
    left: 53px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
	
}
.faq_link a:hover{filter: brightness(1.6);}
.ibj_link{margin-bottom: 35px;}
.ibj_link a{background: #164a8c; border-bottom: 4px solid rgba(0,0,0,0.5); padding-left: 80px; width: 450px;}
.ibj_link a:before{
	    background-image: url("../img/ibj_logo_w.svg");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 39px;
    left: 80px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
	
}


.preparation{font-size: 45px; text-align: center; margin: 120px auto 100px;}
.preparation_link a{width: 300px; margin-bottom: 200px; padding: 20px 0;}
.preparation_link a:before{display: none;}

/*========- footer ================*/
footer{background: #333; padding: 40px 0 45px; color: #fff;}
.footer_inner{max-width: 940px; width: 90%; margin: 0 auto; display: flex; justify-content: space-between;}
.footer_txt{font-size: 12px; line-height: 1.4;}
.footer_inner .f_logo{width: 120px;}

.copyr{font-size: 12px; text-align: center; letter-spacing: 0; padding-top: 45px;}
