@charset "UTF-8";
/* Scss Document */
/*color*/
/*font*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400&display=swap");
@font-face { font-family: 'avenir next', sans-serif; font-style: normal; font-weight: 600; src: url("../fonts/AvenirNext-DemiBold-03.ttf") format("truetype"); }
@font-face { font-family: 'avenir next', sans-serif; font-style: normal; font-weight: 400; src: url("../fonts/AvenirNext-Regular-08.ttf") format("truetype"); }
/*layout*/
html { width: 100% !important; min-height: 100% !important; margin: 0px; padding: 0px; min-width: 1220px; overflow-x: clip; }

body { width: 100% !important; min-height: 100% !important; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; /*本番用*/ min-width: 1220px !important; overflow-x: clip; zoom: 100%; }
body.not_min-width { min-width: 0 !important; }

/*----------------------------------------------------
	楽天パーツ
----------------------------------------------------*/
.rt-header { z-index: 0; }

#htlContents { position: relative; max-width: 2000px; margin-left: auto; margin-right: auto; }
#htlContents.single-column { width: 100% !important; }
#htlContents .hometown-tax__container { margin: 0px auto !important; min-width: 1190px !important; width: 1190px !important; float: none !important; display: block !important; }
#htlContents ._attention__outermost-wrapper_grgv0_1 { max-width: 1190px; min-width: 1190px; margin: 0px auto !important; }
#htlContents #htlBrdCrmbs { margin: 0 auto; max-width: 1190px; width: calc(100% - 30px); }
#htlContents #htlHeader { margin: 0 auto; max-width: 1190px; width: calc(100% - 30px); }

#htlMainContent { width: 100% !important; float: none; margin-left: auto; margin-right: auto; }
#htlMainContent > div:first-child { margin: 0 auto; max-width: 1190px; width: calc(100% - 30px); }

div#RthCustomizeW { clear: both; width: 100%; margin: 0 auto 10px auto; padding: 0; }

#widewrapper { width: 100%; }

/*左カラム*/
#htlSide-A { width: 100%; max-width: 1650px; min-width: 1190px; margin: 0 auto; float: none; display: block; position: relative; z-index: 5; }

#htlRmSrch { margin-top: 0px; position: absolute; left: 20px; z-index: 1000; top: 1020px; }

#upfrntPlans { position: absolute; left: 20px; top: 1875px; }

#htlSide-A #latest_cstm_review { position: absolute; left: 20px; top: 1690px !important; }

#htlSide-A .module-history-domsearch { position: absolute; left: 20px; text-align: left; display: none; }

/*----------------------------------------------------
	全体
----------------------------------------------------*/
.all { font-family: "Noto Sans JP", "HiraKakuProN-W3", "HiraKakuProN-W6", sans-serif; zoom: 100%; width: 100%; font-size: 16px; min-width: 1190px; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; /* Safari */ }
.all:after { content: ''; display: block; clear: both; }
.all * { box-sizing: border-box; }
.all img { max-width: 100%; }

.ovh { overflow: hidden; }

.jp { font-family: "Noto Sans JP", sans-serif; }

.en { font-family: "avenir next", sans-serif; }

.f_sans { font-family: "Noto Sans JP", sans-serif; font-weight: 500; }

.lhc::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.875) * .5em); content: ""; }
.lhc::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.875) * .5em); content: ""; }

#contents { position: relative; }

.wrp { width: 1190px; margin-left: auto; margin-right: auto; }

.lrg_cnt { width: 1780px; margin-left: -295px; }
.lrg_cnt > iframe { width: 100%; }

.wrp.pd { padding-left: 10px; padding-right: 10px; }

.cf:after { content: ''; display: block; clear: both; }

.flex { display: flex; }
.flex.reverse { flex-direction: row-reverse; }

/*----------------------------------------------------
	リンク
----------------------------------------------------*/
.all a { cursor: pointer; color: #414042; text-decoration: none; }
.all a:hover img { opacity: 0.6; }

.all h2, .all h3, .all h4, .all h5 { color: #414042; font-weight: normal; }
.all p { color: #414042; font-family: "Noto Sans JP", "HiraKakuProN-W3", "HiraKakuProN-W6", sans-serif; font-size: 16px; line-height: 1.875; }

.btn_arw { background-color: #211551; border: 1px solid #211551; color: #fff !important; width: 260px; height: 40px; display: inline-flex; justify-content: center; align-items: center; position: relative; text-decoration: none; transition: all 0.5s; font-family: "Noto Sans JP", sans-serif; }
.btn_arw.en { font-family: "avenir next", sans-serif; font-weight: 500; }
.btn_arw:after { content: ''; display: block; display: inline-block; width: 15px; height: 1px; background-color: #fff; transition: all 0.5s; position: absolute; right: 0; top: 50%; }
.btn_arw:hover { background-color: #fff; color: #211551 !important; }
.btn_arw:hover:after { background-color: #211551; }
.btn_arw .jp { font-weight: 200; }

.p_link { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; margin-top: 120px; max-width: 950px; margin-left: auto; margin-right: auto; }
.p_link li { flex: 1; width: 100%; min-height: 50px; margin-left: -1px; position: relative; }
.p_link li:after { content: ''; display: block; height: 50px; width: 1px; background-color: #bbbdbf; top: 0; bottom: 0; margin-left: auto; margin-right: auto; position: absolute; right: 0; }
.p_link li:first-child { margin-left: 0; }
.p_link li:first-child:before { content: ''; display: block; height: 50px; width: 1px; background-color: #bbbdbf; top: 0; bottom: 0; margin-left: auto; margin-right: auto; position: absolute; left: 0; }
.p_link li a { display: flex; justify-content: center; align-items: center; flex-direction: column; text-align: center; height: 100%; width: 100%; padding-left: 10px; padding-right: 10px; color: #414042; position: relative; font-size: 15px; font-weight: 700; line-height: 2; font-family: "avenir next", sans-serif; overflow: visible; }
.p_link li a::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.p_link li a::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }
.p_link li a span { display: block; }
.p_link li a span.l::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.p_link li a span.l::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }
.p_link li a span.s { margin-top: 5px; font-size: 13px; line-height: 1.4; font-weight: 400; }
.p_link li a span.s::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.4) * .5em); content: ""; }
.p_link li a span.s::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.4) * .5em); content: ""; }
.p_link li a:after { content: ''; display: block; width: 7px; height: 7px; border-right: 1px solid #414042; border-bottom: 1px solid #414042; transform: rotate(45deg) translateX(-50%); margin-left: auto; margin-right: auto; transition: .5s; position: absolute; bottom: 10px; left: 50%; }
.p_link li a:hover { color: #414042; }
.p_link li a:hover:after { bottom: 0; }
#ro_lead .p_link { flex-wrap: nowrap; align-items: flex-start; padding: 0 25px; }
#ro_lead .p_link li { flex-shrink: 0; flex-grow: 0; width: 22.3684210526%; margin-left: 3.5087719298%; }
#ro_lead .p_link li:first-child { margin-left: 0; }
#ro_lead .p_link a img { display: block; width: 100%; }
#ro_lead .p_link a > span { display: block; margin-top: 10px; text-align: center; font-style: normal; font-size: 15px; letter-spacing: -.1em; line-height: 1.4; /*span{
	@media (max-width:1400px){
		font-size: 23/1400*100vw;
	}
	&.slush{
		@media (max-width:1400px){
			font-size: 25/1400*100vw;
		}
	}
}*/ }
@media (max-width: 1500px) and (min-width: 1401px) { #ro_lead .p_link a > span { font-size: 0.9333333333vw; } }
@media (max-width: 1400px) { #ro_lead .p_link a > span { font-size: 1.0714285714vw; } }

/*----------------------------------------------------
	ro_link
----------------------------------------------------*/
.link_box .ro_link { margin-bottom: 50px; display: grid; grid-template-columns: 1fr 1fr 1fr; justify-content: center; align-items: flex-start; flex-wrap: wrap; column-gap: 22px; row-gap: 30px; padding-right: 20px; padding-left: 20px; margin-left: auto; margin-right: auto; max-width: 890px; }
.link_box .ro_link li { height: auto; border-right: none; }
.link_box .ro_link li:first-child { margin-left: 0; border-left: none; }
.link_box .ro_link li:nth-child(4n+1) { margin-left: 0; }
.link_box .ro_link li:nth-of-type(-n+4) { margin-top: 0; }
.link_box .ro_link li a { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-direction: column; display: flex; padding-left: 0; padding-right: 0; font-size: 16px; line-height: 1.625; color: #414042; font-family: "Noto Sans JP", sans-serif; margin-top: 10px; }
.link_box .ro_link li a span { position: relative; width: 100%; text-align: center; letter-spacing: -0.02em; margin-top: 10px; }

.i_link_cont { margin-top: 150px; }
.i_link_cont h3 { margin-bottom: 50px; text-align: center; }

.i_link { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
.i_link li { flex-basis: 440px; max-width: 440px; flex-grow: 0; flex-shrink: 0; margin-left: 30px; }
.i_link li:nth-child(2n+1) { margin-left: 0; }
.i_link li a { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; width: 100%; }
.i_link li a .img { flex-basis: 250px; max-width: 250px; flex-grow: 0; flex-shrink: 0; }
.i_link li a .txt { flex-basis: calc(100% - 250px); max-width: calc(100% - 250px); flex-grow: 0; flex-shrink: 0; border: 1px solid #bbbdbf; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; position: relative; }
.i_link li a .txt:after { content: ''; display: block; width: 15px; height: 6px; background: url("../com/pl_arrow.png") center center/contain no-repeat; position: absolute; margin-left: auto; margin-right: auto; left: 0; right: 0; bottom: 20px; transition: all 0.5s; }
.i_link li a:hover .txt:after { transform: translateY(7px); }

/*----------------------------------------------------
	画像
----------------------------------------------------*/
img { border: 0; margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px; vertical-align: bottom; /* [disabled]margin: 0px 0px 0px 0px; */ }

/*----------------------------------------------------
	段落
----------------------------------------------------*/
body p a:link { font-size: 16px; line-height: 1.875; }

body p a:hover { font-size: 16px; line-height: 1.875; }

body p a:visited { font-size: 16px; line-height: 1.875; }

body p a:hover, body p a:active { font-size: 16px; line-height: 1.875; }

/*----------------------------------------------------
	メインコンテンツ
----------------------------------------------------*/
#main:after { content: "."; display: block; clear: both; height: 0; max-height: 0; visibility: hidden; }

.cont01 { padding-top: 70px; padding-bottom: 70px; }
header.large + .cont01 { padding-top: 0; }

.cont02 { padding-top: 50px; padding-bottom: 50px; }
.column + .cont02 { padding-top: 100px; }
header.large + .cont02 { margin-top: -60px; }

/*----------------------------------------------------
	メインビジュアル
----------------------------------------------------*/
#mv { width: 1190px; margin-left: auto; margin-right: auto; position: relative; }
#mv h2 { width: 100%; color: #FFF; text-shadow: 0 0 10px #000; text-align: center; position: absolute; top: 50%; left: 0; transform: translateY(-50%); font-size: 30px; }
#mv h2 span { font-size: 15px; margin-top: 10px; display: block; }
#mv .mv_img { width: 2000px; margin-left: -405px; }

.mv-panel { position: relative; }
.mv-panel #header { position: absolute; margin-top: -40px; margin-bottom: 0; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.mv-panel #gnav { margin-top: -150px; }

/*----------------------------------------------------
	#header
----------------------------------------------------*/
#header { margin-top: 40px; margin-bottom: 40px; text-align: center; }

/*----------------------------------------------------
	#nav-set	ナビ 検索　セット
----------------------------------------------------*/
#nav-set { display: flex; align-items: flex-end; justify-content: space-between; width: 1190px; margin-left: auto; margin-right: auto; margin-top: -30px; position: relative; z-index: 1; }

/*----------------------------------------------------
	#gnav	ナビ
----------------------------------------------------*/
#gnav { margin-top: 30px; margin-bottom: 75px; display: flex; align-items: stretch; justify-content: center; width: 1190px; margin-left: auto; margin-right: auto; }
#gnav ul { display: flex; justify-content: center; align-items: center; flex-grow: 0; }
#gnav ul li + li { margin-left: 80px; }
#gnav ul li a { display: flex; text-align: center; width: 100%; height: 100%; flex-direction: column; align-items: center; justify-content: center; position: relative; color: #fff; font-weight: 300; font-size: 20px; line-height: 1; }
#gnav ul li a:after { content: ''; display: block; width: 5px; height: 5px; position: absolute; bottom: 0; left: 0; right: 0; margin-left: auto; margin-right: auto; background-color: #fff; border-radius: 50%; opacity: 0; transition: all .5s; }
#gnav ul li a:hover:after { bottom: -10px; opacity: 1; transition: all 0.3s ease; }
#gnav ul li a .en { font-size: 14px; color: #fff; margin-top: 10px; line-height: 1; font-weight: 400; }

/*----------------------------------------------------
	検索
----------------------------------------------------*/
#search { margin-left: -405px; }
#search iframe { width: calc(950px + 13px); margin-top: -140px; height: calc(120px + 140px + 13px); height: calc(120px + 140px + 13px); }

#search_bottom iframe { width: 100%; height: calc(385px - (16.8px + 5px) + 170px); }

/*----------------------------------------------------
	右固定
----------------------------------------------------*/
#right_fixed { position: fixed; right: 25px; bottom: 275px; z-index: 3; }
#right_fixed .c-link { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 140px; height: 140px; border-radius: 50%; background-color: #211551; color: #fff; text-decoration: none; border: 1px solid transparent; text-align: center; font-size: 14px; line-height: 1.2; transition: all 0.5s; }
#right_fixed .c-link:hover { background-color: transparent; color: #211551; border-color: #211551; }
#right_fixed .c-link span { display: block; }
#right_fixed .c-link span.en { font-family: "avenir next", sans-serif; font-weight: 400; font-size: 28px; }
#right_fixed .c-link span.ja { font-size: 16px; }

/*----------------------------------------------------
	共通ヘッダー
----------------------------------------------------*/
.tit01 { /*margin-bottom: 40px;ラインハイト分つめたため*/ margin-bottom: 22px; text-align: center; font-size: 30px; font-weight: normal; line-height: 1.5; }
.tit01 h3 { font-size: 40px; font-weight: 500; font-style: normal; line-height: 1.5; }
.tit01.yellow h3:before { display: none; }
.tit01.yellow h3:first-letter { font-size: 55px; line-height: 1.4545454545; color: #ffcb43; }

.tit02 { font-size: 25px; font-family: "Noto Sans JP", "HiraKakuProN-W3", "HiraKakuProN-W6", sans-serif; line-height: 1.5; }
.boxes > div > .tit02:first-child { padding: 0 20px; }

.tit03 { font-size: 20px; font-family: "Noto Sans JP", "HiraKakuProN-W3", "HiraKakuProN-W6", sans-serif; line-height: 1.5; }
.boxes > div > .tit03:first-child { padding: 0 20px; }

.tit01-e { font-size: 20px; font-family: "avenir next", sans-serif; line-height: 1; font-weight: 400 !important; }

.titbox { margin-bottom: 40px; }
.titbox .tit02 { margin-top: 15px; }
.titbox .tit01-e { color: #211551; }

header.middle { margin-bottom: 20px; font-family: "avenir next", sans-serif; text-align: center; }
header.middle h3 { font-size: 50px; line-height: 1; letter-spacing: -.01em; font-weight: 200; }
header.middle h3 span { font-style: italic; font-size: 56px; }

header.small { margin-bottom: 40px; font-family: "avenir next", sans-serif; text-align: center; }
header.small h3 { font-size: 40px; line-height: 1; letter-spacing: -.01em; font-weight: 200; }
header.small h3 span { font-style: italic; font-size: 46px; }

/*----------------------------------------------------
	見出し単品
----------------------------------------------------*/
.tit03 span { display: inline-block; vertical-align: middle; }
.tit03 .en { font-size: 25px; font-family: "avenir next", sans-serif; font-weight: bold; line-height: 1.2; overflow: visible; }
.tit03 .en::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.2) * .5em); content: ""; }
.tit03 .en::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.2) * .5em); content: ""; }
.tit03 .en + .jp { margin-left: 25px; }
.tit03 .jp { color: #bbbdbf; font-weight: normal; font-size: 16px; }

/*----------------------------------------------------
	中ページフォーマット
----------------------------------------------------*/
.r_cont { width: 1190px; margin: 0 auto; }
.r_cont:last-of-type { padding-bottom: 0; }
.r_cont iframe { width: 1190px; height: 668px; }
.r_cont .dots-arrows { position: absolute; top: 100%; right: 0; }
.r_cont .flex { margin-top: 20px; }
.r_cont .flex p { width: 790px; padding-right: 30px; }
.r_cont .flex .detail { font-size: 16px; line-height: 1.5; width: 365px; padding-left: 30px; border-left: 1px solid #414042; }
.r_cont .flex .detail > div { display: flex; flex-wrap: wrap; flex-grow: 1; }
.r_cont .flex .detail > div + div { margin-top: 15px; }
.r_cont .flex .detail dt { width: 170px; margin-right: 1em; position: relative; padding-right: 1em; line-height: 1.5; margin-top: 15px; color: #414042; }
.r_cont .flex .detail dt::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.5) * .5em); content: ""; }
.r_cont .flex .detail dt::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.5) * .5em); content: ""; }
.r_cont .flex .detail dt:first-child { margin-top: 0; }
.r_cont .flex .detail dd { color: #414042; width: calc(100% - 170px - 1em); line-height: 1.5; margin-top: 15px; }
.r_cont .flex .detail dd::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.5) * .5em); content: ""; }
.r_cont .flex .detail dd::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.5) * .5em); content: ""; }
.r_cont .flex .detail dd:first-of-type { margin-top: 0; }
.r_cont .text { width: 1190px; padding-left: 20px; padding-right: 20px; margin: 0 auto; }
.r_cont .text .tit02 { margin-top: 30px; line-height: 1; }
.r_cont .text .tit02 span { display: block; margin-bottom: 10px; }
.r_cont .btns { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; gap: 40px; justify-content: center; margin-top: 60px; }
.r_cont .btns .btn_arw { margin-top: 0 !important; }
.r_cont .btn_arw { margin-top: 60px; }
.r_cont .panel-flex { display: flex; gap: 50px; margin-top: 30px; width: 1000px; justify-content: center; margin: 30px auto 0; }
.r_cont .panel-flex .text { width: 850px; margin: 0; }
.r_cont .panel-flex .text .tit02 { margin-top: 0; }
.r_cont .box { display: grid; gap: 60px 30px; }
.r_cont .box.box03 { grid-template-columns: 1fr 1fr 1fr; }
.r_cont .box.box02 { grid-template-columns: 1fr 1fr; gap: 60px 40px; }
.r_cont .box.wrp { padding-left: 20px; padding-right: 20px; }
.r_cont .box .tit02 { margin-top: 20px; font-size: 20px; }
.r_cont .box p { margin-top: 10px; }

.lr-flex { display: flex; gap: 60px; justify-content: center; }
.lr-flex.right { flex-direction: row-reverse; }
.lr-flex .img { width: 620px; }
.lr-flex .text { margin-top: 40px; width: 485px; }

.lr-flex + .lr-flex { margin-top: 60px; }

.icon-box { background-color: #e8e5de; padding-top: 80px; padding-bottom: 80px; margin-top: 140px; }
.icon-box .box { display: grid; gap: 40px; }
.icon-box .box.box03 { grid-template-columns: 1fr 1fr 1fr; }
.icon-box .box img { display: block; margin-left: auto; margin-right: auto; }
.icon-box .box .tit02 { text-align: center; margin-top: 20px; }
.icon-box .box p { margin-top: 20px; }

/*----------------------------------------------------
	カラム配置箇所
----------------------------------------------------*/
.column { width: 100%; max-width: 1650px; margin-left: auto; margin-right: auto; padding-left: 230px; padding-right: 230px; }
@media (max-width: 1650px) { .column { padding-right: 0; margin-left: 0; } }
.column .wrp { padding-left: 20px; padding-right: 20px; }
@media (max-width: 1650px) { .column .wrp { max-width: 100%; margin-left: 0; padding-right: 0; } }

/*----------------------------------------------------
	導入
----------------------------------------------------*/
.lead_bg { padding-top: 130px; padding-bottom: 150px; position: relative; }
.lead_bg::before { content: ''; background: url(../com/n-bg01.png) no-repeat; background-size: contain; width: 815px; height: 1226px; position: absolute; top: 40px; right: 0; z-index: -1; }
.lead_bg #lead { position: relative; }
.lead_bg #lead .illust { position: absolute; bottom: -80px; left: 35px; }
.lead_bg #lead p::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.875) * .5em); content: ""; }
.lead_bg #lead p::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.875) * .5em); content: ""; }
.lead_bg #lead .flex .img { width: 750px; margin-right: -265px; }
.lead_bg #lead .flex .text_box { width: 40.3361344538%; padding-right: 4.2016806723%; padding-top: 30px; }
.lead_bg #lead .flex .text_box p { margin-bottom: auto; }
.lead_bg #lead .b-flex { display: flex; justify-content: center; }
.lead_bg #lead .b-flex > div:first-child { margin-right: 40px; margin-top: -65px; }
.lead_bg #lead .b-flex > div:last-child { margin-top: 90px; margin-left: 18px; }

.illust-bg02 { position: relative; }
.illust-bg02::before { content: ''; background: url(../com/n-bg02.png) no-repeat; background-size: contain; width: 679px; height: 1019px; position: absolute; top: 0px; left: 0; z-index: -1; }

.illust-bg03 { position: relative; }
.illust-bg03::before { content: ''; background: url(../com/n-bg03.png) no-repeat; background-size: contain; width: 601px; height: 897px; position: absolute; top: 0px; right: 0; z-index: -1; }

/*----------------------------------------------------
	左右
----------------------------------------------------*/
.cont_lr { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; align-items: center; }
.cont_lr.img_r .text { order: 1; }
.cont_lr.img_r figure { order: 2; }

.text_lr { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; }
.text_lr > div { flex-grow: 0; flex-shrink: 0; }
.text_lr .text { flex-basis: 700px; max-width: 700px; margin-left: 10px; }
.text_lr .detail { flex-basis: 420px; margin-right: 10px; }

/*----------------------------------------------------
	横並びBOX
----------------------------------------------------*/
.boxes { display: flex; flex-wrap: wrap; margin-left: -30px; margin-top: -50px; }
.boxes + .boxes { margin-top: 50px; }
.boxes > div { padding-left: 30px; margin-top: 50px; }
.boxes > div img { display: block; }
.boxes > div .text { margin-top: 20px; padding: 0 20px; }
.boxes > div .text h4 { font-size: 15px; font-weight: 500; line-height: 2; }
.boxes > div .text h4::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.boxes > div .text h4::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }
.boxes > div .text h4.en { font-family: "avenir next", sans-serif; font-size: 18px; font-weight: 700; line-height: 1.6666666667; }
.boxes > div .text h4.en::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.6666666667) * .5em); content: ""; }
.boxes > div .text h4.en::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.6666666667) * .5em); content: ""; }
.boxes > div .text h4 + p { margin-top: 10px; }
.boxes > div .text p { padding-bottom: 10px; }
.boxes > div .text p::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.875) * .5em); content: ""; }
.boxes > div .text p::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.875) * .5em); content: ""; }
.boxes.box2 { margin-left: -50px; margin-top: -33px; }
.boxes.box2 > div { width: 50%; padding-left: 50px; margin-top: 33px; }
.boxes.box2 > div .text { margin-top: 18px; }
.boxes.box3 > div { width: calc(100% / 3.001); }
.boxes.box4 > div { width: 25%; }
.boxes.box4 > div .text { padding: 0 0; }

.panel_grid { display: grid; gap: 50px; width: 1000px; margin: 0 auto; }
.panel_grid.grid4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
.panel_grid.grid3 { grid-template-columns: 1fr 1fr 1fr; }
.panel_grid.grid2 { grid-template-columns: 1fr 1fr; }
.panel_grid .text { margin-top: 20px; }
.panel_grid .text .tit02 { margin-bottom: 20px; font-size: 20px; }

/*----------------------------------------------------
	共通box
----------------------------------------------------*/
.text_box p { margin-top: 30px; }
.text_box .btn_arw { margin-top: 60px; }

/*----------------------------------------------------
	詳細リスト
----------------------------------------------------*/
.spec { border-left: 1px solid #414042; padding-left: 10px; margin-top: 35px; overflow: hidden; }
.spec li { line-height: 1.875; }
.spec li::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.875) * .5em); content: ""; }
.spec li::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.875) * .5em); content: ""; }
.spec li + li { margin-top: 8px; }
.spec li.show-bottom { padding-bottom: 0.3em; }

.detail .tit { width: 100%; margin-bottom: 20px; position: relative; }
.detail .tit span { display: inline-block; background-color: #FFF; padding-right: 10px; font-size: 16px; font-weight: bold; }
.detail .tit span:before { position: relative; content: ''; display: inline-block; vertical-align: middle; width: 15px; height: 1px; background-color: #e4ae00; margin-right: 5px; }
.detail .tit::before { content: ''; display: block; width: 100%; height: 1px; margin-right: 10px; background-color: #d4d4d4; position: absolute; left: 0; top: 50%; z-index: -1; }
.detail dl { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; font-family: "Noto Sans JP", sans-serif; flex-grow: 1; font-size: 16px; line-height: 1.875; padding-left: 20px; }
.detail dl dt { flex-basis: 120px; max-width: 120px; margin-right: 1em; position: relative; padding-right: 1em; }
.detail dl dd { flex-basis: calc(100% - 120px - 1em); max-width: calc(100% - 120px - 1em); }
.detail p:not(.tit) { padding-left: 20px; }

/*----------------------------------------------------
	バナー
----------------------------------------------------*/
.bn_set { width: 950px; margin: 80px 0px 0px 0px; }

.bn_set .bn { width: 220px; margin-right: 23px; margin-bottom: 16.5px; float: left; }

/*----------------------------------------------------
	ページトップ
----------------------------------------------------*/
.ptop { float: right; position: fixed; right: 78px; bottom: 50px; z-index: 9999; }

/*----------------------------------------------------
	フッター
----------------------------------------------------*/
#footer { margin-top: 200px; }
#footer .bnr-bg { padding-top: 55px; padding-bottom: 50px; background-color: #e8e5de; }
#footer .bnr { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; }
#footer .bnr .bnrs { width: 100%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; }
#footer .bnr .bnrs li { border-radius: 10px; overflow: hidden; }
#footer .bnr .bnrs li a { transition: all 0.5s; }
#footer .bnr .bnrs li a img { transition: all 0.5s; }
#footer .address { background-color: #414042; padding-top: 40px; padding-bottom: 40px; }
#footer .address .flex { justify-content: center; align-items: center; }
#footer .address .flex > div { width: 50%; }
#footer .address .flex > div:last-child { margin-left: 60px; }
#footer .address .flex > div:last-child h2 { margin-bottom: 60px; }
#footer .address .flex .ad-txt { width: 40%; }
#footer .address .flex .ad-txt h2 a img { display: block; margin-left: auto; margin-right: auto; }
#footer .address p { color: #fff; font-size: 14px; }
#footer .address p::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.875) * .5em); content: ""; }
#footer .address p::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.875) * .5em); content: ""; }
#footer .address p.tel { margin-top: 23px; font-size: 16px; }
#footer .address p.tel a { display: inline-block; color: #FFF !important; font-weight: 500; font-family: "avenir next", sans-serif; font-size: 22px; margin-left: 1em; }
#footer .copy { text-align: center; margin-top: 10px; font-size: 12px; }

/*----------------------------------------------------
	ページトップ
----------------------------------------------------*/
.spt { width: 930px; text-align: right; margin: 15px 20px 20px 0px; }

.sptl { width: 100px; float: right; margin: 15px 20px 20px 0px; }

/*----------------------------------------------------
	共通
----------------------------------------------------*/
/*背景*/
.bg01 { background: url("../com/com_bg.png") repeat; }

.bg02 { background: #f3f3f2; }

.bg03 { background: #e6e3d8; }

.bg04 { background: #4b365e; }

/* リスト */
ul.dots li { position: relative; padding-left: 1em; }
ul.dots li:before { content: '\0025aa'; display: block; position: absolute; top: 0; left: 0; }

/*----------------------------------------------------
	共通　table　テーブル設定
----------------------------------------------------*/
.table { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; font-size: 15px; line-height: 1.6; border: 1px solid #000000; }
.table > dt, .table > dd { padding: 20px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; flex-direction: column; }
.table > dt { flex-basis: 200px; max-width: 200px; text-align: center; background-color: #e8e5de; border-bottom: 1px solid #000000; align-items: center; }
.table > dt:last-of-type { border-bottom: none; }
.table > dd { flex-basis: calc(100% - 200px); max-width: calc(100% - 200px); border-bottom: 1px solid #000000; }
.table > dd:last-of-type { border-bottom: none; }

.table_cont { border: 1px solid #bbbdbf; padding-left: 50px; padding-right: 50px; }
.table_cont .tr { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: center; border-bottom: 1px solid rgba(187, 189, 191, 0.3); padding-top: 50px; padding-bottom: 50px; }
.table_cont .tr h4 { font-weight: bold; flex-basis: 240px; max-width: 240px; font-family: "Noto Sans JP", sans-serif; }
.table_cont .tr p { flex-basis: calc(100% - 240px); max-width: calc(100% - 240px); }

/*---------------------------------------------------- REsort FEE追加
----------------------------------------------------*/
.resort { width: 950px; margin-top: 100px; }
.resort ul { margin-top: 40px; padding-left: 20px; padding-right: 20px; }
.resort ul li { margin-bottom: 20px; list-style-type: disc; color: #414042; }
.resort ul li:last-child { margin-bottom: 0; }

/*----------------------------------------------------
	汎用
----------------------------------------------------*/
/* 余白 */
.mt0 { margin-top: 0 !important; }

.pb0 { padding-bottom: 0 !important; }

.mar3 { margin: 3px; }

.mar5 { margin: 5px; }

.mar7 { margin: 7px; }

.mar10 { margin: 10px; }

.mt5 { margin-top: 5px; }

.mt10 { margin-top: 10px; }

.mt15 { margin-top: 15px; }

.mt20 { margin-top: 20px; }

.mt25 { margin-top: 25px; }

.mt30 { margin-top: 30px; }

.mt35 { margin-top: 35px; }

.mt40 { margin-top: 40px; }

.mt45 { margin-top: 45px; }

.mt50 { margin-top: 50px; }

.mt55 { margin-top: 55px; }

.mt60 { margin-top: 60px; }

.mt65 { margin-top: 65px; }

.mt70 { margin-top: 70px; }

.mt75 { margin-top: 75px; }

.mt80 { margin-top: 80px; }

.mt90 { margin-top: 90px; }

.mt100 { margin-top: 100px; }

.mt110 { margin-top: 110px; }

.mt120 { margin-top: 120px; }

.mt130 { margin-top: 130px; }

.mt150 { margin-top: 150px; }

.mb5 { margin-bottom: 5px; }

.mb10 { margin-bottom: 10px; }

.mb15 { margin-bottom: 15px; }

.mb20 { margin-bottom: 20px; }

.mb30 { margin-bottom: 30px; }

.mb40 { margin-bottom: 40px; }

.mb50 { margin-bottom: 50px; }

.mb70 { margin-bottom: 70px; }

.ml1 { margin-left: 1px; }

.ml2 { margin-left: 2px; }

.ml5 { margin-left: 5px; }

.ml8 { margin-left: 8px; }

.ml10 { margin-left: 10px; }

.ml12 { margin-left: 12px; }

.ml15 { margin-left: 15px; }

.ml20 { margin-left: 20px; }

.ml22 { margin-left: 22px; }

.ml25 { margin-left: 25px; }

.ml30 { margin-left: 30px; }

.ml35 { margin-left: 35px; }

.ml40 { margin-left: 40px; }

.ml45 { margin-left: 45px; }

.ml50 { margin-left: 50px; }

.ml53 { margin-left: 53px; }

.ml60 { margin-left: 60px; }

.ml65 { margin-left: 65px; }

.ml70 { margin-left: 70px; }

.ml80 { margin-left: 80px; }

.ml100 { margin-left: 100px; }

.ml120 { margin-left: 120px; }

.ml130 { margin-left: 130px; }

.ml150 { margin-left: 150px; }

.ml170 { margin-left: 170px; }

.ml180 { margin-left: 180px; }

.ml200 { margin-left: 200px; }

.ml250 { margin-left: 250px; }

.ml300 { margin-left: 300px; }

.mr5 { margin-right: 5px; }

.mr10 { margin-right: 10px; }

.mr12 { margin-right: 12px; }

.mr15 { margin-right: 15px; }

.mr20 { margin-right: 20px; }

.mr25 { margin-right: 25px; }

.mr30 { margin-right: 30px; }

.mr35 { margin-right: 35px; }

.mr40 { margin-right: 40px; }

.pad5 { padding: 5px; }

.pad10 { padding: 10px; }

.pt0 { padding-top: 0 !important; }

.pt10 { padding-top: 10px; }

.pt15 { padding-top: 15px; }

.pt20 { padding-top: 20px; }

.pt25 { padding-top: 25px; }

.pl10 { padding-left: 10px; }

.pl20 { padding-left: 20px; }

.pr10 { padding-right: 10px; }

.pr20 { padding-right: 20px; }

/* 横幅 */
.w100 { width: 100px; }

.w120 { width: 120px; }

.w130 { width: 130px; }

.w150 { width: 150px; }

.w160 { width: 160px; }

.w170 { width: 170px; }

.w175 { width: 175px; }

.w177 { width: 177px; }

.w190 { width: 190px; }

.w193 { width: 193px; }

.w200 { width: 200px; }

.w202 { width: 202px; }

.w205 { width: 205px; }

.w220 { width: 220px; }

.w230 { width: 230px; }

.w250 { width: 250px; }

.w260 { width: 260px; }

.w270 { width: 270px; }

.w280 { width: 280px; }

.w300 { width: 300px; }

.w305 { width: 305px; }

.w315 { width: 315px; }

.w320 { width: 320px; }

.w350 { width: 350px; }

.w360 { width: 360px; }

.w370 { width: 370px; }

.w380 { width: 380px; }

.w390 { width: 390px; }

.w400 { width: 400px; }

.w410 { width: 410px; }

.w415 { width: 415px; }

.w420 { width: 420px; }

.w430 { width: 430px; }

.w440 { width: 440px; }

.w450 { width: 450px; }

.w480 { width: 480px; }

.w500 { width: 500px; }

.w522 { width: 522px; }

.w545 { width: 545px; }

.w620 { width: 620px; }

.w720 { width: 720px; }

.w735 { width: 735px; }

.w800 { width: 800px; }

.w850 { width: 850px; }

.w860 { width: 860px; }

.w950 { width: 950px; }

/* テキスト */
.chu { font-size: 13px !important; }

.txt_c { text-align: center !important; }

.txt_r { text-align: right !important; }

.ls-2 { letter-spacing: -2px; }

.underline { text-decoration: underline !important; }

.kuro-maru li { padding-left: 1em; position: relative; }
.kuro-maru li::before { content: '\02022'; position: absolute; display: inline-block; font-size: 20px; top: -2px; left: 0px; z-index: -1; color: #414042; }

.t_white h2, .t_white h3, .t_white h4, .t_white h5, .t_white p, .t_white a, .t_white * { color: #FFF; }

/*======================================

	hack - 各種cssハック - for IE7

=======================================*/
/*======================================

	hack - 各種cssハック - for IE6

=======================================*/

/*# sourceMappingURL=common.css.map */
