@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
*,
::before,
::after { box-sizing: border-box;}

html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;}
body { margin: 0;}
main { display: block;}
p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0;}
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0;}
ul, ol { margin: 0; padding: 0; list-style: none;}
dd { margin-left: 0;}
hr { box-sizing: content-box; height: 0; overflow: visible; border-top-width: 1px; margin: 0; clear: both; color: inherit;}
pre { font-family: monospace, monospace; font-size: inherit;}
address { font-style: inherit;}
a { background-color: transparent; text-decoration: none; color: inherit;}
abbr[title] { text-decoration: underline dotted;}
code, kbd, samp { font-family: monospace, monospace; font-size: inherit;}
small { font-size: 80%;}
sub,
sup { line-height: 0; position: relative; vertical-align: baseline;}

svg, img, embed, object, iframe { vertical-align: bottom;}

/* Forms */
/* ============================================ */
button, optgroup, select, textarea { -webkit-appearance: none; appearance: none; background: transparent; padding: 0; margin: 0; border-radius: 0;
 color: inherit; font: inherit; text-align: inherit; text-transform: inherit; vertical-align: middle;
}
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer;}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled { cursor: default;}
:-moz-focusring { outline: auto;}
select:disabled { opacity: inherit;}
option { padding: 0;}
fieldset { margin: 0; padding: 0; min-width: 0;}
legend { padding: 0;}

progress { vertical-align: baseline;}
textarea { overflow: auto;}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto;}
[type="search"] { outline-offset: -2px;}
[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;}
[type="number"] { -moz-appearance: textfield;}
label[for] { cursor: pointer;}
details { display: block;}
summary { display: list-item;}
[contenteditable]:focus { outline: auto;}

table { border-color: inherit; border-collapse: collapse;}
td,
th { vertical-align: top; padding: 0;}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; 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; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.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; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}
/*
.slick-arrow{ width: 34px; height: 34px; position: absolute; top: 50%; transform: translateY(-50%);
 background: #000; border: none; border-radius: 50%; z-index: 100;
 text-indent: -9999em; outline: none;
}
.slick-prev { left: 0px;}
.slick-next { right: 0px;}
.slick-arrow:before{ position: absolute; content: ''; display: block; width: 0px; height: 0px; top: 50%; transform: translateY(-50%);}
.slick-prev:before { left: 30%; border: solid 9px transparent; border-right: solid 16px #fff; border-left: 0;}
.slick-next:before { right: 30%; border: solid 9px transparent; border-left: solid 16px #fff; border-right: 0;}
*/
/** Dots */
.slick-dots { position: absolute; bottom: -25px; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: transparent; 
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1;}
.slick-dots li button:before { font-family: 'slick'; font-size: 6px; line-height: 20px; position: absolute; top: 0; left: 0;
	width: 20px; height: 20px; content: '•'; text-align: center; opacity: .25; color: black;
}
.slick-dots li.slick-active button:before { opacity: .75; color: black;}

@media (max-width: 481px) {
}



/*		font-style
-------------------------------------------------- */
body { width: 100%;
	color: #251e1c;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overscroll-behavior: none;
}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

body.fixed { position: fixed;
	touch-action: none;
	-webkit-overflow-scrolling: none;
	overflow: hidden;
	/* Other browsers */
	overscroll-behavior: none;
}
html:has(body.fixed) { overscroll-behavior: none;}

.min { font-family: "Noto Serif JP","游明朝", "Yu Mincho", "YuMincho", serif;}
.eng { font-family: "Ubuntu", sans-serif;}

::selection{ color: #000; background: #e3c3ff;}
::-moz-selection{ color: #000; background: #e3c3ff;}



a { color:#002159; text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}





@media (max-width: 641px) {
}
@media (max-width: 481px) {
}


#hd { position: absolute; width: 100%; background: #fff; z-index: 101;}
#hd .inner-hd { width: 96%; margin: 0 auto; padding: 25px 0;}
#hd .hd-ctn { position: relative; display: flex; justify-content: space-between; align-items: center;
 width: 100%; padding-right: 100px;
}
#hd .hd-logo{ width: 30%;}
#hd .hd-btn { width: 70%;}
#hd .hd-lang{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 90px; border-left: solid 1px #000;}

#hd .hd-logo h1 { line-height: 1;}
#hd .hd-logo h1 a { display: block; width: 80%; max-width: 330px;}
#hd .hd-logo h1 a img { width: 100%;}
#hd .hd-btn ul { font-size: 0; text-align: right;}
#hd .hd-btn ul li { display: inline-block; width: 50%; max-width: 260px; padding: 0 10px; font-size: 16px; line-height: 1;}
#hd .hd-btn ul li.sp { display: none;}
#hd .hd-btn ul li a { position: relative; display: block; width: 100%;
 padding: 15px 20px; padding-right: 50px;
 background: #4b305c; border-radius: 50px;
 color: #fff; font-weight: 700; letter-spacing: 0.05rem; text-align: center; text-decoration: none;
}
#hd .hd-btn ul li.sp a { background: #cb504f;}
#hd .hd-btn ul li a:after { content: ''; display: block; width: 21px; height: 21px;
 background: url('../img/arw-1.svg') no-repeat 50% 50% / 100% auto;
 position: absolute; right: 15px; top: 50%;
}
#hd .hd-btn ul li:nth-child(1) a:after { transform: translateY(-50%) rotate(-45deg);}
#hd .hd-btn ul li:nth-child(2) a:after { transform: translateY(-50%) rotate(90deg);}
#hd .hd-btn ul li.sp a:after { transform: translateY(-50%) rotate(90deg);}
#hd .hd-btn ul li a:hover { opacity: 0.8;}

#hd .hd-lang p { margin-bottom: 8px; font-size: 14px; line-height: 1; text-align: center;}
#hd .hd-lang ul { font-size: 0; text-align: center;}
#hd .hd-lang ul li { display: inline-block; width: 34px; font-size: 15px; line-height: 1;}
#hd .hd-lang ul li span,
#hd .hd-lang ul li a { display: block; width: 24px; height: 24px; margin: 0 auto; font-weight: 700; line-height: 24px; border-radius: 4px;}
#hd .hd-lang ul li span{ background: #4b305c; color: #fff;}
#hd .hd-lang ul li a { background: #d6d6d6; color: #676767; text-decoration: none;}
#hd .hd-lang ul li a:hover { background: #4b305c; color: #fff;}
@media (max-width: 1001px) {
	#hd .inner-hd { padding: 18px 0;}
	#hd .hd-btn ul li { max-width: 220px; padding: 0 6px; font-size: 14px;}
	#hd .hd-btn ul li a { padding: 10px; padding-right: 30px;}
	#hd .hd-btn ul li a:after { width: 16px; height: 16px; right: 12px;}
}
@media (max-width: 901px) {
	#hd .inner-hd { padding: 15px 0;}
	#hd .hd-logo{ width: 200px;}
	#hd .hd-btn { width: calc(100% - 200px);}
	#hd .hd-logo h1 a { width: 100%;}
	#hd .hd-btn ul li.pc { display: none;}
	#hd .hd-btn ul li.sp { display: inline-block; width: 100%; max-width: 180px;}
}
@media (max-width: 641px) {
	#hd .hd-lang p { display: none;}
}
@media (max-width: 481px) {
	#hd .inner-hd { padding: 10px 0;}
	#hd .hd-ctn { padding-right: 76px;}
	#hd .hd-logo{ width: 130px;}
	#hd .hd-btn { width: calc(100% - 130px);}
	#hd .hd-lang{ width: 70px;}


	#hd .hd-btn ul li { padding: 0 4px; font-size: 11px;}
	#hd .hd-btn ul li.sp { display: inline-block; width: 100%; max-width: 130px;}
	#hd .hd-btn ul li a { padding: 8px 4px; padding-right: 20px; letter-spacing: 0;}
	#hd .hd-btn ul li a:after { width: 14px; height: 14px; right: 7px;}
	#hd .hd-lang ul li { width: 30px; font-size: 12px;}
}



#ft { background: #4b305c;}
#ft .inner-ft { padding: 40px 0 20px;}
#ft .ft-bnr { width: 90%; max-width: 1000px; margin: 0 auto 50px;}
#ft .ft-bnr ul { font-size: 0; text-align: center;}
#ft .ft-bnr ul li { display: inline-block; width: 50%; padding: 12px 15px;}
#ft .ft-bnr ul li a { display: block; width: 100%; padding: 3px;}
#ft .ft-bnr ul li:nth-child(1) a,
#ft .ft-bnr ul li:nth-child(2) a { background: #c8c8c8;}
#ft .ft-bnr ul li:nth-child(3) a { background: #9ec45e;}
#ft .ft-bnr ul li:nth-child(4) a { background: #95bae3;}
#ft .ft-bnr ul li:nth-child(1) a:hover,
#ft .ft-bnr ul li:nth-child(2) a:hover { background: #fff;}
#ft .ft-bnr ul li:nth-child(3) a:hover { background: #fff;}
#ft .ft-bnr ul li:nth-child(4) a:hover { background: #fff;}
#ft .ft-bnr ul li a img { width: 100%;}
#ft .ft-bnr ul li a:hover img{ opacity: 0.6;}

#ft .ft-link { margin-bottom: 30px;}
#ft .ft-link ul { font-size: 0px; text-align: center;}
#ft .ft-link ul li { display: inline-block; padding: 0 15px; font-size: 16px; letter-spacing: 0.1rem; line-height: 1.2;}
#ft .ft-link ul li:first-child { border-right: solid 1px #fff;}
#ft .ft-link ul li a { color: #fff; text-decoration: none;}
#ft .ft-link ul li a:hover { text-decoration: underline;}

#ft .ft-logo { width: 85%; max-width: 560px; margin: 0 auto 30px;}
#ft .ft-logo ul { font-size: 0px;}
#ft .ft-logo ul li { display: inline-block; width: 50%; padding: 0 15px;}
#ft .ft-logo ul li a { display: block; width: 100%; max-width: 260px;}
#ft .ft-logo ul li a img { width: 100%;}
#ft .ft-logo ul li a:hover img{ opacity: 0.8;}
#ft .copyright { }
#ft .copyright p { color: #fff; font-size: 12px; text-align: center;}
@media (max-width: 801px) {
	#ft .ft-logo { margin-bottom: 20px;}
	#ft .ft-bnr { width: 75%; margin-bottom: 30px;}
	#ft .ft-bnr ul li { display: block; width: 100%; padding: 6px;}
	#ft .ft-bnr ul li a { padding: 2px;}
}
@media (max-width: 641px) {
	#ft .copyright p span { display: block;}
}
@media (max-width: 481px) {
	#ft .inner-ft { padding: 20px 0 12px;}
	#ft .ft-link { margin-bottom: 20px;}
	#ft .ft-link ul li { font-size: 12px; letter-spacing: 0.05rem;}
	#ft .ft-logo { margin-bottom: 12px;}
	#ft .copyright p { font-size: 10px;}
}

.wrap { position: relative; width: 100%; padding-top: 96px;}
@media (max-width: 1001px) {
	.wrap { padding-top: 70px;}
}
@media (max-width: 801px) {
	.wrap { padding-top: 64px;}
}
@media (max-width: 481px) {
	.wrap { padding-top: 46px;}
}

#kv { width: 100%;}
#kv .inner-kv { position: relative;}
#kv .ctn { position: absolute; left: 0; top: 50%; width: 100%; z-index: 2; transform: translateY(-50%);}
#kv .ctn .inner { width: 80%; max-width: 1200px; margin: 0 auto;}
#kv .ctn h1 { margin-bottom: 20px; font-size: 45px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.4;}
#kv .ctn .btn a { display: block; width: 100%; max-width: 250px; padding: 16px 0; background: #cb504f; border-radius: 50px; line-height: 1; text-align: center;}
#kv .ctn .btn a:after { content: ''; display: inline-block; width: 21px; height: 21px;
 background: url('../img/arw-1.svg') no-repeat 50% 50% / 100% auto;
 position: relative; transform: rotate(90deg); vertical-align: middle;
}
#kv .ctn .btn a span { display: inline-block; margin-right: 15px; color: #fff; font-size: 21px; font-weight: 700; vertical-align: middle;}
#kv .ctn .btn a:hover { opacity: 0.8;}
#kv .bg-kv { position: relative; z-index: 1;
 width: 100%; height: 400px; background: url('../img/kv.jpg') no-repeat 50% 50% / cover;
}
#kv .bg-kv img { display: none;}
@media (max-width: 801px) {
	#kv .ctn { display: none;}
	#kv .bg-kv { height: auto; background: none;}
	#kv .bg-kv img { display: block; width: 100%;}
}


.ttl { text-align: center;}
.ttl:after { content: ''; display: block; width: 100%; height: 18px; background: url('../img/icn.svg') no-repeat 50% 50% / auto 100%;}
.ttl h2 { margin-bottom: 12px; font-size: clamp(21px, 3.8vw, 38px); font-weight: 700; letter-spacing: 0.1rem; line-height: 1.2;}
@media (max-width: 481px) {
	.ttl:after { height: 12px;}
	.ttl h2 { margin-bottom: 6px;}
}


#edo { position: relative; background: #4b305c; z-index: 2;}
#edo .inner-sct { position: relative; padding: 60px 0 50px;}
#edo .ttl { margin-bottom: 20px;}
#edo .ttl h2 { color: #fff;}
#edo .txt { width: 88%; max-width: 1000px; margin: 0 auto;}
#edo .txt p { color: #fff; font-size: 18px; font-weight: 700; letter-spacing: 0.1rem;}
#edo .avator { position: absolute; right: 20px; top: -60px; width: 26%; max-width: 240px;}
#edo .avator a { display: block;}
#edo .avator a img { width: 100%;}
#edo .avator a:hover { opacity: 0.8;}
@media (max-width: 801px) {
	#edo .txt p { font-size: 16px;}
}
@media (max-width: 481px) {
	#edo .inner-sct { padding: 40px 0px;}
	#edo .ttl { margin-bottom: 12px;}
	#edo .txt p { font-size: 12px; letter-spacing: 0.05rem;}
	#edo .avator { right: 12px; top: -24px;}
}



#map { background: #efedde;}
#map .inner-sct { padding: 60px 0 90px;}
#map .ttl { margin-bottom: 20px;}
#map .wide-show {}
#map .short-show { display: none;}
#map .pc-flex { display: flex; justify-content: space-between; align-items: center;
 width: 90%; max-width: 920px; margin: 0 auto 40px;
}
#map .pc-flex .txt { width: 66%;}
#map .pc-flex .img { width: 30%;}
#map .pc-flex .txt p { margin-bottom: 12px; font-size: 20px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.8;}
#map .pc-flex .txt .descript { position: relative; width: 100%; padding: 10px; background: #fff; border-radius: 12px;}
#map .pc-flex .txt .descript dl { position: relative; width: 100%; padding: 8px 20px; padding-left: 50px;}
#map .pc-flex .txt .descript dl dt { width: 20px; position: absolute; left: 20px; top: 0.25em;}
#map .pc-flex .txt .descript dl dt img { width: 100%;}
#map .pc-flex .txt .descript dl dd { font-size: 15px; font-weight: 700; letter-spacing: 0.05rem; line-height: 1.4;}
#map .pc-flex .txt .descript dl dd span { display: block; font-size: 12px;}

#map .pc-flex .img figure { text-align: center;}
#map .pc-flex .img figure img { width: 100%; max-width: 280px;}

#map .sp-show { display: none; padding-bottom: 30px;}
#map .sp-flex { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;
 width: 88%; max-width: 850px; margin: 0 auto 12px;
}
#map .sp-flex .txt { width: 66%;}
#map .sp-flex .img { width: 30%;}
#map .sp-flex .txt p { margin-bottom: 20px; font-size: 18px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.8;}
#map .sp-flex .img figure { text-align: center;}
#map .sp-flex .img figure img { width: 100%; max-width: 250px;}
#map .sp-descript { position: relative; width: 100%; margin: 0 auto; padding: 10px; background: #fff; border-radius: 12px;}
#map .sp-descript dl { position: relative; width: 100%; max-width: 350px; margin: 0 auto; padding: 8px; padding-left: 60px;}
#map .sp-descript dl dt { width: 20px; position: absolute; left: 15px; top: 50%; transform: translateY(-50%);}
#map .sp-descript dl dt img { width: 100%;}
#map .sp-descript dl dd { font-size: 14px; font-weight: 700; letter-spacing: 0.05rem;}
#map .sp-descript dl dd span { display: block; font-size: 10px;}


#map .mapArea { position: relative; width: 94%; max-width: 1000px; margin: 0 auto 30px;}
#map .mapArea.mb { margin-bottom: 60px;}
#map .mapArea h3 { position: relative; margin-bottom: 8px; font-size: 28px; font-weight: 700; letter-spacing: 0.1rem; text-align: center;}
#map .mapArea h3:after { content: ''; display: block; width: 90%; max-width: 160px; height: 2px; background: #000;
 position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 1;
}
#map .mapArea h3 span { position: relative; display: inline-block; padding: 0 10px; background: #efedde; z-index: 2;}
#map .mapView-1 { position: relative; width: 100%;}
#map .mapView-1 .viewArea { position: relative; width: 100%; max-width: 1000px; height: 420px; margin-bottom: 6px;
 overflow: hidden; overflow: clip;
 background: #fff; border: solid 1px #ccc; overscroll-behavior: contain;
}
#map .mapView-2 { position: relative; width: 100%; max-width: 1000px; margin: 0 auto 20px;}
#map .mapView-2 .viewArea { position: relative; width: 100%; max-width: 660px; height: 935px; margin: 0 auto 20px;
 overflow: hidden; overflow: clip;
 background: #fff; border: solid 1px #ccc; overscroll-behavior: contain;

}
#map .mapView-1 .popup-1 { position: absolute; left: 0; top: 0; width: 100%; height: 1px;}
#map .mapView-2 .popup-2 { position: absolute; left: 0; top: 0; width: 100%; height: 1px;}

#map .moveMap { position: absolute; width: 100%; height: 100%; cursor: move;}
#map .moveMap .inner { position: relative; width: 100%;}
#map .moveMap .map-L { position: relative; width: 100%;}

#map .moveMap .map-L:after { content: ''; display: block; width: 100%; height: 100%;
 position: absolute; left: 0; top: 0; z-index: 2;}
#map .moveMap .map-L img { width: 100%;}

#map .moveMap .map-S { position: relative; width: 100%; margin: 0 auto;}
#map .moveMap .map-S:after { content: ''; display: block; width: 100%; height: 100%;
 position: absolute; left: 0; top: 0; z-index: 2;}
#map .moveMap .map-S img { width: 100%;}

#map .moveMap .pin-s,
#map .moveMap .pin-m,
#map .moveMap .pin-3ds,
#map .moveMap .pin-3dm{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 10; cursor: pointer; font-size: 0;}
#map .moveMap .pin-s,
#map .moveMap .pin-3ds { width: 3.0%; max-width: 23px;}
#map .moveMap .pin-m,
#map .moveMap .pin-3dm { width: 4.8%; max-width: 32px;}

#map .moveMap .pin-s span,
#map .moveMap .pin-m span,
#map .moveMap .pin-3ds span,
#map .moveMap .pin-3dm span { display: block; position: relative;}

#map .moveMap .pin-s span svg,
#map .moveMap .pin-m span svg,
#map .moveMap .pin-3ds span svg,
#map .moveMap .pin-3dm span svg { position: relative; }

#map .moveMap .pin-s svg .pinColor,
#map .moveMap .pin-m svg .pinColor { fill: #c50018;}
#map .moveMap .pin-s:hover,
#map .moveMap .pin-m:hover { z-index: 11;}
#map .moveMap .pin-s:hover svg .pinColor,
#map .moveMap .pin-m:hover svg .pinColor { fill: #dd960f;}

#map .moveMap .pin-s.on svg .pinColor,
#map .moveMap .pin-m.on svg .pinColor { fill: #dd960f;}

#map .moveMap .pin-3ds svg .bgColor,
#map .moveMap .pin-3dm svg .bgColor { fill: #c50018;}
#map .moveMap .pin-3ds svg .txt-vr,
#map .moveMap .pin-3dm svg .txt-vr { fill: #fff;}
#map .moveMap .pin-3ds svg .txt-ar,
#map .moveMap .pin-3dm svg .txt-ar { fill: #fff; visibility: hidden;}
#map .moveMap .pin-3ds.ar svg .txt-vr,
#map .moveMap .pin-3dm.ar svg .txt-vr { visibility: hidden;}
#map .moveMap .pin-3ds.ar svg .txt-ar,
#map .moveMap .pin-3dm.ar svg .txt-ar { visibility: visible;}
#map .moveMap .pin-3ds:hover,
#map .moveMap .pin-3dm:hover { z-index: 11;}
#map .moveMap .pin-3ds:hover svg,
#map .moveMap .pin-3dm:hover svg { transform: scale(1.3);}
#map .moveMap .pin-3ds:hover svg .bgColor,
#map .moveMap .pin-3dm:hover svg .bgColor { fill: #dd960f;}
#map .moveMap .pin-3ds.on,
#map .moveMap .pin-3dm.on { z-index: 11;}
#map .moveMap .pin-3ds.on svg ,
#map .moveMap .pin-3dm.on svg { transform: scale(1.3);}
#map .moveMap .pin-3ds.on svg .bgColor,
#map .moveMap .pin-3dm.on svg .bgColor { fill: #dd960f;}


#map .moveMap .pin.on svg .color { fill: #dd960f;}

#map .mapArea p.note { margin-bottom: 4px; font-size: 14px; font-weight: 600; text-align: right;}
#map .mapArea .loupe { }
#map .mapArea .loupe ul { width: 65%; max-width: 320px; margin: 0 auto; font-size: 0; text-align: center;}
#map .mapArea .loupe ul li { display: inline-block; width: 50%; padding: 0 15px; font-size: 22px; line-height: 1; vertical-align: middle;}
#map .mapArea .loupe ul li span { position: relative; display: block;
 width: 100%; max-width: 128px; margin: 0 auto; background: #4b305c; border-radius: 50px;
 cursor: pointer;
}
#map .mapArea .loupe ul li span:after { content: ''; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0;}
#map .mapArea .loupe ul li span em { position: relative; display: block; padding: 10px 0; padding-left: 28px;
 color: #fff; font-weight: 700; letter-spacing: 0.1rem;
}
#map .mapArea .loupe ul li span em:before,
#map .mapArea .loupe ul li span em:after { content: ''; display: block; width: 12px; height: 2px; background: #fff;
 position: absolute; left: 25px; top: 50%;
}
#map .mapArea .loupe ul li span em::selection{ color: #fff; background: none;}
#map .mapArea .loupe ul li span em::-moz-selection{ color: #fff; background: none;}

#map .mapArea .loupe ul li span.zoom1 em:before{ transform: translateY(-50%);}
#map .mapArea .loupe ul li span.zoom1 em:after { transform: translateY(-50%) rotate(90deg);}
#map .mapArea .loupe ul li span.zoomout1 em:after { content: none;}
#map .mapArea .loupe ul li span.zoom2 em:before{ transform: translateY(-50%);}
#map .mapArea .loupe ul li span.zoom2 em:after { transform: translateY(-50%) rotate(90deg);}
#map .mapArea .loupe ul li span.zoomout2 em:after { content: none;}
#map .mapArea .loupe ul li span:hover { opacity: 0.8;}


#map .btn { width: 65%; max-width: 340px; margin: 0 auto;}
#map .btn a { position: relative; display: block; width: 100%;
 margin: 0 auto; padding: 20px 0; padding-right: 50px;
 background: #4b305c; border-radius: 50px;
 color: #fff; font-size: 22px; font-weight: 700; letter-spacing: 0.05rem; text-align: center; text-decoration: none;
}
#map .btn a:after { content: ''; display: block; width: 32px; height: 32px;
 background: url('../img/arw-dl.svg') no-repeat 50% 50% / 100% 100%;
 position: absolute; right: 25px; top: 50%; transform: translateY(-50%);
}
#map .btn a:hover { opacity: 0.8;}

@media (max-width: 1062px) {
	#map .mapView-1 .viewArea { height: 39.4vw;}
}
@media (max-width: 701px) {
	#map .mapView-2 .viewArea { height: 133.1vw;}
}
@media (max-width: 801px) {
	#map .wide-show { display: none;}
	#map .short-show { display: block;}

	#map .mapArea .loupe ul li { font-size: 18px;}

	#map .btn a { padding: 12px 0; font-size: 18px;}
	#map .btn a:after { width: 25px; height: 25px;}
}

@media (max-width: 641px) {
}
@media (max-width: 481px) {
	#map .inner-sct { padding: 40px 0px;}
	#map .ttl { margin-bottom: 12px;}
	#map .short-show { padding-bottom: 20px;}
	#map .sp-flex .txt p { margin-bottom: 8px; font-size: 13px; line-height: 1.65; letter-spacing: 0.05rem;}
	#map .sp-descript { padding: 6px; border-radius: 10px;}
	#map .sp-descript dl { padding: 6px 0; padding-left: 32px; border-radius: 10px;}
	#map .sp-descript dl dt { width: 15px; left: 8px;}
	#map .sp-descript dl dd { font-size: 10px; letter-spacing: 0.02rem;}

	#map .mapArea { margin-bottom: 20px;}
	#map .mapArea.mb { margin-bottom: 40px;}
	#map .mapArea h3 { margin-bottom: 6px; font-size: 20px;}
	#map .mapArea h3:after { max-width: 120px;}
	#map .mapArea p.note { margin-bottom: 10px; font-size: 11px; text-align: center;}

	#map .mapArea .loupe ul li { padding: 0 8px; font-size: 16px;}
	#map .mapArea .loupe ul li span em { padding: 8px 0; padding-left: 20px;}
	#map .mapArea .loupe ul li span em:before,
	#map .mapArea .loupe ul li span em:after { width: 9px; height: 2px; left: 20px;}

	#map .btn a { padding: 10px 0; padding-right: 30px; font-size: 16px;}
	#map .btn a:after { width: 21px; height: 21px; right: 15px;}
}



#map .popup { display: none; width: 92%; max-width: 450px;
 position: absolute; left: 50%; transform: translate(-50%,0); /* top: 50%; transform: translate(-50%,-50%); */ z-index: 20;}
#map .popup.show { display: block;}

#map .popup .box { position: relative; padding: 20px; background: #fff; border: solid 2px #4b305c;}
#map .popup .box .flex { display: flex; justify-content: space-between;}
#map .popup .box .pht { width: 44%;}
#map .popup .box .txt { width: 52%;}
#map .popup .box .pht figure { margin-bottom: 8px; text-align: center;}
#map .popup .box .pht figure img { width: 100%;}
#map .popup .box .pht .link a { display: block; width: 100%; padding: 8px 0; background: #cb504f; border-radius: 50px;
 color: #fff; font-size: 12px; font-weight: 600; text-align: center; text-decoration: none;
}
#map .popup .box .pht .link a.sp-link { display: none;}
#map .popup .box .txt h4 { position: relative; margin-bottom: 8px; padding-bottom: 8px; border-bottom: solid 1px #4b305c; font-size: 20px;}
#map .popup .box .txt h4.icn:after { content: ''; display: inline-block; width: 24px; height: 32px; margin-left: 10px; vertical-align: middle;
 background: url('../img/pin-3d.svg') no-repeat 50% 50% / 100% auto;
}
#map .popup .box .txt h4.icn.ar:after { background-image: url('../img/pin-ar.svg');}
#map .popup .box .txt h4 span { display: inline-block; font-weight: 700; vertical-align: middle;}
#map .popup .box .txt p { font-size: 14px;}

#map .popup .box .close { width: 32px; height: 32px; background: #4b305c; border-radius: 50%;
 position: absolute; right: -12px; top: -12px; z-index: 2;
}
#map .popup .box .close:before,
#map .popup .box .close:after { content: ''; display: block; width: 18px; height: 1px; background: #fff; position: absolute; left: 50%; top: 50%;}
#map .popup .box .close:before{ transform: translate(-50%,-50%) rotate(45deg);}
#map .popup .box .close:after { transform: translate(-50%,-50%) rotate(-45deg);}

@media (max-width: 801px) {

	#map .popup .box { padding: 12px;}
	#map .popup .box .pht figure { margin-bottom: 6px;}
	#map .popup .box .pht .link a { padding: 6px 0; font-size: 10px;}
	#map .popup .box .txt h4 { margin-bottom: 5px; padding-bottom: 5px; font-size: 18px;}
/*	#map .popup .box .txt h4.icn:after { width: 20px; height: 24px; background: url('../img/pin-ar.svg') no-repeat 50% 50% / 100% auto;}*/
	#map .popup .box .txt p { font-size: 12px;}
}
@media (max-width: 481px) {

	#map .popup .box .pht { width: 38%;}
	#map .popup .box .txt { width: 58%;}
	#map .popup .box .pht figure { margin-bottom: 4px;}
	#map .popup .box .pht .link a{ padding: 4px 0;}
	#map .popup .box .txt h4 { font-size: 13px;}
	#map .popup .box .txt h4.icn:after { width: 14px; height: 20px; margin-left: 6px;}
	#map .popup .box .txt p { font-size: 10px;}
}




#column { background: #4b305c;}
#column .inner-sct { padding: 60px 0 50px;}
#column .ttl { margin-bottom: 20px;}
#column .ttl h2 { color: #fff;}
#column .ctn { width: 88%; max-width: 1000px; margin: 0 auto 40px;}
#column .sp-ctn { display: none;}
#column .flex { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px;}
#column .box { width: 48.6%; padding: 40px 30px; background: #fff;}
#column .box .column-tit,
#column .box-wide .column-tit { position: relative; padding: 5px 15px; background: #4b305c;}
#column .box .column-tit h3,
#column .box-wide .column-tit h3 { color: #fff; font-size: 20px; font-weight: 700; letter-spacing: 0.1rem;}
#column .box .column-txt,
#column .box-wide .column-txt { padding-top: 10px;}
#column .box .column-txt p,
#column .box-wide .column-txt p { font-size: 14px; font-weight: 700; letter-spacing: 0.08rem;}

#column .box .column-txt p.mb { margin-bottom: 20px;}

#column .box .wide-flex { display: flex; justify-content: space-between;}
#column .box .pc-l { width: calc(100% - 160px);}
#column .box .pc-r { width: 140px;}
#column .box .pc-r dl { width: 100%;}
#column .box .pc-r dl dt{ margin-bottom: 8px; text-align: center;}
#column .box .pc-r dl dt img { width: 100%; max-width: 130px;}
#column .box .pc-r dl dd { font-size: 10px; line-height: 1.25;}

#column .box .sp-r { display: none;}

#column .box dl.col { display: table; width: 100%;}
#column .box dl.col dt,
#column .box dl.col dd { display: table-cell; vertical-align: middle;}
#column .box dl.col dt.w57 { width: 57%; }
#column .box dl.col dd.w43 { width: 43%; padding-left: 12px;}
#column .box dl.col dt.w26 { width: 26%; }
#column .box dl.col dd.w74 { width: 74%; padding-left: 12px;}
#column .box dl.col dt img { width: 100%;}
#column .box dl.col dd { font-size: 13px; line-height: 1.25;}
#column .box dl.col dd span { display: block; font-size: 15px; font-weight: 600;}

#column .box-wide { width: 100%; padding: 40px 30px; background: #fff;}
#column .box-wide .wide-flex { display: flex; justify-content: space-between; padding-right: 20px;}
#column .box-wide .pc-l { width: calc(100% - 280px);}
#column .box-wide .pc-r { width: 250px;}
#column .box-wide .pc-r dl { width: 100%; text-align: center;}
#column .box-wide .pc-r dl dt { margin-bottom: 8px;}
#column .box-wide .pc-r dl dt img { width: 100%;}
#column .box-wide .pc-r dl dd { font-size: 13px; line-height: 1.25;}
#column .box-wide .column-txt dl { display: none;}

#column .btn { width: 88%; max-width: 540px; margin: 0 auto;}
#column .btn a { position: relative; display: block; width: 100%;
 margin: 0 auto; padding: 20px 0; padding-right: 50px;
 background: #fff; border-radius: 50px;
 color: #4b305c; font-size: 20px; font-weight: 700; letter-spacing: 0.05rem; text-align: center; text-decoration: none;
}
#column .btn a:after { content: ''; display: block; width: 32px; height: 32px;
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 50 50" width="50px" height="50px"><path d="M0,25c0,13.8,11.2,25,25,25s25-11.2,25-25S38.8,0,25,0,0,11.2,0,25ZM39.3,23.4l1.6,1.6-1.6,1.6-11.9,11.9-1.6-1.6,10.7-10.7H12v-2.3h24.5l-10.7-10.7,1.6-1.6,11.9,11.9Z" fill="%234b305c"></path></svg>');
 background-repeat: no-repeat;
 background-size: 100% 100%;
 position: absolute; right: 25px; top: 50%; transform: translateY(-50%) rotate(-45deg);
}
#column .btn a:hover { opacity: 0.8;}
@media (max-width: 1001px) {
	#column .flex { gap: 12px;}
	#column .box { width: 49.0%; padding: 30px 20px;}
	#column .box-wide { width: 100%; padding: 30px 20px;}
}
@media (max-width: 801px) {
	#column .pc-ctn { display: none;}
	#column .sp-ctn { display: block;}
	#column .flex { display: block;}
	#column .box { width: 100%; margin-bottom: 15px; padding: 20px 24px;}
	#column .box .column-tit,
	#column .box-wide .column-tit { padding: 10px 15px;}
	#column .box .column-tit:after,
	#column .box-wide .column-tit:after { content: ''; display: block; width: 25px; height: 25px;
	 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 50 50" width="50px" height="50px"><path d="M42.7,7.3C32.9-2.4,17.1-2.4,7.3,7.3c-9.8,9.8-9.8,25.6,0,35.4,9.8,9.8,25.6,9.8,35.4,0,9.8-9.8,9.8-25.6,0-35.4ZM25,34l-13.5-13.5,1.7-1.7,11.9,11.9,11.9-11.9,1.7,1.7-13.5,13.5Z" fill="%23ffffff"></path></svg>');
 background-repeat: no-repeat;
 background-size: 100% 100%;
	 position: absolute; right: 15px; top: 50%; transform: translateY(-50%);
	}
	#column .box .column-tit.open:after,
	#column .box-wide .column-tit.open:after { transform: translateY(-50%) rotate(180deg);}

	#column .box .column-tit h3,
	#column .box-wide .column-tit h3 { font-size: 18px;}

	#column .box .column-txt,
	#column .box-wide .column-txt { display: none;}

	#column .box .pc-flex { display: block;}
	#column .box .pc-l { width: 100%;}
	#column .box .pc-r { display: none;}

	#column .box .sp-flex { display: flex; justify-content: space-between;}
	#column .box .sp-l { width: calc(100% - 160px);}
	#column .box .sp-r { display: block; width: 140px;}
	#column .box .sp-r dl { width: 100%;}
	#column .box .sp-r dl dt { margin-bottom: 8px; text-align: center;}
	#column .box .sp-r dl dt img { width: 100%; max-width: 130px;}
	#column .box .sp-r dl dd { font-size: 10px;}

	#column .box dl.col { max-width: 400px; margin: 0 auto;}
	#column .box dl.col dt.w57 { width: 57%; padding-left: 20px;}
	#column .box dl.col dd.w43 { width: 43%; padding-left: 12px;}
	#column .box dl.col dt.w26 { width: 26%; padding-left: 20px;}
	#column .box dl.col dd.w74 { width: 74%; padding-left: 12px;}
	#column .box dl.col dd span { margin-bottom: 5px;}

	#column .box-wide { padding: 20px 24px;}
	#column .box-wide .wide-flex { display: block; padding-right: 0px;}
	#column .box-wide .pc-l { width: 100%;}
	#column .box-wide .pc-r { display: none;}
	#column .box-wide .column-txt p { margin-bottom: 20px;}
	#column .box-wide .column-txt dl { display: table; width: 100%; max-width: 400px; margin: 0 auto;}
	#column .box-wide .column-txt dl dt,
	#column .box-wide .column-txt dl dd { display: table-cell; vertical-align: middle;}
	#column .box-wide .column-txt dl dt { width: 57%; padding-left: 20px;}
	#column .box-wide .column-txt dl dd { width: 43%; padding-left: 12px;}
	#column .box-wide .column-txt dl dt img { width: 100%;}
	#column .box-wide .column-txt dl dd { font-size: 13px; line-height: 1.25;}

	#column .btn a { padding: 12px 0; padding-right: 30px; font-size: 18px;}
}
@media (max-width: 481px) {
	#column .inner-sct { padding: 40px 0px 50px;}
	#column .ttl { margin-bottom: 18px;}
	#column .ctn { margin-bottom: 30px;}
	#column .box { padding: 12px 15px;}
	#column .box-wide { padding: 12px 15px;}
	#column .box .column-tit,
	#column .box-wide .column-tit { padding: 8px 12px;}
	#column .box .column-tit:after,
	#column .box-wide .column-tit:after { width: 18px; height: 18px; right: 10px;}
	#column .box .column-tit h3,
	#column .box-wide .column-tit h3 { font-size: 14px; letter-spacing: 0.05rem;}
	#column .box .column-txt,
	#column .box-wide .column-txt { padding: 8px 4px;}
	#column .box .column-txt p,
	#column .box-wide .column-txt p { font-size: 12px; letter-spacing: 0.04rem;}
	#column .box .column-txt p.mb { margin-bottom: 12px;}

	#column .box .sp-l { width: calc(100% - 115px);}
	#column .box .sp-r { width: 100px;}
	#column .box dl.col {}
	#column .box dl.col dt.w57 { width: 55%; padding-left: 10px;}
	#column .box dl.col dd.w43 { width: 45%;}
	#column .box dl.col dt.w26 { width: 30%; padding-left: 10px;}
	#column .box dl.col dd.w74 { width: 70%;}
	#column .box dl.col dd { font-size: 11px;}
	#column .box dl.col dd span { font-size: 12px;}
	
	#column .box-wide .column-txt p { margin-bottom: 12px;}
	#column .box-wide .column-txt dl dd { font-size: 11px;}
	#column .box-wide .column-txt dl dt { width: 55%; padding-left: 10px;}
	#column .box-wide .column-txt dl dd { width: 45%;}

	#column .btn a { padding: 8px 0; padding-right: 30px; font-size: 13px;}
	#column .btn a:after { width: 20px; height: 20px; right: 12px;}
}


#download {}
#download .inner-sct { padding: 60px 0 80px;}
#download .ttl { margin-bottom: 30px;}
#download .ctn { width: 90%; max-width: 1000px; margin: 0 auto;}
#download .ctn p { margin-bottom: 20px; font-size: 20px; font-weight: 700; letter-spacing: 0.1rem; text-align: center;}
#download .ctn ul { width: 100%; max-width: 920px; margin: 0 auto; font-size: 0; text-align: center;}
#download .ctn ul li { display: inline-block; width: 50%; padding: 0 12px; font-size: 24px;}
#download .ctn ul li a { position: relative; display: block; width: 100%;
 margin: 0 auto; padding: 20px 0; padding-right: 50px;
 background: #4b305c; border-radius: 50px;
 color: #fff; font-weight: 700; letter-spacing: 0.05rem; text-decoration: none;
}
#download .ctn ul li a:after { content: ''; display: block; width: 32px; height: 32px;
 background: url('../img/arw-dl.svg') no-repeat 50% 50% / 100% 100%;
 position: absolute; right: 25px; top: 50%; transform: translateY(-50%);
}
#download .ctn ul li a:hover { opacity: 0.8;}
@media (max-width: 801px) {
	#download .ttl { margin-bottom: 20px;}
	#download .ctn p span { display: block;}
}
@media (max-width: 641px) {
	#download .ctn p { font-size: 18px;}
	#download .ctn ul { width: 88%;}
	#download .ctn ul li { display: block; width: 100%; padding: 8px 0; font-size: 20px;}
}
@media (max-width: 481px) {
	#download .inner-sct { padding: 40px 0px;}
	#download .ttl { margin-bottom: 12px;}
	#download .ctn p { margin-bottom: 12px; font-size: 13px; letter-spacing: 0.05rem;}
	#download .ctn ul li { padding: 6px; font-size: 16px;}
	#download .ctn ul li a { padding: 10px; padding-right: 30px;}
	#download .ctn ul li a:after { width: 21px; height: 21px; right: 15px;}
}


#faq { background: #efedde;}
#faq .inner-sct { padding: 80px 0 60px;}
#faq .ttl { margin-bottom: 30px;}
#faq .ctn { width: 90%; max-width: 1000px; margin: 0 auto;}
#faq .ctn ul { margin-bottom: 40px;}
#faq .ctn ul li { padding: 12px 0;}
#faq .ctn ul li dl { width: 100%; background: #fff;}
#faq .ctn ul li dl dt { position: relative; padding: 24px 90px 20px 110px; color: #4b305c; font-size: 22px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.4; cursor: pointer;}
#faq .ctn ul li dl dt:after { content: ''; display: block; width: 30px; height: 30px;
 background: url('../img/arw-2.svg') no-repeat 50% 50% / 100% 100%;
 position: absolute; right: 40px; top: 50%; transform: translateY(-42%);
}
#faq .ctn ul li dl dt.open:after { transform: translateY(-42%) rotate(180deg);}
#faq .ctn ul li dl dt i { display: block; width: 45px; height: 30px;
 position: absolute; left: 36px; top: 50%; transform: translateY(-45%);
 font-size: 30px; font-style: normal; font-weight: 700; line-height: 28px;
}
#faq .ctn ul li:nth-child(1) dl dt i { background: url('../img/icn-Q1.svg') no-repeat 0% 50% / 100% auto;}
#faq .ctn ul li:nth-child(2) dl dt i { background: url('../img/icn-Q2.svg') no-repeat 0% 50% / 100% auto;}
#faq .ctn ul li:nth-child(3) dl dt i { background: url('../img/icn-Q3.svg') no-repeat 0% 50% / 100% auto;}
#faq .ctn ul li:nth-child(4) dl dt i { background: url('../img/icn-Q4.svg') no-repeat 0% 50% / 100% auto;}
#faq .ctn ul li:nth-child(5) dl dt i { background: url('../img/icn-Q5.svg') no-repeat 0% 50% / 100% auto;}
#faq .ctn ul li:nth-child(6) dl dt i { background: url('../img/icn-Q6.svg') no-repeat 0% 50% / 100% auto;}
#faq .ctn ul li dl dd { display: none; position: relative; width: calc(100% - 80px); margin: 0 auto; padding: 20px 0 40px; padding-left: 70px; border-top: dashed 2px #4b305c;
 font-size: 18px; font-weight: 700; letter-spacing: 0.075rem; overflow-wrap: anywhere;
}
#faq .ctn ul li dl dd:before { content: ''; display: block; width: 25px; height: 25px;
 position: absolute; left: 10px; top: 40px; transform: translateY(-45%);
 font-size: 30px; font-style: normal; font-weight: 700; line-height: 28px;
 background: url('../img/icn-A.svg') no-repeat 0% 50% / 100% auto;
}
#faq .ctn ul li dl dd span { position: relative; display: block; padding-left: 20px;}
#faq .ctn ul li dl dd span:before { content: ''; display: block; width: 10px; height: 10px; background: #000;
 position: absolute; left: 0; top: 0.50em;
}
#faq .ctn ul li dl dd sup { font-size: 14px; vertical-align: super;}
#faq .ctn ul li dl dd a { color: #000;}
#faq .ctn ul li dl dd a:hover { text-decoration: none;}
#faq .message { width: 90%; max-width: 1000px; margin: 0 auto;}
#faq .message p { position: relative; padding-left: 1.2em; font-size: 18px; font-weight: 700;}
#faq .message p:before { content: '※'; display: block; position: absolute; left: 0;}
@media (max-width: 801px) {
	#faq .ttl { margin-bottom: 20px;}
	#faq .ctn ul { margin-bottom: 0px;}
	#faq .ctn ul li dl dt { padding: 20px 72px 16px 80px; font-size: 18px;}
	#faq .ctn ul li dl dt:after { right: 30px;}
	#faq .ctn ul li dl dt i { left: 20px; }
	#faq .ctn ul li dl dd { width: calc(100% - 60px); padding: 16px 0 30px; padding-left: 52px; font-size: 14px;}
	#faq .ctn ul li dl dd:before { width: 20px; height: 20px; top: 30px;}
	#faq .message { display: none;}
}
@media (max-width: 481px) {
	#faq .inner-sct { padding: 40px 0px;}
	#faq .ttl { margin-bottom: 12px;}
	#faq .ctn ul li { padding: 8px 0;}
	#faq .ctn ul li dl dt { padding: 15px 50px 10px 60px; font-size: 13px; letter-spacing: 0.05rem;}
	#faq .ctn ul li dl dt:after { width: 21px; height: 21px; right: 16px; transform: translateY(-45%);}
	#faq .ctn ul li dl dt.open:after { transform: translateY(-45%) rotate(180deg);}
	#faq .ctn ul li dl dt i { width: 35px; height: 18px; left: 12px; font-size: 21px; line-height: 18px;}
	#faq .ctn ul li dl dd { width: calc(100% - 40px); padding: 10px 0 20px; padding-left: 42px; border-width: 1px; font-size: 12px; letter-spacing: 0.05rem;}
	#faq .ctn ul li dl dd:before { left: 4px; top: 21px;}
	#faq .ctn ul li dl dd sup { font-size: 10px;}
	#faq .message p { font-size: 13px;}

}



#page-kv { width: 100%;}
#page-kv .inner-kv { position: relative; background: url('../img/bg-kv.jpg') no-repeat 50% 50% / cover;}
#page-kv .ctn {}
#page-kv .ctn .inner { width: 80%; max-width: 1200px; margin: 0 auto; padding: 60px 0;}
#page-kv .ctn h1 { font-size: clamp(24px,3.2vw,32px); font-weight: 700; letter-spacing: 0.1rem; line-height: 1.4; text-align: center;}
@media (max-width: 481px) {
	#page-kv .ctn .inner { padding: 40px 0;}
	#page-kv .ctn h1 { font-size: 20px;}
	#page-kv .ctn h1 span { display: block;}
}


#policy .inner-sct { padding: 80px 0  120px;}
#policy .read { width: 88%; max-width: 930px; margin: 0 auto 40px;}
#policy .read p { font-size: 18px; font-weight: 600;}
#policy .ctn { width: 88%; max-width: 930px; margin: 0 auto 60px;}
#policy .ctn h3 { margin-bottom: 20px; padding: 4px 20px; background: #4b305c; color: #fff; font-size:  clamp(20px,2.4vw,24px); font-weight: 700;}
#policy .ctn p { font-weight: 600; letter-spacing: 0.05rem;}
#policy .ctn p span { display: block;}
#policy .ctn p.mb { margin-bottom: 30px;}
#policy .ctn p.note { font-size: 14px;}
#policy .ctn ol.mb,
#policy .ctn ul.mb { margin-bottom: 30px;}
#policy .ctn ol li { padding: 10px 0; font-weight: 600; letter-spacing: 0.05rem;}
#policy .ctn ol li span { display: block; font-size: 18px; font-weight: 700;}
#policy .ctn ul li span { display: block; font-size: 18px; font-weight: 700;}
#policy .ctn ul.disc { padding-left: 2.0em;}
#policy .ctn ul.disc li { padding: 2px; font-weight: 600; letter-spacing: 0.05rem; list-style-type: disc;}
#policy .ctn p a,
#policy .ctn ul li a { color: #000; word-break: break-all;}
#policy .ctn p a:hover,
#policy .ctn ul li a:hover { text-decoration: none !important;}
#policy .btn { width: 80%; max-width: 240px; margin: 0 auto;}
#policy .btn a { display: block; width: 100%; padding: 10px; background: #4b305c; border-radius: 40px;
 color: #fff; font-weight: 700; text-align: center; text-decoration: none;
}
#policy .btn a:hover { opacity: 0.8;}
@media (max-width: 801px) {
	#policy .read p { font-size: 16px;}
	#policy .ctn p { font-size: 14px;}
	#policy .ctn ol li { font-size: 14px;}
	#policy .ctn ol li span { font-size: 16px;}
	#policy .ctn ul li span { font-size: 16px;}
	#policy .ctn ul li { font-size: 14px;}
}
@media (max-width: 481px) {
	#policy .inner-sct { padding: 40px 0  80px;}
	#policy .read { margin-bottom: 30px;}
	#policy .read p { font-size: 14px;}

	#policy .ctn h3 { margin-bottom: 12px; font-size: 16px;}
	#policy .ctn p { font-size: 13px;}
	#policy .ctn p.note { font-size: 11px;}
	#policy .ctn p.mb { margin-bottom: 20px;}
	#policy .ctn ol.mb,
	#policy .ctn ul.mb { margin-bottom: 20px;}
	#policy .ctn ol li { font-size: 12px;}
	#policy .ctn ol li span { font-size: 13px;}
	#policy .ctn ul li span { font-size: 13px;}
	#policy .ctn ul li { font-size: 12px;}

}


#policy .maintenance { padding: 80px 0 160px;}
#policy .maintenance p { text-align: center;}
@media (max-width: 481px) {
	#policy .maintenance { padding: 40px 0 80px;}
}


