@charset "utf-8";

/*
 * parts.css — 共通ユーティリティ & フォームパーツ
 *
 * 設計:
 * 1) トークン … --break / --break02 / --break03（デザイン基準幅）とそれに連動する --size*、パレット --color*
 * 2) ベース … html/body の最小限のタイポ（LP と併用時は index.css と競合しないよう控えめに）
 * 3) コンポーネント … .bg_form / .tbl_form01 など（主に WP フォーム想定）
 * 4) ユーティリティ … .mb10 / .flex / .inner* 等
 * 5) レスポンシブ … 表示切替 .pc_only / .sp_only、767px 以下の上書き
 *
 * --break / --break02 / --break03 はビューポート幅帯ごとに上書き。
 * LP の広いメイン幅（1400px相当以上）向けリキッドは index.css で var(--break03)、一般は var(--break02)。
 */

:root {
	/* デザイン基準幅（px 相当の数値のみ。vw 換算の分母） */
	--break: 1920;
	--break02: 1920;
	--break03: 1920;
	--break04: 1920;

	--guideline-color: #333333;
	--root-color: #d71c7e;

	/* テーマパレット（.txt_col01 等。未設定だとユーティリティが効かない） */
	--color01: #333333;
	--color02: #d71c7e;
	--color03: #ffffff;
	--color04: #111111;
	--color05: #f2f0ee;
	--color06: #666666;
	--color07: #999999;
	--color08: #cccccc;
	--color09: #e8e8e8;
	--color10: #000000;

	/* ルートの 1rem 基準（子の rem/em と連動） */
	font-size: calc(16 / var(--break02) * 100vw);

	--size5px:  calc(5 / var(--break02) * 100vw);
    --size10px:  calc(10 / var(--break02) * 100vw);
    --size15px:  calc(15 / var(--break02) * 100vw);
    --size20px:  calc(20 / var(--break02) * 100vw); 
    --size25px:  calc(25 / var(--break02) * 100vw);
    --size30px:  calc(30 / var(--break02) * 100vw);
    --size35px:  calc(35 / var(--break02) * 100vw);
    --size40px:  calc(40 / var(--break02) * 100vw);
    --size45px:  calc(45 / var(--break02) * 100vw);
    --size50px:  calc(50 / var(--break02) * 100vw);
    --size55px:  calc(55 / var(--break02) * 100vw);
    --size60px:  calc(60 / var(--break02) * 100vw);
    --size65px:  calc(65 / var(--break02) * 100vw);
    --size70px:  calc(70 / var(--break02) * 100vw);
    --size75px:  calc(75 / var(--break02) * 100vw);
    --size80px:  calc(80 / var(--break02) * 100vw);
    --size85px:  calc(85 / var(--break02) * 100vw);
    --size90px:  calc(90 / var(--break02) * 100vw);
    --size95px:  calc(95 / var(--break02) * 100vw);
    --size100px:  calc(100 / var(--break02) * 100vw);
    --size105px:  calc(105 / var(--break02) * 100vw);
    --size110px:  calc(110 / var(--break02) * 100vw);
    --size115px:  calc(115 / var(--break02) * 100vw);
    --size120px:  calc(120 / var(--break02) * 100vw);
    --size125px:  calc(125 / var(--break02) * 100vw);
    --size130px:  calc(130 / var(--break02) * 100vw);
    --size135px:  calc(135 / var(--break02) * 100vw);
    --size140px:  calc(140 / var(--break02) * 100vw);
    --size145px:  calc(145 / var(--break02) * 100vw);
    --size150px:  calc(150 / var(--break02) * 100vw);
    --size160px:  calc(160 / var(--break02) * 100vw);
    --size170px:  calc(170 / var(--break02) * 100vw);
    --size180px:  calc(180 / var(--break02) * 100vw);
    --size190px:  calc(190 / var(--break02) * 100vw);
    --size200px:  calc(200 / var(--break02) * 100vw);
}
/* タブレット〜中幅 PC: 基準幅を下げてスケールを緩める */
@media (min-width: 768px) and (max-width: 1599px) {
	:root {
		--break: 1599;
		--break02: 1700;
		--break03: 1800;
		--break04: 1900;
		--break05: 2400;
	}
}

@media (min-width: 768px) and (max-width: 1299px) {
	:root {
		--break: 1299;
		--break02: 1400;
		--break03: 1600;
		--break04: 1800;
		--break05: 2900;
	}
}

/* SP: デザインカンプ幅 750 相当 */
@media (max-width: 767px) {
	:root {
		--break: 390;
		--break02: 390;
		--break03: 390;
	}
}

/* rem 基準は :root の font-size。calc(767 / var(--break02) * 100vw) 以下はファイル末尾の @media で :root を 4.27vw に上書き。 */
html {
	font-weight: 300;
	line-height: 2;
	color: var(--guideline-color);
	letter-spacing: 0.1em;
	font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body {
	font-size: inherit;
	line-height: inherit;
}

.txt_link {
	color: var(--root-color);
	text-decoration: underline;
}
/* -----------------------------------------------------------------
   フォーム・CF7 向けコンポーネント
   ----------------------------------------------------------------- */
.inquiry-container {
  border-radius: calc(10 / var(--break02) * 100vw );
  border: 1px solid #dcdcdc;
  padding: calc(60 / var(--break02) * 100vw ) calc(80 / 1920 * 100vw );
  margin: 0 auto;
}
.form-group{
    margin: calc(8 / var(--break02) * 100vw ) 0 calc(24 / var(--break02) * 100vw );
	font-size: calc(18 / var(--break02) * 100vw );
}
.form-flex-row .form-group label {
	display: block;
    max-width: 100%;
	text-align: left;
    margin-bottom: calc(6 / var(--break02) * 100vw );
}
.form-group label.require:after {
  content: "*必須";
  color: #ff0000;
  font-size: 10px;
  position: relative;
  top: -5px;
  left: 2px;
}
.btn_submit {
	margin: 0 auto;
	text-align: center;
	position: relative;
	max-width: calc(300 / var(--break02) * 100vw );
	width: 100%;
}
.btn_submit:before {
	content: "";
    width: calc(24 / var(--break02) * 100vw);
    height: calc(16 / var(--break02) * 100vw);
    margin: auto;
    background: url(images/page/arw02.svg) center/contain no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: calc(28 / var(--break02) * 100vw);
    transition: all .5s;
    z-index: 1
}
.btn_submit:hover {
	cursor: pointer;
	opacity: .85;
	transition: .3s;
}
.btn_submit input {
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 1.375rem;
	background: #D71C7E;
	border-radius: 0;
	line-height: 1;
	padding: calc(16 / var(--break02) * 100vw ) 0 calc(18 / var(--break02) * 100vw );
	border-radius: calc(10 / var(--break02) * 100vw );
	letter-spacing: .1em;
}
.btn_submit input:hover {
	cursor: pointer;
}
.btn_submit input:disabled {
	color: #fff;
	background: #ddd;
	cursor: not-allowed;
}
.btn_submit .wpcf7-spinner {
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(-15 / var(--break02) * 100vw );
	margin: auto!important;
}
.txt_accept {
	margin: calc(40 / var(--break02) * 100vw ) auto;
	padding-bottom: calc(10 / var(--break02) * 100vw );
	border-bottom: 1px solid #dcdcdc;
	text-align: left;
}
.txt_accept span.wpcf7-list-item {
	margin: 0!important;
}
.box_form {
	margin-bottom: calc(50 / var(--break02) * 100vw );
	padding: calc(10 / var(--break02) * 100vw ) calc(50 / var(--break02) * 100vw ) calc(15 / var(--break02) * 100vw );
	text-align: center;
	background: #f5f3e9;
}
.box_privacy {
	border: calc(1 / var(--break02) * 100vw) solid #111111;
	padding: calc(43 / var(--break02) * 100vw ) calc(50 / var(--break02) * 100vw );
	max-height: calc(260 / var(--break02) * 100vw);
	overflow-y: auto;
	margin: 0 auto calc(60 / var(--break02) * 100vw );
}
.box_privacy .ttl {
	font-size: 1.25rem;
	letter-spacing: .1em;
	line-height: 1.5;
	margin-bottom: calc(13 / var(--break02) * 100vw );
}
.box_privacy .txt {
	font-size: 1rem;
	letter-spacing: .1em;
}
.adjust_form01 {
	padding-top: calc(20 / var(--break02) * 100vw) !important;
	padding-bottom: calc(20 / var(--break02) * 100vw) !important;
}
.tbl_form01 table {
	border: none;
}
.tbl_form01 th,
.tbl_form01 td {
	border-bottom: none!important;
	padding: calc( 36 / var(--break02) * 100vw);
	padding-left: 0;
	padding-right: 0;
}
.tbl_form01 th {
	background: none;
	width: 25%;
}
.tbl_form01 td {
	padding-left: calc( 26 / var(--break02) * 100vw);
	width: 75%;
}
.tbl_form01 td input,
.tbl_form01 td textarea ,
.form-group input,
.form-group  textarea 
{
	display: block;
	width: 100%;
	padding: calc(8 / var(--break02) * 100vw);
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.tbl_form01 .box_form {
	padding: calc(20 / var(--break02) * 100vw) calc(50 / var(--break02) * 100vw) calc(25 / var(--break02) * 100vw);
}
.tbl_guideline01:not(:last-child) {
	margin-bottom: calc(100 / var(--break02) * 100vw);
}
.tbl_form01 .require span:after {
	font-size: .875rem;
	padding-bottom: calc( 5 / var(--break02) * 100vw);
	width: calc(50 / var(--break02) * 100vw);
	height: calc(30 / var(--break02) * 100vw);
	line-height: calc(30 / var(--break02) * 100vw);
	content: "必須";
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	right: calc(4 / var(--break02) * 100vw );
	text-align: center;
	top: 0;
	bottom: 0;
	margin: auto;
}
.tbl_form01 .box_privacy {
	max-width: calc(1000 / var(--break02) * 100vw);
}

/* -----------------------------------------------------------------
   ベースメディア・レイアウトラッパ
   ----------------------------------------------------------------- */
.fwb {
	font-weight: bold;
}
img {
	max-width: 100%;
	height: auto;
}
iframe {
	max-width: 100%;
}
video {
	max-width: 100%;
}
/* sanitize.css と重複するが、parts 単体利用時のフォールバック */
:where(*) {
	margin: 0;
	padding: 0;
}
:where(li) {
	list-style: none;
}
:where(a) {
	color: inherit;
	text-decoration: none;
}
#wrap {
	overflow-x: hidden;
}
.oh {
	overflow: hidden;
}
a:hover {
	opacity: .85;
	transition: .3s;
}
a.zoom{
	pointer-events: none;
}
.inner,.inner1000,.inner1140,.inner1200,.inner1340,.inner1500,.inner1600
{
	max-width: calc(1240 / var(--break02) * 100vw);
	width: 90%;
	margin: 0 auto;
}
.inner1000 {
	max-width: calc(1000 / var(--break02) * 100vw);
}
.inner1140 {
	max-width: calc(1140 / var(--break02) * 100vw);
}
.inner1200 {
	max-width: calc(1200 / var(--break02) * 100vw);
}
.inner1340 {
	max-width: calc(1340 / var(--break02) * 100vw);
}
.inner1500 {
	max-width: calc(1500 / var(--break02) * 100vw);
}
.inner1600 {
	max-width: calc(1600 / var(--break02) * 100vw);
}
.w100 {
	width: 100%!important;
}
table{
	table-layout: fixed;
}
td input{
	max-width: 100%;
}
a[href^="tel:"] {
	cursor: default;
}
a[href^="tel:"]:hover {
	opacity: 1;
}

/* -----------------------------------------------------------------
   ユーティリティ（.inner / .flex / 余白・文字サイズ）
   ----------------------------------------------------------------- */
.slick-slide {
	outline: none;
}
.adjust {
	display: none;
}
.tb_only {
	display: none;
}
.sp_only {
	display: none;
}
.tb_pc {
	display: inherit;
}
.sp_tb {
	display: none;
}
.flex {
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.flex.start     { -webkit-justify-content: flex-start; justify-content: flex-start; }
.flex.end       { -webkit-justify-content: flex-end; justify-content: flex-end; }
.flex.center    { -webkit-justify-content: center; justify-content: center; }
.flex.around    { -webkit-justify-content: space-around; justify-content: space-around; }
.flex.between   { -webkit-justify-content: space-between; justify-content: space-between; }
.flex.stretch   { -webkit-align-items: stretch; align-items: stretch; }
.flex.ai_center { -webkit-align-items: center; align-items: center; }
.flex.ai_start  { -webkit-align-items: flex-start; align-items: flex-start; }
.flex.ai_end    { -webkit-align-items: flex-end; align-items: flex-end; }
.flex.nowrap    { -webkit-flex-wrap: nowrap; flex-wrap: nowrap; }
.flex.column    { -ms-flex-direction:column; -webkit-flex-direction:column; flex-direction:column; }
.flex.row       { -ms-flex-direction:row; -webkit-flex-direction:row; flex-direction:row; }
.flex.c_reverse { -ms-flex-direction:column-reverse; -webkit-flex-direction:column-reverse; flex-direction:column-reverse; }
.flex.r_reverse { -ms-flex-direction:row-reverse; -webkit-flex-direction:row-reverse; flex-direction:row-reverse; }
.flex.cc { -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
.flex.ccc { -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; text-align: center;}
.flex.cccc { -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; text-align: center; -webkit-flex-direction:column; flex-direction:column;}
.noshrink       { flex: 0 0 auto; }
.grow           { flex: 1 1 auto; }

.ccl { border-radius: 100%; }
.bdrd5 {border-radius: var(--size5px);}
.bdrd10 {border-radius: var(--size10px);}
.bdrd15 {border-radius: var(--size15px);}
.bdrd20 {border-radius: var(--size20px);}
.bdrd25 {border-radius: var(--size25px);}
.bdrd30 {border-radius: var(--size30px);}
.bdrd35 {border-radius: var(--size35px);}
.bdrd40 {border-radius: var(--size40px);}
.bdrd45 {border-radius: var(--size45px);}
.bdrd50 {border-radius: var(--size50px);}

.txt_center { text-align: center; }
.txt_right { text-align: right; }
.txt_rl {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
}

.mgn_a {
	margin-left: auto;
	margin-right: auto;
}
.mgn_l { margin-left: auto; }
.mgn_r { margin-right: auto; }
.no_mgn { margin-bottom: 0!important;}
.mb5    { margin-bottom: var(--size5px); }
.mb10   { margin-bottom: var(--size10px); }
.mb15   { margin-bottom: var(--size15px); }
.mb20   { margin-bottom: var(--size20px); }
.mb25   { margin-bottom: var(--size25px); }
.mb30   { margin-bottom: var(--size30px); }
.mb35   { margin-bottom: var(--size35px); }
.mb40   { margin-bottom: var(--size40px); }
.mb45   { margin-bottom: var(--size45px); }
.mb50   { margin-bottom: var(--size50px); }
.mb55   { margin-bottom: var(--size55px); }
.mb60   { margin-bottom: var(--size60px); }
.mb65   { margin-bottom: var(--size65px); }
.mb70   { margin-bottom: var(--size70px); }
.mb75   { margin-bottom: var(--size75px); }
.mb80   { margin-bottom: var(--size80px); }
.mb85   { margin-bottom: var(--size85px); }
.mb90   { margin-bottom: var(--size90px); }
.mb95   { margin-bottom: var(--size95px); }
.mb100  { margin-bottom: var(--size100px); }
.mb105  { margin-bottom: var(--size105px); }
.mb110  { margin-bottom: var(--size110px); }
.mb115  { margin-bottom: var(--size115px); }
.mb120  { margin-bottom: var(--size120px); }
.mb125  { margin-bottom: var(--size125px); }
.mb130  { margin-bottom: var(--size130px); }
.mb135  { margin-bottom: var(--size135px); }
.mb140  { margin-bottom: var(--size140px); }
.mb145  { margin-bottom: var(--size145px); }
.mb150  { margin-bottom: var(--size150px); }
.mb05em { margin-bottom:0.5em; }
.mb10em { margin-bottom:1.0em; }
.mb15em { margin-bottom:1.5em; }
.mb20em { margin-bottom:2.0em; }
.mb25em { margin-bottom:2.5em; }
.mb30em { margin-bottom:3.0em; }

.mt5    { margin-top: var(--size5px); }
.mt10   { margin-top: var(--size10px); }
.mt15   { margin-top: var(--size15px); }
.mt20   { margin-top: var(--size20px); }
.mt25   { margin-top: var(--size25px); }
.mt30   { margin-top: var(--size30px); }
.mt35   { margin-top: var(--size35px); }
.mt40   { margin-top: var(--size40px); }
.mt45   { margin-top: var(--size45px); }
.mt50   { margin-top: var(--size50px); }
.mt55   { margin-top: var(--size55px); }
.mt60   { margin-top: var(--size60px); }
.mt65   { margin-top: var(--size65px); }
.mt70   { margin-top: var(--size70px); }
.mt75   { margin-top: var(--size75px); }
.mt80   { margin-top: var(--size80px); }
.mt85   { margin-top: var(--size85px); }
.mt90   { margin-top: var(--size90px); }
.mt95   { margin-top: var(--size95px); }
.mt100  { margin-top: var(--size100px); }
.mt105  { margin-top: var(--size105px); }
.mt110  { margin-top: var(--size110px); }
.mt115  { margin-top: var(--size115px); }
.mt120  { margin-top: var(--size120px); }
.mt125  { margin-top: var(--size125px); }
.mt130  { margin-top: var(--size130px); }
.mt135  { margin-top: var(--size135px); }
.mt140  { margin-top: var(--size140px); }
.mt145  { margin-top: var(--size145px); }
.mt150  { margin-top: var(--size150px); }
.mt05em { margin-top:0.5em; }
.mt10em { margin-top:1.0em; }
.mt15em { margin-top:1.5em; }
.mt20em { margin-top:2.0em; }
.mt25em { margin-top:2.5em; }
.mt30em { margin-top:3.0em; }

.mr5 {margin-right: var(--size5px); }
.mr10 {margin-right: var(--size10px); }
.mr15 {margin-right: var(--size15px); }
.mr20 {margin-right: var(--size20px); }
.mr25 {margin-right: var(--size25px); }
.mr30 {margin-right: var(--size30px); }
.mr35 {margin-right: var(--size35px); }
.mr40 {margin-right: var(--size40px); }
.mr45 {margin-right: var(--size45px); }
.mr50 {margin-right: var(--size50px); }

.ml5 {margin-left: var(--size5px); }
.ml10 {margin-left: var(--size10px); }
.ml15 {margin-left: var(--size15px); }
.ml20 {margin-left: var(--size20px); }
.ml25 {margin-left: var(--size25px); }
.ml30 {margin-left: var(--size30px); }
.ml35 {margin-left: var(--size35px); }
.ml40 {margin-left: var(--size40px); }
.ml45 {margin-left: var(--size45px); }
.ml50 {margin-left: var(--size50px); }

.db { display: block; }
.dib { display: inline-block; }
.por { position: relative; z-index: 1; }
.poa { position: absolute; }
.zi0 { z-index: 0; }
.zi1 { z-index: 1; }
.zi2 { z-index: 2; }

.turn_up {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.lh1 { line-height: 1; }
.lh11 { line-height: 1.1; }
.lh12 { line-height: 1.2; }
.lh13 { line-height: 1.3; }
.lh14 { line-height: 1.4; }
.lh15 { line-height: 1.5; }
.lh16 { line-height: 1.6; }
.lh17 { line-height: 1.7; }
.lh18 { line-height: 1.8; }
.lh19 { line-height: 1.9; }
.lh2 { line-height: 2; }
.lh22 { line-height: 2.2; }
.lh25 { line-height: 2.5; }

.pt0 { padding-top: 0; }
.pt5 { padding-top: var(--size5px); }
.pt10 { padding-top: var(--size10px); }
.pt15 { padding-top: var(--size15px); }
.pt20 { padding-top: var(--size20px); }
.pt25 { padding-top: var(--size25px); }
.pt30 { padding-top: var(--size30px); }
.pt35 { padding-top: var(--size35px); }
.pt40 { padding-top: var(--size40px); }
.pt45 { padding-top: var(--size45px); }
.pt50 { padding-top: var(--size50px); }
.pt55 { padding-top: var(--size55px); }
.pt60 { padding-top: var(--size60px); }
.pt65 { padding-top: var(--size65px); }
.pt70 { padding-top: var(--size70px); }
.pt75 { padding-top: var(--size75px); }
.pt80 { padding-top: var(--size80px); }
.pt85 { padding-top: var(--size85px); }
.pt90 { padding-top: var(--size90px); }
.pt95 { padding-top: var(--size95px); }
.pt100 { padding-top: var(--size100px); }
.pt105 { padding-top: var(--size105px); }
.pt110 { padding-top: var(--size110px); }
.pt115 { padding-top: var(--size115px); }
.pt120 { padding-top: var(--size120px); }
.pt125 { padding-top: var(--size125px); }
.pt130 { padding-top: var(--size130px); }
.pt135 { padding-top: var(--size135px); }
.pt140 { padding-top: var(--size140px); }
.pt145 { padding-top: var(--size145px); }
.pt150 { padding-top: var(--size150px); }
.pt160 { padding-top: var(--size160px); }
.pt170 { padding-top: var(--size170px); }
.pt180 { padding-top: var(--size180px); }
.pt190 { padding-top: var(--size190px); }
.pt200 { padding-top: var(--size200px); }

.pb0 { padding-bottom: 0; }
.pb5 { padding-bottom: var(--size5px); }
.pb10 { padding-bottom: var(--size10px); }
.pb15 { padding-bottom: var(--size15px); }
.pb20 { padding-bottom: var(--size20px); }
.pb25 { padding-bottom: var(--size25px); }
.pb30 { padding-bottom: var(--size30px); }
.pb35 { padding-bottom: var(--size35px); }
.pb40 { padding-bottom: var(--size40px); }
.pb45 { padding-bottom: var(--size45px); }
.pb50 { padding-bottom: var(--size50px); }
.pb55 { padding-bottom: var(--size55px); }
.pb60 { padding-bottom: var(--size60px); }
.pb65 { padding-bottom: var(--size65px); }
.pb70 { padding-bottom: var(--size70px); }
.pb75 { padding-bottom: var(--size75px); }
.pb80 { padding-bottom: var(--size80px); }
.pb85 { padding-bottom: var(--size85px); }
.pb90 { padding-bottom: var(--size90px); }
.pb95 { padding-bottom: var(--size95px); }
.pb100 { padding-bottom: var(--size100px); }
.pb105 { padding-bottom: var(--size105px); }
.pb110 { padding-bottom: var(--size110px); }
.pb115 { padding-bottom: var(--size115px); }
.pb120 { padding-bottom: var(--size120px); }
.pb125 { padding-bottom: var(--size125px); }
.pb130 { padding-bottom: var(--size130px); }
.pb135 { padding-bottom: var(--size135px); }
.pb140 { padding-bottom: var(--size140px); }
.pb145 { padding-bottom: var(--size145px); }
.pb150 { padding-bottom: var(--size150px); }
.pb160 { padding-bottom: var(--size160px); }
.pb170 { padding-bottom: var(--size170px); }
.pb180 { padding-bottom: var(--size180px); }
.pb190 { padding-bottom: var(--size190px); }
.pb200 { padding-bottom: var(--size200px); }

.pr5 {padding-right: var(--size5px); }
.pr10 {padding-right: var(--size10px); }
.pr15 {padding-right: var(--size15px); }
.pr20 {padding-right: var(--size20px); }
.pr25 {padding-right: var(--size25px); }
.pr30 {padding-right: var(--size30px); }
.pr35 {padding-right: var(--size35px); }
.pr40 {padding-right: var(--size40px); }
.pr45 {padding-right: var(--size45px); }
.pr50 {padding-right: var(--size50px); }
.pr55 {padding-right: var(--size55px); }
.pr60 {padding-right: var(--size60px); }
.pr65 {padding-right: var(--size65px); }
.pr70 {padding-right: var(--size70px); }
.pr75 {padding-right: var(--size75px); }
.pr80 {padding-right: var(--size80px); }
.pr85 {padding-right: var(--size85px); }
.pr90 {padding-right: var(--size90px); }
.pr95 {padding-right: var(--size95px); }
.pr100 { padding-right: var(--size100px); }

.pl5 {padding-left: var(--size5px); }
.pl10 {padding-left: var(--size10px); }
.pl15 {padding-left: var(--size15px); }
.pl20 {padding-left: var(--size20px); }
.pl25 {padding-left: var(--size25px); }
.pl30 {padding-left: var(--size30px); }
.pl35 {padding-left: var(--size35px); }
.pl40 {padding-left: var(--size40px); }
.pl45 {padding-left: var(--size45px); }
.pl50 {padding-left: var(--size50px); }
.pl55 {padding-left: var(--size55px); }
.pl60 {padding-left: var(--size60px); }
.pl65 {padding-left: var(--size65px); }
.pl70 {padding-left: var(--size70px); }
.pl75 {padding-left: var(--size75px); }
.pl80 {padding-left: var(--size80px); }
.pl85 {padding-left: var(--size85px); }
.pl90 {padding-left: var(--size90px); }
.pl95 {padding-left: var(--size95px); }
.pl100 { padding-left: var(--size100px); }

.prl5 { padding-right: var(--size5px); padding-left: var(--size5px); }
.prl10 { padding-right: var(--size10px); padding-left: var(--size10px); }
.prl15 { padding-right: var(--size15px); padding-left: var(--size15px); }
.prl20 { padding-right: var(--size20px); padding-left: var(--size20px); }
.prl25 { padding-right: var(--size25px); padding-left: var(--size25px); }
.prl30 { padding-right: var(--size30px); padding-left: var(--size30px); }
.prl35 { padding-right: var(--size35px); padding-left: var(--size35px); }
.prl40 { padding-right: var(--size40px); padding-left: var(--size40px); }
.prl45 { padding-right: var(--size45px); padding-left: var(--size45px); }
.prl50 { padding-right: var(--size50px); padding-left: var(--size50px); }
.prl55 { padding-right: var(--size55px); padding-left: var(--size55px); }
.prl60 { padding-right: var(--size60px); padding-left: var(--size60px); }
.prl65 { padding-right: var(--size65px); padding-left: var(--size65px); }
.prl70 { padding-right: var(--size70px); padding-left: var(--size70px); }
.prl75 { padding-right: var(--size75px); padding-left: var(--size75px); }
.prl80 { padding-right: var(--size80px); padding-left: var(--size80px); }
.prl85 { padding-right: var(--size85px); padding-left: var(--size85px); }
.prl90 { padding-right: var(--size90px); padding-left: var(--size90px); }
.prl95 { padding-right: var(--size95px); padding-left: var(--size95px); }
.prl100 { padding-right: var(--size100px); padding-left: var(--size100px); }

.fz10{font-size: .625rem; letter-spacing: .1em;}
.fz12{font-size: .75rem; letter-spacing: .1em;}
.fz13{font-size: .8125rem; letter-spacing: .1em;}
.fz14{font-size: .875rem; letter-spacing: .1em;}
.fz15{font-size: .9375rem; letter-spacing: .1em;}
.fz16{font-size: 1rem; letter-spacing: .1em;}
.fz18{font-size: 1.125rem; letter-spacing: .1em;}
.fz20{font-size: 1.25rem; letter-spacing: .1em;}
.fz22{font-size: 1.375rem; letter-spacing: .1em;}
.fz24{font-size: 1.5rem; letter-spacing: .1em;}
.fz25{font-size: 1.5625rem; letter-spacing: .1em;}
.fz26{font-size: 1.625rem; letter-spacing: .1em;}
.fz28{font-size: 1.75rem; letter-spacing: .1em;}
.fz30{font-size: 1.875rem; letter-spacing: .1em;}
.fz32{font-size: 2rem; letter-spacing: .1em;}
.fz34{font-size: 2.125rem; letter-spacing: .1em;}
.fz36{font-size: 2.25rem; letter-spacing: .1em;}
.fz38{font-size: 2.375rem; letter-spacing: .1em;}
.fz40{font-size: 2.5rem; letter-spacing: .1em;}
.fz42{font-size: 2.625rem; letter-spacing: .1em;}
.fz44{font-size: 2.75rem; letter-spacing: .1em;}
.fz46{font-size: 2.875rem; letter-spacing: .1em;}
.fz48{font-size: 3rem; letter-spacing: .1em;}
.fz50{font-size: 3.125rem; letter-spacing: .1em;}
.fz52{font-size: 3.25rem; letter-spacing: .1em;}
.fz54{font-size: 3.375rem; letter-spacing: .1em;}
.fz56{font-size: 3.5rem; letter-spacing: .1em;}
.fz58{font-size: 3.625rem; letter-spacing: .1em;}
.fz60{font-size: 3.75rem; letter-spacing: .1em;}
.fz62{font-size: 3.875rem; letter-spacing: .1em;}
.fz64{font-size: 4rem; letter-spacing: .1em;}
.fz66{font-size: 4.125rem; letter-spacing: .1em;}
.fz68{font-size: 4.25rem; letter-spacing: .1em;}
.fz70{font-size: 4.375rem; letter-spacing: .1em;}
.fz80{font-size: 5rem; letter-spacing: .1em;}
.fz84{font-size: 5.25rem; letter-spacing: .1em;}
.fz90{font-size: 5.625rem; letter-spacing: .1em;}
.fz96{font-size: 6rem; letter-spacing: .1em;}
.fz100{font-size: 6.25rem; letter-spacing: .1em;}
.fz110{font-size: 6.875rem; letter-spacing: .1em;}
.fz120{font-size: 7.5rem; letter-spacing: .1em;}
.fz130{font-size: 8.125rem; letter-spacing: .1em;}
.fz140{font-size: 8.75rem; letter-spacing: .1em;}
.fz150{font-size: 9.375rem; letter-spacing: .1em;}

.ls0 { letter-spacing: 0; }
.ls05 { letter-spacing: .05em; }
.ls1 { letter-spacing: .1em; }
.ls15 { letter-spacing: .15em; }
.ls2 { letter-spacing: .2em; }

.txt_white { color: #fff!important; }
.bg_white { background-color: #fff!important; }
.shadow_w {
	text-shadow: 0 0 calc(5 / var(--break02) * 100vw) #fff, 0 0 calc(5 / var(--break02) * 100vw) #fff, 0 0 calc(10 / var(--break02) * 100vw) #fff, 0 0 calc(10 / var(--break02) * 100vw) #fff, 0 0 calc(15 / var(--break02) * 100vw) #fff, 0 0 calc(15 / var(--break02) * 100vw) #fff;
}
em { font-style: normal; }

/* -----------------------------------------------------------------
   パレット連動（--color01〜10）
   ----------------------------------------------------------------- */
.txt_col01{color: var(--color01) !important;}
.txt_col02{color: var(--color02) !important;}
.txt_col03{color: var(--color03) !important;}
.txt_col04{color: var(--color04) !important;}
.txt_col05{color: var(--color05) !important;}
.txt_col06{color: var(--color06) !important;}
.txt_col07{color: var(--color07) !important;}
.txt_col08{color: var(--color08) !important;}
.txt_col09{color: var(--color09) !important;}
.txt_col10{color: var(--color10) !important;}

.txt_col_fl01::first-letter{color: var(--color01) !important;}
.txt_col_fl02::first-letter{color: var(--color02) !important;}
.txt_col_fl03::first-letter{color: var(--color03) !important;}
.txt_col_fl04::first-letter{color: var(--color04) !important;}
.txt_col_fl05::first-letter{color: var(--color05) !important;}
.txt_col_fl06::first-letter{color: var(--color06) !important;}
.txt_col_fl07::first-letter{color: var(--color07) !important;}
.txt_col_fl08::first-letter{color: var(--color08) !important;}
.txt_col_fl09::first-letter{color: var(--color09) !important;}
.txt_col_fl10::first-letter{color: var(--color10) !important;}

.bg_col01{background-color: var(--color01) !important;}
.bg_col02{background-color: var(--color02) !important;}
.bg_col03{background-color: var(--color03) !important;}
.bg_col04{background-color: var(--color04) !important;}
.bg_col05{background-color: var(--color05) !important;}
.bg_col06{background-color: var(--color06) !important;}
.bg_col07{background-color: var(--color07) !important;}
.bg_col08{background-color: var(--color08) !important;}
.bg_col09{background-color: var(--color09) !important;}
.bg_col10{background-color: var(--color10) !important;}

.bdr_col01{border-color: var(--color01) !important;}
.bdr_col02{border-color: var(--color02) !important;}
.bdr_col03{border-color: var(--color03) !important;}
.bdr_col04{border-color: var(--color04) !important;}
.bdr_col05{border-color: var(--color05) !important;}
.bdr_col06{border-color: var(--color06) !important;}
.bdr_col07{border-color: var(--color07) !important;}
.bdr_col08{border-color: var(--color08) !important;}
.bdr_col09{border-color: var(--color09) !important;}
.bdr_col10{border-color: var(--color10) !important;}

.bbw {
	border-bottom: calc(1 / var(--break02) * 100vw) solid #fff;
}

/* -----------------------------------------------------------------
   その他（パララックス・準備中オーバーレイ・ライトボックス等）
   ----------------------------------------------------------------- */
.parallax { 
	width: 100%; 
	background-attachment: fixed!important; 
} 
.parallax.is_ios, .tab.parallax { 
	background-attachment: inherit!important; 
} 
.ready {
	position: relative;
}
.ready a {
	pointer-events: none;
}
.ready a:hover {
	opacity: 1;
	cursor: default;
}
.ready:before {
	content: "準備中";
    color: #fff;
    text-align: center;
    width: calc(100 / var(--break02) * 100vw);
    height: calc(40 / var(--break02) * 100vw);
    line-height: calc(40 / var(--break02) * 100vw);
    background: rgba(51,51,51,.7);
    font-size: 1.125rem;
    letter-spacing: .1em;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 2;
    position: absolute;
}
@media(max-width: 767px){ 
	.parallax, .parallax.is_ios, .tab.parallax {  
		width: 100%;  
		background-attachment: inherit!important;  
	}
}
@media(min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
	.slick-slide img,
	#sb_instagram .sbi_photo_wrap
	{
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
	}
}
@media (min-width: 768px) and (max-width: 1299px) {
	.pc_only {
		display: none;
	}
	.tb_only {
		display: inherit;
	}
	.sp_only {
		display: none;
	}
	.tb_pc {
		display: inherit;
	}
	.sp_tb {
		display: inherit;
	}
}
@media(max-width: 767px) {
	:root {
		font-size: 4.27vw;
	}
	html, body {
		font-size: 1rem;
		letter-spacing: 0;
	}
	.lum-lightbox {
		background-color: rgba(255,255,255,.9);
	}
	.lum-close-button:after, .lum-close-button:before {
		background-color: rgb(0, 0, 0);
	}
	.lum-gallery-button {
		display: none !important;
	}
	a.zoom{
		position: relative;
		display: block;
		pointer-events: auto;
	}
	a.zoom:before {
		content: "タップで拡大します";
		position: absolute;
		width: 100%;
		height: 4.27vw;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		letter-spacing: .1em;
		line-height: 4.27vw;
		text-shadow: 0 0 calc(5 / var(--break02) * 100vw) #fff, 0 0 calc(5 / var(--break02) * 100vw) #fff, 0 0 calc(10 / var(--break02) * 100vw) #fff, 0 0 calc(10 / var(--break02) * 100vw) #fff, 0 0 calc(15 / var(--break02) * 100vw) #fff, 0 0 calc(15 / var(--break02) * 100vw) #fff;
		text-align: center;
	}
	a.zoom:after{
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		display: block;
		width: 1.5em;
		height: 1.5em;
		background-color: rgba(0,0,0,0.5);
		background-image: url("images/page/icn_zoom.svg");
		background-size: 1em 1em;
		background-position: center center;
		background-repeat: no-repeat;
	}
	.pc_only {
		display: none;
	}
	.tb_only {
		display: none;
	}
	.sp_only {
		display: inherit;
	}
	.tb_pc {
		display: none;
	}
	.sp_tb {
		display: inherit;
	}
	.pt_1vw { padding-top: 1vw;}
	.pt_2vw { padding-top: 2vw;}
	.pt_3vw { padding-top: 3vw;}
	.pt_4vw { padding-top: 3vw;}
	.pt_5vw { padding-top: 5vw;}
	.pt_6vw { padding-top: 6vw;}
	.pt_7vw { padding-top: 7vw;}
	.pt_8vw { padding-top: 8vw;}
	.pt_9vw { padding-top: 9vw;}
	.pt_10vw { padding-top: 10vw;}
	.pt_11vw { padding-top: 11vw;}
	.pt_12vw { padding-top: 12vw;}
	.pt_13vw { padding-top: 13vw;}
	.pt_14vw { padding-top: 14vw;}
	.pt_15vw { padding-top: 15vw;}
	.pb_1vw { padding-bottom: 1vw; }
	.pb_2vw { padding-bottom: 2vw; }
	.pb_3vw { padding-bottom: 4vw; }
	.pb_5vw { padding-bottom: 5vw; }
	.pb_6vw { padding-bottom: 6vw; }
	.pb_7vw { padding-bottom: 7vw; }
	.pb_8vw { padding-bottom: 8vw; }
	.pb_9vw { padding-bottom: 9vw; }
	.pb_10vw { padding-bottom: 10vw; }
	.pb_11vw { padding-bottom: 11vw; }
	.pb_12vw { padding-bottom: 12vw; }
	.pb_13vw { padding-bottom: 13vw; }
	.pb_14vw { padding-bottom: 14vw; }
	.pb_15vw { padding-bottom: 15vw; }
	.ls0_sp { letter-spacing: 0!important; }
	.ls05_sp { letter-spacing: .05em!important; }
	.ls15_sp { letter-spacing: .15em!important; }
	.ls2_sp { letter-spacing: .2em!important; }
	.txt_width {
		max-width: calc(646 / var(--break02) * 100vw)!important;
		margin-left: auto;
		margin-right: auto;
	}
	.ready:before {
		font-size: .75rem;
	}
}

/* SP のみ改行 */
br.br-sp {
    display: none;
}

/* SP のみ非表示 */
.hidden-sp {
    display: inline;
}

@media (max-width: 767px) {
    br.br-sp {
        display: block;
    }

    .hidden-sp {
        display: none !important;
    }
}
