@charset "UTF-8";
/* Scss Document */
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
/*$font-family-03: "Josefin Sans", sans-serif;*/
/*layout*/
.mt0 { margin-top: 0px !important; }

.mb0 { margin-bottom: 0px !important; }

.pt0 { padding-top: 0px !important; }

.pl0 { padding-left: 0px !important; }

.pb0 { padding-bottom: 0px !important; }

.mt5 { margin-top: 5px !important; }

.mb5 { margin-bottom: 5px !important; }

.pt5 { padding-top: 5px !important; }

.pl5 { padding-left: 5px !important; }

.pb5 { padding-bottom: 5px !important; }

.mt10 { margin-top: 10px !important; }

.mb10 { margin-bottom: 10px !important; }

.pt10 { padding-top: 10px !important; }

.pl10 { padding-left: 10px !important; }

.pb10 { padding-bottom: 10px !important; }

.mt15 { margin-top: 15px !important; }

.mb15 { margin-bottom: 15px !important; }

.pt15 { padding-top: 15px !important; }

.pl15 { padding-left: 15px !important; }

.pb15 { padding-bottom: 15px !important; }

.mt20 { margin-top: 20px !important; }

.mb20 { margin-bottom: 20px !important; }

.pt20 { padding-top: 20px !important; }

.pl20 { padding-left: 20px !important; }

.pb20 { padding-bottom: 20px !important; }

.mt25 { margin-top: 25px !important; }

.mb25 { margin-bottom: 25px !important; }

.pt25 { padding-top: 25px !important; }

.pl25 { padding-left: 25px !important; }

.pb25 { padding-bottom: 25px !important; }

.mt30 { margin-top: 30px !important; }

.mb30 { margin-bottom: 30px !important; }

.pt30 { padding-top: 30px !important; }

.pl30 { padding-left: 30px !important; }

.pb30 { padding-bottom: 30px !important; }

.mt35 { margin-top: 35px !important; }

.mb35 { margin-bottom: 35px !important; }

.pt35 { padding-top: 35px !important; }

.pl35 { padding-left: 35px !important; }

.pb35 { padding-bottom: 35px !important; }

.mt40 { margin-top: 40px !important; }

.mb40 { margin-bottom: 40px !important; }

.pt40 { padding-top: 40px !important; }

.pl40 { padding-left: 40px !important; }

.pb40 { padding-bottom: 40px !important; }

.mt45 { margin-top: 45px !important; }

.mb45 { margin-bottom: 45px !important; }

.pt45 { padding-top: 45px !important; }

.pl45 { padding-left: 45px !important; }

.pb45 { padding-bottom: 45px !important; }

.mt50 { margin-top: 50px !important; }

.mb50 { margin-bottom: 50px !important; }

.pt50 { padding-top: 50px !important; }

.pl50 { padding-left: 50px !important; }

.pb50 { padding-bottom: 50px !important; }

.mt55 { margin-top: 55px !important; }

.mb55 { margin-bottom: 55px !important; }

.pt55 { padding-top: 55px !important; }

.pl55 { padding-left: 55px !important; }

.pb55 { padding-bottom: 55px !important; }

.mt60 { margin-top: 60px !important; }

.mb60 { margin-bottom: 60px !important; }

.pt60 { padding-top: 60px !important; }

.pl60 { padding-left: 60px !important; }

.pb60 { padding-bottom: 60px !important; }

.mt65 { margin-top: 65px !important; }

.mb65 { margin-bottom: 65px !important; }

.pt65 { padding-top: 65px !important; }

.pl65 { padding-left: 65px !important; }

.pb65 { padding-bottom: 65px !important; }

.mt70 { margin-top: 70px !important; }

.mb70 { margin-bottom: 70px !important; }

.pt70 { padding-top: 70px !important; }

.pl70 { padding-left: 70px !important; }

.pb70 { padding-bottom: 70px !important; }

.mt75 { margin-top: 75px !important; }

.mb75 { margin-bottom: 75px !important; }

.pt75 { padding-top: 75px !important; }

.pl75 { padding-left: 75px !important; }

.pb75 { padding-bottom: 75px !important; }

.mt80 { margin-top: 80px !important; }

.mb80 { margin-bottom: 80px !important; }

.pt80 { padding-top: 80px !important; }

.pl80 { padding-left: 80px !important; }

.pb80 { padding-bottom: 80px !important; }

.mt85 { margin-top: 85px !important; }

.mb85 { margin-bottom: 85px !important; }

.pt85 { padding-top: 85px !important; }

.pl85 { padding-left: 85px !important; }

.pb85 { padding-bottom: 85px !important; }

.mt90 { margin-top: 90px !important; }

.mb90 { margin-bottom: 90px !important; }

.pt90 { padding-top: 90px !important; }

.pl90 { padding-left: 90px !important; }

.pb90 { padding-bottom: 90px !important; }

.mt95 { margin-top: 95px !important; }

.mb95 { margin-bottom: 95px !important; }

.pt95 { padding-top: 95px !important; }

.pl95 { padding-left: 95px !important; }

.pb95 { padding-bottom: 95px !important; }

.mt100 { margin-top: 100px !important; }

.mb100 { margin-bottom: 100px !important; }

.pt100 { padding-top: 100px !important; }

.pl100 { padding-left: 100px !important; }

.pb100 { padding-bottom: 100px !important; }

/* リセット
========================================================= */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

nav ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; text-decoration: none; }
a.notel { cursor: text; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

img, iframe { vertical-align: bottom; max-width: 100%; }

/* 基本設定
========================================================= */
html { scroll-behavior: smooth; }

body { font-family: "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴシック", "ＭＳ Ｐゴシック", sans-serif; font-weight: 500; line-height: 2.26; color: #000000; font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
@media screen and (max-width: 767px) { body { font-size: 16px; } }

main { background-color: #e4e4e4; }
main:after { content: ''; display: block; clear: both; width: 100%; height: 1px; margin-top: -1px; }

* { box-sizing: border-box; }

h1, h2, h3, h4, h5, h6 { font-family: "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴシック", "ＭＳ Ｐゴシック", sans-serif; font-weight: 400; color: #000000; line-height: 1.6; }

p { margin: 0; line-height: 2; }
p + p { margin-top: 2em; }

ul, dl, figure { margin: 0; padding: 0; }

li { list-style: none; }

a { color: #000000; transition: .4s; }
a:hover { color: #333333; text-decoration: none; }
a:hover img { opacity: 1; }

em { font-style: normal; }

.chu { font-size: 88.8888888889%; }

table { border-collapse: collapse; }

::-moz-selection { color: #fff; background-color: #e6c820; }

::selection { color: #fff; background-color: #e6c820; }

/* 表示・非表示
----------------------------------------------- */
.hidden { display: none; }

@media screen and (max-width: 1024px) { .hidden-tab-wide { display: none !important; } }

@media screen and (max-width: 959px) { .hidden-tab { display: none !important; } }

@media screen and (max-width: 767px) { .hidden-sp { display: none !important; } }

@media screen and (max-width: 479px) { .hidden-ss { display: none !important; } }

@media screen and (min-width: 960px) { .visible-tab { display: none !important; } }

@media screen and (min-width: 768px) { .visible-sp { display: none !important; } }

@media screen and (min-width: 480px) { .visible-ss { display: none !important; } }

/* 基本 body
========================================================= */
.com-wrapper-01 { padding-left: 4.5454545455%; padding-right: 4.5454545455%; }
@media screen and (max-width: 959px) { .com-wrapper-01 { padding-right: 0; padding-left: 0; } }

.com-wrapper-02 { padding-left: 4.5454545455%; padding-right: 4.5454545455%; margin-left: auto; margin-right: auto; }
@media screen and (max-width: 959px) { .com-wrapper-02 { padding-right: 16px; padding-left: 16px; } }

.com-container-01 { max-width: 1680px; box-sizing: content-box; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; }
@media (max-width: 959px) { .com-container-01 { padding-right: 16px; padding-left: 16px; } }

.com-container-02 { max-width: 1000px; box-sizing: content-box; margin-right: auto; margin-left: auto; padding-right: 20px; padding-left: 20px; }
@media (max-width: 959px) { .com-container-02 { padding-right: 16px; padding-left: 16px; } }

.com-container-03 { max-width: 1240px; margin-right: auto; margin-left: auto; padding-left: 20px; padding-right: 20px; }

.com-container-04 { max-width: 1500px; margin-right: auto; margin-left: auto; }
@media screen and (max-width: 767px) { .com-container-04 { padding-left: 20px; padding-right: 20px; } }

.com-container-05 { width: 100%; overflow: hidden; }

[class*="com-container-"] [class*="com-container-"] { padding-right: 0; padding-left: 0; }

@media screen and (max-width: 959px) { .sp_pd { padding-right: 16px; padding-left: 16px; } }

.mini_tit { text-align: center; width: 140px; font-size: 25px; font-family: "Roboto", sans-serif; background-color: #e6c820; border-radius: 20px; display: flex; align-items: center; justify-content: center; margin-left: auto; margin-right: auto; }
@media screen and (min-width: 480px) { .mini_tit { font-weight: bold; } }

.mini_tit_sub { text-align: center; width: 140px; font-size: 25px; font-family: "Roboto", sans-serif; background-color: #e6c820; border-radius: 20px; color: #fff; display: flex; align-items: center; justify-content: center; }
@media screen and (min-width: 480px) { .mini_tit_sub { font-weight: bold; } }
@media screen and (max-width: 479px) { .mini_tit_sub { width: 100px; font-size: 20px; } }

.border_radius_img img { border-radius: 10px; }

/* main_visual_sub
----------------------------------------------- */
#main_visual_sub { position: relative; overflow: hidden; }
@media screen and (max-width: 959px) { #main_visual_sub { height: 400px; } }

/* キービジュアル
----------------------------------------------- */
.kv { background-color: #fff; }
.kv .inner { position: relative; height: 470px; }
@media screen and (max-width: 959px) { .kv .inner { height: 400px; } }
.kv .tit { box-sizing: border-box; position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; padding-right: 16px; padding-left: 16px; text-align: center; font-weight: bold; line-height: 1.2; }
.kv .tit .en { font-size: 60px; font-weight: 600px; font-family: "Roboto", sans-serif; letter-spacing: 5px; }
@media screen and (max-width: 959px) { .kv .tit .en { font-size: 46px; } }
.kv figure { height: 100%; position: relative; }
.kv figure:after { position: absolute; top: 0; left: 0; content: ''; display: block; background-color: #00000020; width: 100%; height: 100%; }
.kv figure img { z-index: 0; position: absolute; width: 100%; height: 100%; object-fit: cover; max-width: none; font-family: 'object-fit: cover'; }

/* menu-button
========================================================= */
#menu-button { flex-shrink: 0; height: 60px; display: flex; flex-direction: column; justify-content: center; cursor: pointer; position: fixed; right: 20px; top: 0; z-index: 103; /*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/ /*&:before,&:after{
	@include content;
	width: 50px;
	height: 2px;
	background-color: #000;
	//transform-origin: center center;
	transition: .5s;
}
&:after{
	margin-top: 8px;
}
body.is-menu-open &{
	&:before{
		transform: rotate(25deg);
	}
	&:after{
		margin-top: -2px;
		transform: rotate(-25deg);
	}
}
body.is-menu-open:not(.is-touchdevice) &{
	right: calc((70/2000*100%) + 16px);
}*/ }
#menu-button .openbtn { position: relative; /*ボタン内側の基点となるためrelativeを指定*/ width: 60px; height: 60px; /*ボタン内側*/ /*activeクラスが付与されると線が回転して×に*/ }
#menu-button .openbtn span { display: inline-block; transition: all .4s; /*アニメーションの設定*/ position: absolute; left: 0px; height: 3px; background: #000; width: 60px; }
#menu-button .openbtn span:nth-of-type(1) { top: 24px; }
#menu-button .openbtn span:nth-of-type(2) { top: 38px; }
#menu-button .openbtn span:nth-of-type(3) { top: 52px; }
#menu-button .openbtn.active span:nth-of-type(1) { top: 40px; right: 20px; transform: translateY(6px) rotate(-45deg); width: 60px; }
#menu-button .openbtn.active span:nth-of-type(2) { opacity: 0; /*真ん中の線は透過*/ }
#menu-button .openbtn.active span:nth-of-type(3) { top: 52px; right: 20px; transform: translateY(-6px) rotate(45deg); width: 60px; }

/* header
========================================================= */
#header { position: fixed; top: 0; left: 0; z-index: 101; width: 100%; height: 180px; }
@media (min-width: 960px) and (max-width: 1420px) { #header { height: 12.676056338vw; } }
@media screen and (max-width: 959px) { #header { height: 80px; } }

.language { position: relative; }
.language.language_h { padding-left: 25px; margin-left: 10px; }
.language.pc .lang-btn + .lang-choice { left: 0; }
.language.sp { padding-left: 0; margin-left: 0; padding-right: 20px; margin-top: -20px; z-index: -1; }
.language.sp .lang-btn { justify-content: flex-end; }
.language.sp .lang-btn + .lang-choice { right: 20px; width: 60px; }
.language .lang-btn { display: block; cursor: pointer; position: relative; display: flex; justify-content: center; align-items: center; font-family: "Roboto", sans-serif; font-weight: 400; font-size: 20px; font-size: 1.25rem; }
.language .lang-btn:after { content: ''; display: inline-block; width: 11px; height: 4px; background: url("../images/common/language-arrow.png") no-repeat center center/contain; margin-left: 10px; transition: all 0.3s; }
.language .lang-btn.active:after { transform: rotate(-180deg); }
.language .lang-btn + .lang-choice { position: absolute; top: 100%; /*bottom: 0;
left: 100%;*/ opacity: 0; transition: opacity .5s; width: 75px; font-family: "Roboto", sans-serif; font-weight: 400; font-size: 15px; font-size: 0.9375rem; visibility: hidden; }
.language .lang-btn + .lang-choice ul li + li { margin-top: 1px; }
.language .lang-btn + .lang-choice ul li a { width: 100%; display: flex; justify-content: center; align-items: center; color: #fff; text-align: center; background-color: #000000; }
.language .lang-btn + .lang-choice ul li a:hover { background-color: #e6c820; }
.language .lang-btn.active + .lang-choice { opacity: 1; visibility: visible; }

.header-menu { display: flex; align-items: center; justify-content: space-between; padding: 0 calc(10/2000*100%) 0 4.5%; height: 100%; }
@media (min-width: 960px) and (max-width: 1420px) { .header-menu { padding: 0 calc(10/1420*100%) 0 0.7042253521%; } }
@media screen and (max-width: 959px) { .header-menu { padding-right: 16px; padding-left: 16px; } }
.header-menu > .logo { height: 100%; margin-right: 20px; display: flex; justify-content: center; align-items: center; }
@media screen and (max-width: 1200px) { .header-menu > .logo { margin-right: 1.6666666667%; } }
.header-menu > .logo img { min-width: 165px; }
@media (min-width: 960px) and (max-width: 1420px) { .header-menu > .logo img { width: 21.1267605634vw; } }
@media screen and (max-width: 959px) { .header-menu > .logo img { max-height: 80px; } }

#gnav { width: 100%; }
@media screen and (min-width: 960px) { #gnav { display: flex; justify-content: flex-end; align-items: center; } }
#gnav ul { display: flex; justify-content: flex-end; align-items: center; line-height: 1; }
@media screen and (min-width: 960px) { #gnav ul { padding: 30px 45px; border-radius: 30px; background-color: #000; margin-right: 1.25vw; height: 48px; }
  #gnav ul li .en { font-family: "Roboto", sans-serif; font-weight: 300; }
  #gnav ul li a { color: #fff; } }
@media (min-width: 960px) and (max-width: 1439px) { #gnav ul { padding: 2.084781098vw 3.127171647vw; }
  #gnav ul a { font-size: max(14px, 18 / 1439 * 100vw); } }
#gnav ul li { margin-right: 3vw; position: relative; }
#gnav ul li:last-child { margin-right: 0; }
#gnav ul li.key { margin-left: 20px; }
#gnav ul li.key:before { content: ''; display: block; background: url("../images/common/nav_key_pc.png") no-repeat; background-size: contain; width: 14px; height: 16px; position: absolute; top: 9px; left: -20px; }
@media screen and (max-width: 1439px) { #gnav ul li.key { margin-left: 16px; }
  #gnav ul li.key:before { width: 12px; top: 0.7644197359vw; left: -16px; } }
@media (min-width: 960px) and (max-width: 1439px) { #gnav ul li { margin-right: 1.3898540653vw; } }
@media screen and (max-width: 959px) { #gnav ul li { margin-bottom: 40px; display: flex; justify-content: center; }
  #gnav ul li.key { margin-left: -14px; }
  #gnav ul li.key:before { content: ''; display: block; background: url("../images/common/nav_key_sp.png") no-repeat; width: 14px; height: 16px; position: relative; top: 2px; left: -5px; } }
#gnav a { font-size: 18px; display: flex; justify-content: flex-start; align-items: center; flex-direction: column; text-align: center; }
@media screen and (min-width: 960px) { #gnav a.rotate { perspective: 300px; text-decoration: none; display: inline-block; } }
@media screen and (max-width: 959px) { #gnav a { font-size: 22px; } }
@media screen and (max-width: 959px) { #gnav a span:last-child { display: none; } }
@media screen and (min-width: 960px) { #gnav a .contact { border: 1px solid #e6c820; padding: 20px 23px; border-radius: 10px; }
  #gnav a .contact:hover { transition: 0.5s; border-radius: 0; background-color: #e6c820; color: #fff; }
  #gnav a span { /*position: relative;*/ backface-visibility: hidden; transition: transform .3s; display: block; height: 20px; /*&:before{
	@include content;
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	bottom: -2px;;
	left: 0;
	transform: scale(0, 1); //*アンダーラインの縮尺比率。ホバー前はx方向に0
	transform-origin: right top; //変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端
	transition: transform 0.3s;  //変形の時間
}*/ }
  #gnav a span:first-child { transform: translateY(10px) rotateX(0deg); }
  #gnav a span:last-child { transform: rotateX(-90deg); border-bottom: 1px solid #fff; }
  #gnav a:hover span { /*&:before{
	transform: scale(1, 1);     //ホバー後、x軸方向に1（相対値）伸長
	transform-origin: left top; //左から右に向かう
}*/ }
  #gnav a:hover span:first-child { transform: rotateX(90deg); }
  #gnav a:hover span:last-child { transform: translateY(-10px) rotateX(0deg); } }
@media screen and (max-width: 959px) { #gnav { visibility: hidden; opacity: 0; transition: opacity .5s; }
  body.is-menu-open #gnav { width: 100%; height: 100vh; background-color: #fff; overflow-y: scroll; position: fixed; padding: 80px 16px; top: 0; left: 0; visibility: visible; opacity: 1; transition: opacity 0; }
  #gnav .logo { display: none; margin-bottom: 8.3420229406vw; }
  body.is-menu-open #gnav .logo { display: block; }
  #gnav .text { text-align: center; font-size: 20px; font-weight: 600; margin-bottom: 20px; } }
@media screen and (max-width: 959px) and (max-width: 479px) { #gnav .text { margin-bottom: 6.2630480167vw; } }
@media screen and (max-width: 959px) { #gnav ul { display: none; }
  body.is-menu-open #gnav ul { display: block; }
  #gnav ul li { margin-right: 0; } }
#gnav .contact { background-color: #e6c820; padding: 25px 20px; border-radius: 30px; }
@media (min-width: 960px) and (max-width: 1420px) { #gnav .contact { padding: 1.7605633803vw 1.4084507042vw; } }
#gnav .contact:hover { transition: 0.5s; padding: 50px 20px; border-radius: 60px; }
#gnav .contact a { line-height: 1; font-size: 20px; font-weight: bold; transition: 0s; }
@media (min-width: 960px) and (max-width: 1420px) { #gnav .contact a { font-size: max(16px, 20 / 1420 * 100vw); } }
@media screen and (max-width: 959px) { #gnav .contact { max-width: 560px; min-width: 300px; margin-left: auto; margin-right: auto; padding: 15px; border-radius: 10px; }
  #gnav .contact:hover { transition: none; padding: 15px; border-radius: 10px; } }

/* ボタン
========================================================= */
.com-btn-01 { display: inline-flex; align-items: center; text-align: center; color: #000000; transition: .5s; line-height: 1; }
@media screen and (max-width: 768px) { .com-btn-01 { align-self: center; } }
.com-btn-01:after { content: ''; display: block; background: #000000 url("../images/common/button_arrow.png") no-repeat center center/16px; width: 25px; height: 25px; border-radius: 100%; transition: .5s; margin-right: auto; margin-left: 10px; }
.com-btn-01:hover { color: #e6c820; }
.com-btn-01:hover:after { background-color: #e6c820; }

.btn01 { width: 310px; height: 50px; background-color: #fff; border: 1px solid #c4c4c4; border-radius: 30px; display: flex; justify-content: center; align-items: center; margin-left: auto; margin-right: auto; color: #494949; font-size: 20px; position: relative; }
@media screen and (max-width: 768px) { .btn01 { align-self: center; } }
.btn01:after { content: ''; display: block; background: url("../images/common/button_arrow.png") no-repeat; width: 31px; height: 31px; transition: .5s; position: absolute; top: 0; bottom: 0; margin: auto 0; right: 7px; }
.btn01 span { position: relative; }
.btn01 span:before { content: ''; display: block; width: 100%; height: 1px; background-color: #494949; position: absolute; bottom: 12px; left: 0; transform: scale(0, 1); transform-origin: right top; transition: transform 0.3s; }
.btn01:hover span:before { transform: scale(1, 1); transform-origin: left top; }

/* plink
========================================================= */
.p_link { max-width: 1240px; margin-left: auto; margin-right: auto; padding-left: 20px; padding-right: 20px; display: flex; flex-wrap: wrap; justify-content: center; }
@media screen and (max-width: 959px) { .p_link { flex-wrap: wrap; } }
@media screen and (max-width: 767px) { .p_link { justify-content: space-around; } }
.p_link li { margin-bottom: 50px; margin-left: 20px; display: flex; justify-content: center; }
@media screen and (min-width: 1050px) { .p_link li { width: calc(100%/3 - 20px); }
  .p_link li:first-child, .p_link li:nth-child(3n+4) { margin-left: 0; }
  .p_link li:nth-child(3n+1):nth-last-child(-n+3), .p_link li:nth-child(3n+1):nth-last-child(-n+3) ~ li { margin-bottom: 0; } }
@media (min-width: 600px) and (max-width: 1049px) { .p_link li { text-align: center; width: calc(100%/2 - 20px); }
  .p_link li:first-child, .p_link li:nth-child(2n+3) { margin-left: 0; }
  .p_link li:nth-child(2n+1):nth-last-child(-n+2), .p_link li:nth-child(2n+1):nth-last-child(-n+2) ~ li { margin-bottom: 0; } }
@media screen and (max-width: 599px) { .p_link li { margin-left: 0; margin-bottom: 8.347245409vw; }
  .p_link li:last-child { margin-bottom: 0; } }
@media screen and (max-width: 767px) { .p_link li { font-size: 18px; } }
@media screen and (max-width: 479px) { .p_link li { font-size: 16px; } }
.p_link li a { width: 310px; height: 50px; background-color: #fff; border: 1px solid #c4c4c4; border-radius: 30px; display: flex; justify-content: center; align-items: center; color: #494949; font-size: 20px; position: relative; }
.p_link li a:after { content: ''; display: block; background: url("../images/common/p_link_arrow.png") no-repeat; width: 9px; height: 18px; transition: .5s; position: absolute; top: 0; bottom: 0; margin: auto 0; right: 20px; }
.p_link li a:hover:after { top: 10px; }

/* footer
========================================================= */
footer { position: relative; margin-top: 7.5vw; width: 100%; }
@media screen and (max-width: 767px) { footer { margin-top: 19.556714472vw; } }
footer .footer-sitemap { padding-top: 17.5vw; padding-bottom: 10vw; background-color: #ababab; }
@media screen and (max-width: 767px) { footer .footer-sitemap { padding-top: 15.6453715776vw; padding-bottom: 13.037809648vw; } }
footer .footer-sitemap .com-container-01 { display: flex; align-items: flex-start; margin-left: 8vw; margin-right: 8vw; }
@media screen and (max-width: 1024px) { footer .footer-sitemap .com-container-01 { margin-left: 4.8828125vw; margin-right: 4.8828125vw; } }
@media screen and (max-width: 767px) { footer .footer-sitemap .com-container-01 { flex-direction: column; align-items: center; margin-left: 0; margin-right: 0; } }
footer .footer-sitemap .container-01 { width: 50%; padding-right: 2.5vw; /*@media screen and (max-width: 959px) {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}*/ }
@media screen and (max-width: 1419px) { footer .footer-sitemap .container-01 { flex-shrink: 0; } }
@media screen and (max-width: 767px) { footer .footer-sitemap .container-01 { width: 100%; } }
footer .footer-sitemap .container-01 h2 { margin-bottom: 45px; }
@media screen and (max-width: 959px) { footer .footer-sitemap .container-01 h2 { max-width: 31.2825860271vw; margin-bottom: 4.6923879041vw; } }
@media screen and (max-width: 767px) { footer .footer-sitemap .container-01 h2 { max-width: 100%; text-align: center; margin-bottom: 5.8670143416vw; } }
footer .footer-sitemap .container-01 h3 { font-size: 40px; font-weight: bold; line-height: 1.4; }
@media screen and (max-width: 959px) { footer .footer-sitemap .container-01 h3 { font-size: max(28px, 40 / 959 * 100vw); } }
@media screen and (max-width: 767px) { footer .footer-sitemap .container-01 h3 { text-align: center; } }
footer .footer-sitemap .container-01 .address { margin-top: 50px; }
@media screen and (max-width: 767px) { footer .footer-sitemap .container-01 .address { text-align: left; margin-bottom: 50px; width: 250px; margin-left: auto; margin-right: auto; } }
footer .footer-sitemap .container-01 .address p { font-size: 22px; font-weight: bold; line-height: 1; }
@media screen and (max-width: 1199px) { footer .footer-sitemap .container-01 .address p { font-size: 18px; } }
@media (min-width: 768px) and (max-width: 959px) { footer .footer-sitemap .container-01 .address p { font-size: max(16px, 18 / 959 * 100vw); } }
@media screen and (max-width: 479px) { footer .footer-sitemap .container-01 .address p { font-size: 16px; } }
footer .footer-sitemap .container-01 .address p + p { margin-top: 30px; }
footer .footer-sitemap .container-02 { width: 50%; }
@media screen and (max-width: 767px) { footer .footer-sitemap .container-02 { width: 100%; } }
footer .footer-sitemap .container-02 .footer-contact { background-color: #e6c820; border-radius: 40px; max-width: 585px; height: 80px; margin-bottom: 105px; }
@media screen and (max-width: 1024px) { footer .footer-sitemap .container-02 .footer-contact { height: 7.8125vw; } }
@media screen and (max-width: 959px) { footer .footer-sitemap .container-02 .footer-contact { margin-bottom: 10.9489051095vw; } }
@media screen and (max-width: 767px) { footer .footer-sitemap .container-02 .footer-contact { margin-left: auto; margin-right: auto; max-width: 350px; height: max(50px, 70 / 767 * 100vw); } }
footer .footer-sitemap .container-02 .footer-contact a { width: 100%; height: 100%; font-size: 25px; font-weight: bold; font-family: "Roboto", sans-serif; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; position: relative; padding-top: 5px; padding-left: 40px; padding-right: 70px; }
@media screen and (max-width: 1399px) { footer .footer-sitemap .container-02 .footer-contact a { padding-right: 5.0035739814vw; } }
@media screen and (max-width: 959px) { footer .footer-sitemap .container-02 .footer-contact a { font-size: max(25px, 22 / 959 * 100vw); } }
@media screen and (max-width: 767px) { footer .footer-sitemap .container-02 .footer-contact a { font-size: max(20px, 25 / 767 * 100vw); } }
footer .footer-sitemap .container-02 .footer-contact a:after { content: ''; display: block; background: url("../images/common/button_arrow_entry.png") no-repeat; width: 39px; height: 15px; position: absolute; top: 0; bottom: 0; margin: auto 0; right: 20px; transition: 0.3s; padding-left: 50px; }
@media screen and (max-width: 1399px) { footer .footer-sitemap .container-02 .footer-contact a:after { padding-left: 3.5739814153vw; } }
footer .footer-sitemap .container-02 .footer-contact a:hover:after { right: 0; }
footer .footer-sitemap .container-02 .footer-nav { display: flex; }
footer .footer-sitemap .container-02 .footer-nav .footer-main-nav { width: 50%; padding-right: 2.5vw; /*@media screen and (max-width: 959px) {
	width: 48%;
	margin-top: 60/959*100vw;
	text-align: left;
	display: flex;
	flex-direction: column;
	align-items: center;
	&:first-child{
		margin-top: 0;
	}
}*/ }
footer .footer-sitemap .container-02 .footer-nav .footer-main-nav:last-child { padding-right: 0; }
@media screen and (max-width: 767px) { footer .footer-sitemap .container-02 .footer-nav .footer-main-nav { text-align: left; } }
footer .footer-sitemap .container-02 .footer-nav .footer-main-nav .en { font-family: "Roboto", sans-serif; }
@media screen and (max-width: 479px) { footer .footer-sitemap .container-02 .footer-nav .footer-main-nav .en li { letter-spacing: 0; } }
footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul { line-height: 1; }
footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul li { font-size: 20px; font-weight: bold; margin-bottom: 25px; line-height: 1.2; position: relative; }
footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul li:last-child { margin-bottom: 0; }
@media screen and (max-width: 1199px) { footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul li { font-size: 18px; } }
@media (min-width: 768px) and (max-width: 959px) { footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul li { font-size: max(16px, 18 / 959 * 100vw); } }
@media screen and (max-width: 479px) { footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul li { font-size: 16px; letter-spacing: -1px; } }
footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul li .jp { font-family: "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴシック", "ＭＳ Ｐゴシック", sans-serif; padding-top: 5px; margin-left: -10px; }
footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul li.key { padding-left: 18px; }
footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul li.key:before { content: ''; display: block; background: url("../images/common/nav_key_sp.png") no-repeat; background-size: contain; width: 14px; height: 16px; position: absolute; top: 2px; left: 0; }
@media screen and (max-width: 1199px) { footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul li.key { padding-left: 17px; }
  footer .footer-sitemap .container-02 .footer-nav .footer-main-nav ul li.key:before { width: 12px; } }
footer .footer-sitemap .container-02 .footer-sns-nav { margin-top: 30px; }
footer .footer-sitemap .container-02 .footer-sns-nav ul { display: flex; }
footer .footer-sitemap .container-02 .footer-sns-nav ul li { margin-right: 30px; }
footer .footer-sitemap .container-02 .footer-sns-nav ul li:last-child { margin-right: 0; }
@media screen and (max-width: 767px) { footer .footer-sitemap .container-02 .footer-sns-nav ul { justify-content: center; }
  footer .footer-sitemap .container-02 .footer-sns-nav ul li { margin-right: 3.9113428944vw; } }
footer .copyright { text-align: center; font-size: 22px; font-weight: bold; margin: 0 auto; padding-top: 20px; padding-bottom: 30px; }
@media screen and (min-width: 960px) { footer .copyright { padding-left: 4.5454545455%; padding-right: 4.5454545455%; } }
@media screen and (max-width: 959px) { footer .copyright { font-size: 18px; } }
@media screen and (max-width: 479px) { footer .copyright { font-size: 14px; padding-top: 10px; padding-bottom: 25px; } }
footer .link-delmar { display: block; position: absolute; right: calc(15px + env(safe-area-inset-right)); bottom: 5px; font-size: 0.75em; text-decoration: underline; /*@media (max-width:767px){
	bottom: 0;
}*/ }

/*#page-top{
	position: absolute;
	top: 0; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%);
}*/
#page-top { position: fixed; right: 80px; bottom: 60px; width: 80px; height: 80px; font-weight: bold; font-size: 10px; color: #fff; z-index: 10; background-color: #000; border-radius: 40px; display: flex; justify-content: center; align-items: flex-end; text-align: center; font-family: "Roboto", sans-serif; padding-bottom: 5px; }
@media screen and (max-width: 959px) { #page-top { right: 40px; } }
@media screen and (max-width: 479px) { #page-top { right: 20px; } }
#page-top:after { content: ''; display: block; background: url("../images/common/button_arrow_pt.png") no-repeat; width: 16px; height: 25px; position: absolute; top: 0; bottom: 20px; left: 0; right: 0; margin: auto; transition: .5s; }
#page-top:hover:after { bottom: 40px; }

/* パーツ
========================================================= */
/* 手書き風
----------------------------------------------- */
#sample { width: 50%; height: auto; margin-left: auto; margin-right: auto; /* position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);*/ }

#base path { fill: #000; /* 塗りの色 */ }

#mask path { fill: none; /* 塗りの色 */ stroke: #ffffff; /* 線の色 */ stroke-width: 5px; /* 線幅 */ stroke-linecap: round; /* 線端の形状 */ stroke-linejoin: round; /* 角の形状 */ }

/* 共通パーツ
----------------------------------------------- */
/* リンク・ボタン
-------------------------------------- */
a img { transition: .4s; opacity: 1; }
a img:hover { opacity: .8; }

/* セクション間の隙間
----------------------------------------------- */
.com-mt-01 { margin-top: 150px !important; }
@media screen and (max-width: 959px) { .com-mt-01 { margin-top: 100px !important; } }

.com-mt-02 { margin-top: 100px !important; }
@media screen and (max-width: 959px) { .com-mt-02 { margin-top: 70px !important; } }

.com-mt-03 { margin-top: 70px !important; }
@media screen and (max-width: 959px) { .com-mt-03 { margin-top: 50px !important; } }

.com-mt-04 { margin-top: 50px !important; }
@media screen and (max-width: 959px) { .com-mt-04 { margin-top: 40px !important; } }

.com-mt-05 { margin-top: 20px !important; }
@media screen and (max-width: 959px) { .com-mt-05 { margin-top: 15px !important; } }

.com-mt-06 { margin-top: 30px !important; }
@media screen and (max-width: 959px) { .com-mt-06 { margin-top: 20px !important; } }

.com-mt-07 { margin-top: 15px !important; }

.com-mt-0 { margin-top: 0 !important; }

.com-mb-02 { margin-bottom: 100px !important; }
@media screen and (max-width: 959px) { .com-mb-02 { margin-bottom: 70px !important; } }

.com-pt-0 { padding-top: 0 !important; }

.com-pb-0 { padding-bottom: 0 !important; }

.lh-crop::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2.26) * .5em); content: ""; }
.lh-crop::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2.26) * .5em); content: ""; }

/* アニメーション
----------------------------------------------- */
[class*="animate-"] { opacity: 0; }

@media screen and (min-width: 960px) { .delay-01 { transition-delay: 0.3s !important; } }

@media screen and (min-width: 960px) { .delay-02 { transition-delay: 0.6s !important; } }

@media screen and (min-width: 960px) { .delay-03 { transition-delay: 0.9s !important; } }

@media screen and (min-width: 960px) { .delay-04 { transition-delay: 1.2s !important; } }

@media screen and (min-width: 960px) { .delay-05 { transition-delay: 1.5s !important; } }

.animate-fadein { transition: 1s ease opacity; }
.animate-fadein.inview { opacity: 1; }

.animate-slide { transition: 1s ease; transition-delay: .34s; transform: scale(0.9) translateY(50px); }
.animate-slide.inview { opacity: 1; transform: scale(1) translateY(0); }

@keyframes fluffy {   /*
	0% {
		transform: rotateZ(5deg) scale(0.9);
	}
	25% {
		transform: rotateZ(-6deg) scale(1);
	}
	50% {
		transform: rotateZ(5deg) scale(0.9);
	}
	75% {
		transform: rotateZ(-4deg) scale(.95);
	}
	100% {
		transform: rotateZ(5deg) scale(0.9);
	}*/
  0% { transform: rotateZ(5deg) scale(0.9); }
  25% { transform: rotateZ(0) scale(1); }
  50% { transform: rotateZ(-5deg) scale(0.9); }
  75% { transform: rotateZ(0) scale(1); }
  100% { transform: rotateZ(5deg) scale(0.9); } }
.animate-fluffy { transition: 1s ease; transition-delay: 1s; }
.animate-fluffy.inview { opacity: 1; animation: fluffy 5s infinite; }

/* テンプレート
========================================================= */
/* セクション
----------------------------------------------- */
/*基本180
ページ内リンク↓150
項目内連続コンテンツ100
最上部200（サブページはパンくずで200あくかも）*/
/*memo*/
.com-section-01 { padding-top: 100px; padding-bottom: 100px; }
@media screen and (max-width: 767px) { .com-section-01 { padding-top: 50px; padding-bottom: 50px; } }

.com-section-02 { padding-top: 20px; padding-bottom: 20px; }
@media screen and (max-width: 767px) { .com-section-02 { padding-top: 10px; padding-bottom: 10px; } }

.com-section-03 { padding-bottom: 90px; }
@media screen and (max-width: 767px) { .com-section-03 { padding-bottom: 50px; } }

.com-section-04 { padding-top: 100px; padding-bottom: 50px; }
@media screen and (max-width: 767px) { .com-section-04 { padding-top: 50px; padding-bottom: 50px; } }

.com-section-05 { padding-top: 60px; padding-bottom: 90px; }
@media screen and (max-width: 767px) { .com-section-05 { padding-top: 30px; padding-bottom: 50px; } }

/* 見出し
-------------------------------------- */
.com-tit-01 { text-align: center; margin-bottom: 70px; }
@media screen and (max-width: 959px) { .com-tit-01 { margin-bottom: 30px; } }
.com-tit-01 span { display: block; }
.com-tit-01 span.en { font-size: 70px; font-family: "Roboto", sans-serif; line-height: 1; }
.com-tit-01 span.en::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1) * .5em); content: ""; }
.com-tit-01 span.en::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1) * .5em); content: ""; }
@media screen and (max-width: 960px) { .com-tit-01 span.en { font-size: 35px; } }
.com-tit-01 span.jp { margin-top: 30px; font-size: 22px; line-height: 1.3333333333; }
.com-tit-01 span.jp::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.3333333333) * .5em); content: ""; }
.com-tit-01 span.jp::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.3333333333) * .5em); content: ""; }
@media screen and (max-width: 960px) { .com-tit-01 span.jp { margin-top: 15px; font-size: 18px; } }

.com-tit-02 { font-size: 28px; line-height: 2; margin-bottom: 30px; }
.com-tit-02::before { display: block; width: 0; height: 0; margin-top: calc((1 - 2) * .5em); content: ""; }
.com-tit-02::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 2) * .5em); content: ""; }
@media screen and (max-width: 767px) { .com-tit-02 { font-size: 20px; line-height: 1.6; }
  .com-tit-02::before { display: block; width: 0; height: 0; margin-top: calc((1 - 1.6) * .5em); content: ""; }
  .com-tit-02::after { display: block; width: 0; height: 0; margin-bottom: calc((1 - 1.6) * .5em); content: ""; } }

/* グリッド
----------------------------------------------- */
.com-grid-01 { display: flex; flex-wrap: wrap; margin-left: -50px; margin-top: -50px; }
.com-grid-01 > * { width: 100%; box-sizing: border-box; }
@media screen and (max-width: 959px) { .com-grid-01 { margin-left: -20px; } }
.com-grid-01 > * { padding-left: 50px; margin-top: 50px; }
@media screen and (max-width: 959px) { .com-grid-01 > * { padding-left: 20px; } }
.com-grid-01.col-2 > * { width: 50%; }
@media screen and (max-width: 767px) { .com-grid-01.col-2 > * { width: 100%; } }
.com-grid-01.col-3 > * { width: calc(100% / 3.001); }
@media screen and (max-width: 959px) { .com-grid-01.col-3 > * { width: 50%; } }
@media screen and (max-width: 479px) { .com-grid-01.col-3 > * { width: 100%; } }
.com-grid-01.col-4 > * { width: 25%; }
@media screen and (max-width: 959px) { .com-grid-01.col-4 > * { width: 50%; } }
@media (min-width: 1200px) { .com-grid-01.margin-l { margin-left: -70px; } }
@media (min-width: 1200px) { .com-grid-01.margin-l > * { padding-left: 70px; } }

/* ローカルナビ
----------------------------------------------- */
.com-local-nav-01 { display: flex; flex-wrap: wrap; margin-top: -15px; }
.com-local-nav-01 > * { width: 100%; box-sizing: border-box; }
.com-local-nav-01 li { margin-top: 15px; border-left: #bebebe 1px solid; }
.com-local-nav-01 li:last-child { border-right: #bebebe 1px solid; }
@media screen and (max-width: 767px) { .com-local-nav-01 li { width: 100%; } }
.com-local-nav-01 a { position: relative; display: flex; align-items: center; justify-content: center; height: 60px; box-sizing: border-box; padding: 0 10px 10px; line-height: 1.2; letter-spacing: .1em; font-weight: 400; }
@media screen and (max-width: 767px) { .com-local-nav-01 a { height: 35px; padding-bottom: 13px; } }
.com-local-nav-01 a span { transition: .5s; }
body:not(.is-touchdevice) .com-local-nav-01 a:hover span, .com-local-nav-01 a.hover span, .com-local-nav-01 a.active span { transform: translateY(10px); }
@media screen and (min-width: 768px) { .com-local-nav-01.col-5 li { width: 20%; } }
@media screen and (min-width: 768px) { .com-local-nav-01.col-4 li { width: 25%; } }
@media screen and (min-width: 768px) { .com-local-nav-01.col-3 li { width: calc(100% / 3.001); } }
@media screen and (min-width: 768px) { .com-local-nav-01.col-2 li { width: 50%; } }
@media screen and (max-width: 767px) { .com-local-nav-01.col-2-sp li { width: 50%; } }
@media screen and (max-width: 767px) { .com-local-nav-01.col-2-sp li:nth-child(2n) { border-right: #bebebe 1px solid; } }
@media screen and (max-width: 767px) { .com-local-nav-01:not(.col-2-sp) li { border-right: #bebebe 1px solid; } }

/* slick
-------------------------------------- */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; left: 0; top: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { content: ""; display: table; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; height: 100%; min-height: 1px; outline: none; display: none; }
[dir="rtl"] .slick-slide { float: right; }
.slick-slide a { outline: none; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-arrow.slick-hidden { display: none; }

.slick-arrow { z-index: 5; position: absolute; top: 50%; transform: translateY(-50%); width: 31px; height: 60px; padding: 0; text-indent: -9999px; border: none; background-color: transparent; background-image: url(../images/common/slider_arrow_w.png); background-repeat: no-repeat; background-position: center; background-size: auto; outline: none; cursor: pointer; transition: .4s; overflow-x: clip; }
@media screen and (max-width: 767px) { .slick-arrow { width: 15.5px; height: 30px; background-size: 15.5px auto; } }
.slick-arrow.slick-next { right: 20px; }
@media screen and (max-width: 767px) { .slick-arrow.slick-next { right: 10px; } }
.slick-arrow.slick-prev { left: 20px; transform: translateY(-50%) rotate(180deg); }
@media screen and (max-width: 767px) { .slick-arrow.slick-prev { left: 10px; } }
.slick-arrow:hover { opacity: .7; }
.arrow-b .slick-arrow { background-image: url(../images/common/slider_arrow_b.png); }

.slick-dots { margin-top: 35px; display: flex; justify-content: center; width: 100%; }
.slick-dots li { width: 50px; height: 2px; margin: 0 5px; border: none; border-radius: none; appearance: none; -webkit-appearance: none; font-size: 0; line-height: 1; outline: none; background: #5f5341; transition: .4s; /*追加*/ position: relative; cursor: pointer; }
.slick-dots li.slick-active, .slick-dots li:hover, .slick-dots li.hover { background: #000000; }
@media screen and (max-width: 767px) { .slick-dots li { width: 25px; height: 1px; margin: 0 3px; } }
.slick-dots li:before { content: ''; display: block; position: absolute; width: 100%; height: 20px; top: -10px; left: 0; }
.slick-dots button { display: none; }

/* スライダー
-------------------------------------- */
@media screen and (max-width: 1330px) { .com-slider-box-01 { overflow: hidden; } }
.com-slider-box-01 .slick-dots { position: absolute; right: 0; bottom: 24px; left: 0; z-index: 1; }
@media screen and (max-width: 767px) { .com-slider-box-01 .slick-dots { bottom: auto; position: relative; margin-top: 16px; } }
@media screen and (max-width: 767px) { .com-slider-box-01 .slick-dots li.slick-active, .com-slider-box-01 .slick-dots li:hover, .com-slider-box-01 .slick-dots li.hover { background: #000; } }
.com-slider-box-01 img { width: 100%; }
.com-slider-box-01 .slick-arrow { z-index: 5; position: absolute; top: auto; bottom: 0; transform: translateY(0); width: 30px; height: 30px; background-image: none; background-color: #fff; display: flex; align-items: center; justify-content: center; font-size: 0; }
.com-slider-box-01 .slick-arrow:before { content: ''; display: block; width: 0; height: 0; border-style: solid; border-width: 3.5px 0 3.5px 7px; border-color: transparent transparent transparent #000000; }
.com-slider-box-01 .slick-arrow.slick-next { right: auto; left: calc(50% + 570px); }
@media screen and (max-width: 1330px) { .com-slider-box-01 .slick-arrow.slick-next { right: 0; left: auto; } }
.com-slider-box-01 .slick-arrow.slick-prev { right: auto; left: calc(50% + 540px); }
.com-slider-box-01 .slick-arrow.slick-prev:before { transform: scale(-1, 1); }
@media screen and (max-width: 1330px) { .com-slider-box-01 .slick-arrow.slick-prev { right: 30px; left: auto; } }

.com-slider-box-02 { max-width: 1100px; margin-right: auto; margin-left: auto; padding-bottom: 55px; }
@media screen and (max-width: 1330px) { .com-slider-box-02 { overflow: hidden; } }
@media screen and (max-width: 767px) { .com-slider-box-02 { padding-bottom: 20px; } }
.com-slider-box-02 .slick-dots { position: absolute; right: 0; bottom: -55px; left: 0; z-index: 1; }
@media screen and (min-width: 768px) { .com-slider-box-02 .slick-dots { justify-content: flex-start; } }
@media screen and (max-width: 767px) { .com-slider-box-02 .slick-dots { bottom: -20px; } }
.com-slider-box-02 .slick-dots li { margin: 0 10px 0 0; }
@media screen and (max-width: 767px) { .com-slider-box-02 .slick-dots li { margin-right: 6px; } }
.com-slider-box-02 .slick-dots li.slick-active, .com-slider-box-02 .slick-dots li:hover, .com-slider-box-02 .slick-dots li.hover { background: #000; }
.com-slider-box-02 .slick-arrow { z-index: 5; position: absolute; top: 50%; transform: translateY(-50%); width: 51px; height: 74px; }
@media screen and (max-width: 1330px) { .com-slider-box-02 .slick-arrow { background-image: url(../images/common/slider_arrow_shadow.png); } }
@media screen and (max-width: 767px) { .com-slider-box-02 .slick-arrow { width: 25.5px; height: 37px; background-size: 25.5px auto; } }
.com-slider-box-02 .slick-arrow.slick-next { right: auto; left: calc(50% + 610px); }
@media screen and (max-width: 1330px) { .com-slider-box-02 .slick-arrow.slick-next { left: auto; right: 10px; } }
.com-slider-box-02 .slick-arrow.slick-prev { left: auto; right: calc(50% + 610px); transform: translateY(-50%) rotate(180deg); }
@media screen and (max-width: 1330px) { .com-slider-box-02 .slick-arrow.slick-prev { right: auto; left: 10px; } }

.com-slider-box-03 { display: flex; flex-wrap: wrap; width: 123.5%; box-sizing: content-box; }
.com-slider-box-03 * { box-sizing: content-box; }
.com-slider-box-03::after { display: table; height: 0px; clear: both; font-size: 0; line-height: 1; }
@media screen and (max-width: 959px) { .com-slider-box-03 { width: 100%; } }
.com-slider-box-03.reverse { flex-direction: row-reverse; margin-right: 0; margin-left: auto; float: right; }
.com-slider-box-03 .col-01 { width: 42.5101214575%; padding-bottom: 47px; }
@media screen and (max-width: 959px) { .com-slider-box-03 .col-01 { width: 100%; padding-bottom: 30px; } }
.com-slider-box-03 .col-02 { flex: 1; box-sizing: border-box; padding: 30px 60px 0; }
@media screen and (min-width: 960px) { .com-slider-box-03 .col-02 { display: flex; flex-direction: column; justify-content: center; } }
@media screen and (max-width: 959px) { .com-slider-box-03 .col-02 { width: 100%; padding: 0 16px 0; }
  .com-slider-box-03 .col-02 .upper { padding: 0 30px; } }
.com-slider-box-03 .col-03 { width: 31.1740890688%; align-self: flex-end; }
.com-slider-box-03 .slider-01 { overflow: hidden; }
.com-slider-box-03 .slider-01 figure { overflow: hidden; }
.com-slider-box-03 .slider-01 img { object-fit: cover; width: 100%; height: 100%; transition: 5s; transform: scale(1.2); }
.com-slider-box-03 .slider-01 .slick-current img { transform: scale(1); }
.com-slider-box-03 .slider-01 .slick-dots { position: absolute; bottom: 24px; }
@media screen and (max-width: 767px) { .com-slider-box-03 .slider-01 .slick-dots li.slick-active, .com-slider-box-03 .slider-01 .slick-dots li:hover, .com-slider-box-03 .slider-01 .slick-dots li.hover { background: #000; } }
.com-slider-box-03 .slider-02 .animate-zoom-out { transform: scale(1) !important; opacity: 1 !important; }
.com-slider-box-03 .slick-arrow { width: 40px; height: 40px; top: auto; bottom: 10px; background-image: url(../images/common/slider_arrow_square.png); }
@media screen and (max-width: 959px) { .com-slider-box-03 .slick-arrow { z-index: 5; position: absolute; top: 50%; bottom: auto; transform: translateY(-50%); width: 51px; height: 74px; background-image: url(../images/common/slider_arrow_shadow.png); } }
@media screen and (max-width: 767px) { .com-slider-box-03 .slick-arrow { width: 25.5px; height: 37px; background-size: 25.5px auto; } }
.com-slider-box-03 .slick-arrow.slick-next { right: 0; left: auto; transform: none; }
@media screen and (max-width: 959px) { .com-slider-box-03 .slick-arrow.slick-next { right: 10px; } }
.com-slider-box-03 .slick-arrow.slick-prev { right: 41px; left: auto; transform: rotate(180deg); }
@media screen and (max-width: 959px) { .com-slider-box-03 .slick-arrow.slick-prev { right: auto; left: 10px; } }
.com-slider-box-03.reverse .slick-arrow.slick-next { right: 0; left: 41px; }
@media screen and (max-width: 959px) { .com-slider-box-03.reverse .slick-arrow.slick-next { right: 10px; left: auto; } }
.com-slider-box-03.reverse .slick-arrow.slick-prev { right: auto; left: 0; }
@media screen and (max-width: 959px) { .com-slider-box-03.reverse .slick-arrow.slick-prev { left: 10px; } }

_:-ms-lang(x)::-ms-backdrop, .com-slider-box-03 .col-02 { display: block; }

.com-slider-box-04 { position: relative; }
@media screen and (max-width: 479px) { .com-slider-box-04 ul { /*height: 600/479*100vw;*/ } }
.com-slider-box-04 ul li { padding-left: 20px; padding-right: 20px; }
.com-slider-box-04 .arrows_box .arrows .slick-arrow { background: url("../images/common/button_arrow_slider.png") no-repeat; background-size: contain; width: 3vw; height: 3vw; }
.com-slider-box-04 .arrows_box .arrows .slick-arrow.slick-next { right: 18%; }
.com-slider-box-04 .arrows_box .arrows .slick-arrow.slick-prev { left: 18%; }
@media screen and (max-width: 959px) { .com-slider-box-04 .arrows_box .arrows .slick-arrow { width: 6.2565172054vw; height: 6.2565172054vw; }
  .com-slider-box-04 .arrows_box .arrows .slick-arrow.slick-next { right: 1.0427528676vw; }
  .com-slider-box-04 .arrows_box .arrows .slick-arrow.slick-prev { left: 1.0427528676vw; } }

/* パネル
----------------------------------------------- */
.com-panel-01 { display: flex; align-items: flex-end; justify-content: space-between; }
@media screen and (max-width: 959px) { .com-panel-01 > * { width: 100%; } }
@media screen and (min-width: 960px) { .com-panel-01 .txt { padding-right: 50px; } }
@media screen and (max-width: 959px) { .com-panel-01 .btn { margin-top: 20px; } }
.com-panel-01:first-child .txt { margin-top: 0; }

.com-panel-02 { max-width: 1200px; margin-right: auto; margin-left: auto; }
.com-panel-02 > * { padding-right: 20px; padding-left: 20px; }
@media screen and (max-width: 767px) { .com-panel-02 > * { padding-right: 16px; padding-left: 16px; } }
.com-panel-02 .tit { margin-bottom: 1.5em; padding-bottom: 1em; font-size: 16px; border-bottom: #d5d0fb 1px solid; }
.com-panel-02 .grid { display: flex; flex-wrap: wrap; margin-left: -30px; }
.com-panel-02 .grid > * { width: 100%; box-sizing: border-box; }
.com-panel-02 .grid > * { flex: 1; width: 50%; padding-left: 30px; }
@media screen and (max-width: 767px) { .com-panel-02 .grid > * { width: 100%; } }
.com-panel-02 .btns { display: flex; flex-wrap: wrap; }
@media screen and (min-width: 768px) { .com-panel-02 .btns > * { margin-right: 35px; } }
@media screen and (max-width: 767px) { .com-panel-02 .btns > * { width: 100%; } }

.com-panel-03 { position: relative; padding-top: 100px; padding-bottom: 100px; /*> div {
	width: 50%;
	box-sizing: border-box;
	@media screen and (max-width: 767px) {
		width: 100%;
	}
}*/ }
@media screen and (max-width: 767px) { .com-panel-03 { padding-top: 45px; padding-bottom: 45px; } }
.com-panel-03:first-child { padding-top: 0; }
.com-panel-03 .header .tit { text-align: left; display: inline-block; font-size: 36px; letter-spacing: .1em; line-height: 2; font-family: "Roboto", sans-serif; color: #e6c820; }
@media screen and (max-width: 767px) { .com-panel-03 .header .tit { font-size: 25px; line-height: 1.6; } }
.com-panel-03 .header small { margin-top: 1em; display: block; }
@media screen and (max-width: 959px) { .com-panel-03 .header small { font-size: 11px; } }
@media screen and (max-width: 767px) { .com-panel-03 .txt { margin-top: 35px; } }
.com-panel-03 .txt p { line-height: 2.5; display: inline-block; text-align: left; }
@media screen and (max-width: 767px) { .com-panel-03 .txt p { line-height: 2; } }
.com-panel-03 .com-btn-01 { position: absolute; top: 0; right: -60px; }
@media screen and (max-width: 1160px) { .com-panel-03 .com-btn-01 { right: 20px; } }
@media screen and (max-width: 767px) { .com-panel-03 .com-btn-01 { position: relative; right: 0; margin-top: 75px; } }

.com-panel-04 { display: flex; flex-direction: column; justify-content: space-between; }
@media screen and (min-width: 960px) { .com-panel-04 { max-width: 380px; margin-right: auto; margin-left: auto; } }
@media screen and (max-width: 1300px) { .com-panel-04 { display: block; } }
.com-panel-04 .upper { flex: 1; }
.com-panel-04 .lower { margin-top: 70px; }
.com-panel-04 .header { /*@media screen and (min-width: 960px) {
	min-height: 250px;
}*/ }
.com-panel-04 .tit { font-size: 28px; line-height: 2; }
@media screen and (max-width: 767px) { .com-panel-04 .tit { font-size: 20px; line-height: 1.6; } }
.com-panel-04 .txt { margin-top: 30px; letter-spacing: .05em; }
.com-panel-04 dl { display: flex; flex-wrap: wrap; margin-top: 30px; letter-spacing: .2em; }
@media screen and (max-width: 767px) { .com-panel-04 dl { margin-top: 25px; } }
.com-panel-04 dt { width: 75px; }
@media screen and (max-width: 767px) { .com-panel-04 dt { width: 60px; } }
.com-panel-04 dt::after { content: ' |'; }
.com-panel-04 dd { width: calc(100% - 75px); }
@media screen and (max-width: 767px) { .com-panel-04 dd { width: calc(100% - 60px); } }

_:-ms-lang(x)::-ms-backdrop, .com-panel-04 { display: block; }

.com-panel-05 figure img { width: 100%; }
.com-panel-05 figure + .tit { margin-top: 1.2em; }
.com-panel-05 .tit { margin: 0 0 1em; font-size: 22px; }
@media screen and (max-width: 767px) { .com-panel-05 .tit { font-size: 18px; } }
.com-panel-05 .lower { margin-top: 70px; }
.com-panel-05 dl { display: flex; flex-wrap: wrap; margin-top: 30px; letter-spacing: .2em; }
@media screen and (max-width: 767px) { .com-panel-05 dl { margin-top: 25px; } }
.com-panel-05 dt { width: 75px; }
@media screen and (max-width: 767px) { .com-panel-05 dt { width: 60px; } }
.com-panel-05 dt::after { content: ' |'; }
.com-panel-05 dd { width: calc(100% - 75px); }
@media screen and (max-width: 767px) { .com-panel-05 dd { width: calc(100% - 60px); } }

.com-panel-06::after { display: table; height: 0px; clear: both; font-size: 0; content: ''; }
.com-panel-06 .box-01 { letter-spacing: .1em; }
@media screen and (min-width: 768px) { .com-panel-06 .box-01 { float: left; width: 50%; padding-top: 80px; } }
.com-panel-06 .box-01 .tit { margin-bottom: 2em; font-size: 60px; font-family: "Roboto", sans-serif; color: #d5d0fb; line-height: 1.2; font-weight: bold; }
@media screen and (max-width: 767px) { .com-panel-06 .box-01 .tit { margin-bottom: 1.4em; font-size: 35px; text-align: center; } }
.com-panel-06 .box-01 .tit small { font-size: 80%; }
@media screen and (min-width: 768px) { .com-panel-06 .box-02 { float: right; width: 41.6666666667%; } }
@media screen and (max-width: 767px) { .com-panel-06 .box-02 { margin-top: 40px; } }
@media screen and (max-width: 767px) { .com-panel-06 .box-02 figure { text-align: center; } }
.com-panel-06 .box-02 .detail { margin-top: 60px; padding-top: 1.5em; border-top: #d5d0fb 1px solid; }
@media screen and (max-width: 767px) { .com-panel-06 .box-02 .detail { margin-top: 40px; padding-top: 0; }
  .com-panel-06 .box-02 .detail .more-btn { display: block; position: relative; width: 100%; text-align: center; }
  .com-panel-06 .box-02 .detail .more-btn:after { content: ''; display: block; vertical-align: middle; width: 7px; height: 7px; border-top: 1px solid #000; border-right: 1px solid #000; transform-origin: center center; transform: rotate(135deg); margin-left: 1em; transition: .3s; position: absolute; right: 10px; top: 50%; margin-top: -4px; } }
.com-panel-06 .box-02 .detail.is-open { padding-top: 1.5em; padding-bottom: 30px; border-bottom: #d5d0fb 1px solid; }
.com-panel-06 .box-02 .detail.is-open .more-btn:after { transform: rotate(-45deg); }
@media screen and (max-width: 767px) { .com-panel-06 .box-02 .detail.is-open .detail-content { height: auto; max-height: 1000px; opacity: 1; } }
@media screen and (max-width: 767px) { .com-panel-06 .box-02 .detail-content { transition: .4s; height: 0; max-height: 0; opacity: 0; overflow: hidden; } }
@media screen and (min-width: 768px) { .com-panel-06 .box-03 { float: left; width: 50%; margin-top: 110px; } }
@media screen and (max-width: 767px) { .com-panel-06 .box-03 { margin-top: 50px; text-align: center; } }

.com-panel-07 { display: flex; justify-content: space-between; flex-wrap: wrap; }
.com-panel-07.reverse { flex-direction: row-reverse; }
@media screen and (max-width: 959px) { .com-panel-07 > * { width: 100% !important; }
  .com-panel-07 > * + * { margin-top: 30px; } }
.com-panel-07 .text { width: 37.5%; }
.com-panel-07 .text.middle { align-self: center; }
.com-panel-07 .image { width: 54.1666666667%; text-align: center; }

.com-panel-08 { overflow-x: hidden; padding-bottom: 50px; }
.com-panel-08, .com-panel-08 * { box-sizing: border-box; }
@media screen and (min-width: 960px) { .com-panel-08 { display: flex; align-items: center; max-width: 90%; margin-left: auto; margin-right: 0; }
  .com-panel-08 .col-01 { position: relative; z-index: 1; max-width: 500px; margin-right: 5.625%; }
  .com-panel-08 .col-02 { width: 75.625%; } }
@media screen and (max-width: 959px) { .com-panel-08 { max-width: 100%; padding-left: 16px; padding-right: 16px; text-align: center; }
  .com-panel-08 .com-tit-01:after { margin-left: auto; margin-right: auto; }
  .com-panel-08 .col-02 { margin-top: 30px; } }
.com-panel-08 h2 { margin-bottom: 50px; }
@media screen and (max-width: 767px) { .com-panel-08 h2 { margin-bottom: 30px; } }
.com-panel-08 .animate-from-right { transform: translateX(50%); transition: 2s ease-out transform,2s ease-out opacity,3s ease-out box-shadow; transition-delay: .5s; box-shadow: 0 0 0 0 transparent; }
.com-panel-08 .animate-from-right.inview { transform: translateX(0); opacity: 1; box-shadow: -50px 50px 0 0 rgba(186, 179, 167, 0.51); }

/* 条項系テキストレイアウト
----------------------------------------------- */
.com-texts-01 { counter-reset: number; }
.com-texts-01 section + section { margin-top: 30px; }
@media screen and (max-width: 767px) { .com-texts-01 section + section { margin-top: 20px; } }
.com-texts-01 section h4 { margin-bottom: 1em; }
.com-texts-01 section p { text-indent: 1em; }
.com-texts-01 section p.no-indent { text-indent: 0; }
.com-texts-01 section p, .com-texts-01 section ol, .com-texts-01 section ul, .com-texts-01 section dl { margin-top: 1em; }
.com-texts-01 section p:first-child, .com-texts-01 section ol:first-child, .com-texts-01 section ul:first-child, .com-texts-01 section dl:first-child { margin-top: 0; }
.com-texts-01 .count h4 { position: relative; padding-left: 2em; border-left: 3px solid #d5d0fb; border-bottom: 1px solid #d5d0fb; }
.com-texts-01 .count h4:before { counter-increment: number; content: counter(number); position: absolute; top: 0; left: .5em; }

/* テーブル
----------------------------------------------- */
.com-line-01 { border-color: #eeeeee; }

/* テーブル
----------------------------------------------- */
.com-table-01 { letter-spacing: .1em; line-height: 2.3333333333; }
.com-table-01 > div { display: flex; flex-wrap: wrap; }
.com-table-01 dt { width: 120px; }
@media screen and (max-width: 767px) { .com-table-01 dt { width: 90px; } }
.com-table-01.dt-01 dt { width: 160px; }
@media screen and (max-width: 767px) { .com-table-01.dt-01 dt { width: 120px; } }
.com-table-01.dt-02 dt { width: 60px; }
@media screen and (max-width: 767px) { .com-table-01.dt-02 dt { width: 55px; } }
.com-table-01 dd { flex: 1; }

.com-table-02 { background: #fff; border: #000000 1px solid; }
.com-table-02 > div { display: flex; flex-wrap: wrap; }
@media screen and (min-width: 480px) { .com-table-02 > div.large-nowrap { flex-wrap: nowrap; }
  .com-table-02 > div.large-nowrap > dt { flex-shrink: 0; } }
.com-table-02 > div + div dt { border-top: #fff 1px solid; }
@media screen and (max-width: 479px) { .com-table-02 > div + div dt { border: none; } }
.com-table-02 > div + div dd { border-top: #000000 1px solid; }
@media screen and (max-width: 479px) { .com-table-02 > div + div dd { border: none; } }
.com-table-02 > div.flex dd { flex-direction: column !important; padding: 0; }
.com-table-02 > div.flex dd div { padding: 1em 2em; }
.com-table-02 > div.flex dd div + div { border-top: #000000 1px solid; }
.com-table-02 > div.flex span { display: block; }
.com-table-02 dt { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 200px; padding: 1em; text-align: center; color: #fff; font-weight: bold; font-size: 16px; background: #000000; }
@media screen and (max-width: 767px) { .com-table-02 dt { font-size: 14px; width: 150px; } }
@media screen and (max-width: 479px) { .com-table-02 dt { width: 100%; } }
@media screen and (max-width: 479px) { .com-table-02 dt + dd { border: none; } }
.com-table-02 dd { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 1em 2em; font-size: 16px; color: #000000; border-color: #fff; border-style: solid; }
@media screen and (max-width: 767px) { .com-table-02 dd { font-size: 14px; } }
.com-table-02 .flex-dd { flex-shrink: 0; width: calc(100% - 200px); display: flex; }
@media screen and (max-width: 767px) { .com-table-02 .flex-dd { width: calc(100% - 150px); } }
@media screen and (max-width: 479px) { .com-table-02 .flex-dd { width: 100%; } }

.com-table-03 { display: flex; width: 100%; }
.com-table-03 > div { width: 100%; display: flex; flex-direction: column; }
.com-table-03 > div dt { width: auto; padding: .5em; }
@media screen and (max-width: 767px) { .com-table-03 > div dt { height: 4em; } }
.com-table-03 > div dd { padding: .5em; line-height: 1.2; }

.com-table-04 { display: flex; flex-wrap: wrap; margin-top: 30px; letter-spacing: .2em; }
@media screen and (max-width: 767px) { .com-table-04 { margin-top: 25px; } }
.com-table-04 dt { width: 75px; }
@media screen and (max-width: 767px) { .com-table-04 dt { width: 60px; } }
.com-table-04 dt::after { content: ' |'; }
.com-table-04 dd { width: calc(100% - 75px); }
@media screen and (max-width: 767px) { .com-table-04 dd { width: calc(100% - 60px); } }

.terms-figure-01 { font-family: "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴシック", "ＭＳ Ｐゴシック", sans-serif; }
.terms-figure-01 + .terms-figure-01 { margin-top: 50px; }
.terms-figure-01 .caption { display: block; margin-bottom: .8em; font-size: 16px; font-size: 1rem; font-weight: 700; letter-spacing: .15em; line-height: 1.64; }
@media screen and (max-width: 1024px) { .terms-figure-01 .caption { font-size: 13px; font-size: 0.8125rem; } }
.terms-figure-01 table { width: 100%; font-weight: 400; font-size: 15px; font-size: 0.9375rem; border: #000000 1px solid; background: #fff; }
@media screen and (max-width: 1024px) { .terms-figure-01 table { font-size: 13px; font-size: 0.8125rem; } }
@media screen and (max-width: 767px) { .terms-figure-01 table { font-size: 12px; font-size: 0.75rem; } }
.terms-figure-01 table th, .terms-figure-01 table td { vertical-align: middle; text-align: center; line-height: 1.4; box-sizing: border-box; }
.terms-figure-01 table td { border: #000000 1px solid; }
.terms-figure-01 table th { padding: .5em; font-weight: 400; background: #000000; border-color: #fff; border-width: 1px; border-style: solid; }
.terms-figure-01 table th:first-child { border-left-color: #000000; }
.terms-figure-01 table th:last-child { border-right-color: #000000; }
.terms-figure-01 table th[rowspan] { border-bottom: 0; }
.terms-figure-01 table tr:first-child td, .terms-figure-01 table tr:first-child th { border-top: 0; }
.terms-figure-01 table tr:last-of-type td, .terms-figure-01 table tr:last-of-type th { border-bottom: 0; }
.terms-figure-01 table.table-01 .col-01 { width: 65px; }
@media screen and (max-width: 1024px) { .terms-figure-01 table.table-01 .col-01 { width: 34px; } }
.terms-figure-01 table.table-01 .col-02 { width: 65px; }
@media screen and (max-width: 1024px) { .terms-figure-01 table.table-01 .col-02 { width: 34px; } }
.terms-figure-01 table.table-01 tbody td { padding: 30px 50px; text-align: left; }
@media screen and (max-width: 1024px) { .terms-figure-01 table.table-01 tbody td { padding: 20px 24px; } }
.terms-figure-01 table.table-02 { border-collapse: collapse; table-layout: fixed; height: 100%; /*.col-02 {
	width: 65px;
	@media screen and (max-width: 1024px) {
		width: 35px;
	}
	@media screen and (max-width: 767px) {
		width: 120px;
	}
}*/ }
.terms-figure-01 table.table-02 th.tit { padding: 0; background: #000000 url("../images/clause/line.png") no-repeat center; background-size: 100% 100%; border: #fff 1px solid; }
.terms-figure-01 table.table-02 th.tit > div { position: relative; min-height: 80px; }
@media screen and (max-width: 1024px) { .terms-figure-01 table.table-02 th.tit > div { min-height: 70px; } }
@media screen and (max-width: 767px) { .terms-figure-01 table.table-02 th.tit > div { min-height: 75px; } }
.terms-figure-01 table.table-02 th.tit span { margin: 0 !important; position: absolute; line-height: 1.2; }
@media screen and (max-width: 767px) { .terms-figure-01 table.table-02 th.tit span { font-size: 12px; font-size: 0.75rem; } }
.terms-figure-01 table.table-02 th.tit span:nth-of-type(1) { right: .5em; top: .2em; text-align: right; }
.terms-figure-01 table.table-02 th.tit span:nth-of-type(2) { left: .5em; bottom: .2em; text-align: left; }
.terms-figure-01 table.table-02 thead th { padding: 1.5em 1em; }
@media screen and (max-width: 1024px) { .terms-figure-01 table.table-02 thead th { padding: 2em 1em; } }
@media screen and (max-width: 767px) { .terms-figure-01 table.table-02 thead th { padding: .5em .2em; } }
.terms-figure-01 table.table-02 td { padding: 1.5em .5em; }
.terms-figure-01 table.table-02 th.wide { letter-spacing: .8em; }
@media screen and (max-width: 767px) { .terms-figure-01 table.table-02 th.small { font-size: 11px; font-size: 0.6875rem; letter-spacing: -.12em; } }
.terms-figure-01 table.table-02 .col-01 { width: 228px; }
@media screen and (max-width: 1024px) { .terms-figure-01 table.table-02 .col-01 { width: 115px; } }
@media screen and (max-width: 767px) { .terms-figure-01 table.table-02 .col-01 { width: 105px; } }
.terms-figure-01 p, .terms-figure-01 li { margin-top: 1em; line-height: 1.2; font-weight: 400; }
@media screen and (max-width: 1024px) { .terms-figure-01 p, .terms-figure-01 li { font-size: 13px; font-size: 0.8125rem; } }
.terms-figure-01 .att { margin-top: 1em; display: flex; }
.terms-figure-01 .att span { line-height: 1.7; width: 3em; font-weight: 400; font-size: 15px; font-size: 0.9375rem; }
@media screen and (max-width: 767px) { .terms-figure-01 .att span { font-size: 13px; font-size: 0.8125rem; } }
.terms-figure-01 .att p { padding: 0; flex: 1; margin: 0; }

/* リスト
----------------------------------------------- */
/*小さい文字の●リスト*/
.com-list-01 li { position: relative; padding-left: 1.5em; line-height: 1.6666666667; font-size: 14px; }
.com-list-01 li::before { position: absolute; left: 0; top: 4px; content: '●'; font-size: 6px; }

/*各種olリスト*/
.com-list-02 { padding-left: 1em; padding-right: 1em; counter-reset: number; /*ナンバリングをリセット*/ list-style: none; /*自動で数字をつけない*/ /*ナンバリングol　1.　2.　3.*/ /*ナンバリングol　(1)　(2)　(3)*/ /*ナンバリングol　(イ)　(ロ)　(ハ)*/ /*ナンバリングol　(a)(b)(c)*/ /*ナンバリングol　一　二　三*/ }
.com-list-02 li { position: relative; /*数字がinsideにならないように*/ padding-left: 2em; /*数字がinsideにならないように*/ }
.com-list-02 li:before { counter-increment: number; /*カウンターの名前をつける*/ content: counter(number); /*名前のカウンターの数字をcontentで足す*/ position: absolute; /*数字がinsideにならないように*/ top: 0; /*数字がinsideにならないように*/ left: 0; /*数字がinsideにならないように*/ }
.com-list-02 ol { /*ナンバリングolの中のデザイン上のパディングを消す*/ padding-left: 0; padding-right: 0; }
.com-list-02.dots > li:before { content: counter(number) "."; }
.com-list-02.parenthesis > li:before { content: "(" counter(number) ")"; }
.com-list-02.iroha > li { padding-left: 2.5em; }
.com-list-02.iroha > li:before { content: "(" counter(number,katakana-iroha) ")"; }
.com-list-02.lower-alpha > li { padding-left: 2em; }
.com-list-02.lower-alpha > li:before { content: "(" counter(number,lower-alpha) ")"; }
.com-list-02.kanji > li { padding-left: 2.5em; }
.com-list-02.kanji > li:before { content: counter(number,cjk-ideographic); }

/*ドット「・」リスト*/
.com-list-03 li { position: relative; padding-left: 1.5em; line-height: 2; }
.com-list-03 li::before { position: absolute; left: 0; top: 0; content: '・'; }

/*小さい四角リスト*/
.com-list-04 li { position: relative; padding-left: 1em; line-height: 1.875; }
.com-list-04 li::before { position: absolute; left: 0; top: 0; content: '▪'; }

/* ナンバリング見出し（.number-sectionsの子セクションごとの見出しをナンバリング）
----------------------------------------------- */
.number-sections { counter-reset: number; /*ナンバリングをリセット*/ }
.number-sections h4 { position: relative; /*数字がinsideにならないように*/ padding-left: 2em; /*数字がinsideにならないように*/ }
.number-sections h4:before { counter-increment: number; /*カウンターの名前をつける*/ content: counter(number) "."; /*名前のカウンターの数字をcontentで足す*/ position: absolute; /*数字がinsideにならないように*/ top: 0; /*数字がinsideにならないように*/ left: 0; /*数字がinsideにならないように*/ }

/* パンくず
========================================================= */
#pankuzu { display: flex; padding-top: 1em; }
#pankuzu > span, #pankuzu a { font-size: 14px; letter-spacing: .05em; color: #000000; }
#pankuzu > span::after, #pankuzu a::after { padding: 0 .5em; content: '>'; }
#pankuzu > span:last-child::after, #pankuzu a:last-child::after { content: ''; }

/* モーダル
========================================================= */
/* モーダル全体(背景＋本体) */
.modal { display: none; position: fixed; top: 0; left: 0; height: 100vh; width: 100%; z-index: 200; justify-content: center; align-items: center; }

/* モーダル背景 */
.modal-bg { position: absolute; height: 100vh; width: 100%; background: rgba(0, 0, 0, 0.8); }

/* モーダル本体 */
.modal-content { position: relative; width: 90%; max-height: 80vh; max-width: 1200px; }
@media screen and (max-width: 479px) { .modal-content { width: calc(100% - 32px); } }
.modal-content .modal-inner { padding: 10px; max-height: 80vh; background: #fff; }
.modal-content .js-modal-close { position: absolute; width: 40px; height: 40px; right: 0; top: -50px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.modal-content .js-modal-close:before, .modal-content .js-modal-close:after { content: ''; display: block; width: 40px; height: 3px; background-color: #fff; }
.modal-content .js-modal-close:before { transform: rotate(45deg); }
.modal-content .js-modal-close:after { transform: rotate(-45deg); margin-top: -3px; }
.modal-content .iframe-wrapper { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; width: 100%; }
.modal-content .iframe-wrapper:before { content: ''; display: block; padding-top: 56.25%; }
.modal-content .iframe-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* 汎用クラス
========================================================= */
/* テキストカラー
-------------------------------------- */
.com-color-01 { color: #000000; }

.com-color-02 { color: #e6c820; }

.com-color-03 { color: #d5d0fb; }

.com-color-red { color: #F00; }

/* 背景色
-------------------------------------- */
.com-bg-01 { background-color: #d5d0fb; }

.com-bg-02 { background-color: #FFF; }

/* テキスト寄せ
-------------------------------------- */
.text-center { text-align: center; }
@media screen and (max-width: 767px) { .text-center.sp-left { text-align: left; } }
@media screen and (min-width: 768px) { .text-center.pc-left { text-align: left; } }
@media screen and (min-width: 960px) { .text-center.tab-pc-left { text-align: left; } }

.text-right { text-align: right; }

.text-left-center { text-align: left; display: flex; flex-direction: column; align-items: center; }

/* テキストスタイル
-------------------------------------- */
.text-bold { font-weight: bold; }

.underline { text-decoration: underline; }

/*# sourceMappingURL=common.css.map */
