/*
Theme Name: l-ap Theme
Description:just theme for AREA PARTNER.
Author: the WordPress team
Author URI: 
Description: 
Version: 1.0
Tags: 
*/


/* --------------------------------------------------
	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, input, 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: 50px; height: 50px; 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-dotted.slick-slider{ margin-bottom: 30px;}
.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) {
}



/* Magnific Popup CSS */
.mfp-bg { position: fixed; top: 0; left: 0; z-index: 1042; width: 100%; height: 100%; overflow: hidden; background: rgba(255,255,255,0.8); }
.mfp-wrap { position: fixed; top: 0; left: 0; z-index: 1043; width: 100%; height: 100%; outline: none !important; -webkit-backface-visibility: hidden; }
.mfp-container { text-align: center; position: absolute; width: 100%; height: 100%; left: 0; top: 0; padding: 0 8px; box-sizing: border-box; }
.mfp-container:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; }
.mfp-align-top .mfp-container:before { display: none; }
.mfp-content { position: relative; display: inline-block; vertical-align: middle; margin: 0 auto; text-align: left; z-index: 1045; }
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content { width: 100%; cursor: auto; }
.mfp-ajax-cur { cursor: progress; }
.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { cursor: -moz-zoom-out; cursor: -webkit-zoom-out; cursor: zoom-out; }
.mfp-zoom { cursor: pointer; cursor: -webkit-zoom-in; cursor: -moz-zoom-in; cursor: zoom-in; }
.mfp-auto-cursor .mfp-content { cursor: auto; }
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter { -webkit-user-select: none; -moz-user-select: none; user-select: none; }
.mfp-loading.mfp-figure { display: none; }
.mfp-hide { display: none !important; }
.mfp-preloader { color: #CCC; position: absolute; top: 50%; left: 8px; right: 8px; z-index: 1044; width: auto; text-align: center; margin-top: -0.8em; }
.mfp-preloader a { color: #CCC; }
.mfp-preloader a:hover { color: #FFF; }
.mfp-s-ready .mfp-preloader { display: none; }
.mfp-s-error .mfp-content { display: none; }

button.mfp-close,
button.mfp-arrow { overflow: visible; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; display: block; outline: none; padding: 0; z-index: 1046; box-shadow: none; touch-action: manipulation; }

button::-moz-focus-inner { padding: 0; border: 0; }

.mfp-counter { position: absolute; top: 0; right: 0; color: #CCC; font-size: 12px; line-height: 18px; white-space: nowrap; }
.mfp-arrow { position: absolute; top: 50%; opacity: 0.65; margin: 0; margin-top: -55px; padding: 0; width: 90px; height: 110px; -webkit-tap-highlight-color: transparent; }
.mfp-arrow:active { margin-top: -54px; }
.mfp-arrow:hover,
.mfp-arrow:focus { opacity: 1; }
.mfp-arrow:before,
.mfp-arrow:after { content: ''; display: block; width: 0; height: 0; position: absolute; left: 0; top: 0;
margin-top: 35px; margin-left: 35px; border: medium inset transparent; }
.mfp-arrow:after { border-top-width: 13px; border-bottom-width: 13px; top: 8px; }
.mfp-arrow:before { border-top-width: 21px; border-bottom-width: 21px; opacity: 0.7; }

.mfp-arrow-left { left: 0; }
.mfp-arrow-left:after { border-right: 17px solid #FFF; margin-left: 31px; }
.mfp-arrow-left:before{ margin-left: 25px; border-right: 27px solid #3F3F3F; }

.mfp-arrow-right { right: 0; }
.mfp-arrow-right:after { border-left: 17px solid #FFF; margin-left: 39px; }
.mfp-arrow-right:before{ border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder { padding-top: 40px; padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content { line-height: 0; width: 100%; max-width: 900px; }
.mfp-iframe-holder .mfp-close { top: -40px; }

.mfp-iframe-scaler { width: 100%; height: 0; overflow: hidden; padding-top: 56.25%; }
.mfp-iframe-scaler iframe { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #000; }

/* Main image in popup */
img.mfp-img { width: auto; max-width: 100%; height: auto; display: block; line-height: 0; box-sizing: border-box; padding: 40px 0 40px; margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure { line-height: 0; }
.mfp-figure:after { content: ''; display: block; width: auto; height: auto; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #444;
	position: absolute; left: 0; top: 40px; bottom: 40px; right: 0; z-index: -1;
}
.mfp-figure small { color: #BDBDBD; display: block; font-size: 12px; line-height: 14px; }
.mfp-figure figure { margin: 0; }
.mfp-bottom-bar { margin-top: -36px; position: absolute; top: 100%; left: 0; width: 100%; cursor: auto; }
.mfp-title { text-align: left; line-height: 18px; color: #F3F3F3; word-wrap: break-word; padding-right: 36px; }
.mfp-image-holder .mfp-content { max-width: 100%; }
.mfp-gallery .mfp-image-holder .mfp-figure { cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
	/** Remove all paddings around the image on small screen */
	.mfp-img-mobile .mfp-image-holder { padding-left: 0; padding-right: 0; }
	.mfp-img-mobile img.mfp-img { padding: 0; }
	.mfp-img-mobile .mfp-figure:after { top: 0; bottom: 0; }
	.mfp-img-mobile .mfp-figure small { display: inline; margin-left: 5px; }
	.mfp-img-mobile .mfp-bottom-bar { background: rgba(0, 0, 0, 0.6); bottom: 0; margin: 0; top: auto; padding: 3px 5px; position: fixed; box-sizing: border-box; }
	.mfp-img-mobile .mfp-bottom-bar:empty { padding: 0; }
	.mfp-img-mobile .mfp-counter { right: 5px; top: 3px; }
	.mfp-img-mobile .mfp-close { top: 0; right: 0; width: 35px; height: 35px; line-height: 35px; background: rgba(0, 0, 0, 0.6); position: fixed; text-align: center; padding: 0; }
}


@media all and (max-width: 900px) {
	.mfp-arrow { -webkit-transform: scale(0.75); transform: scale(0.75); }
	.mfp-arrow-left { -webkit-transform-origin: 0; transform-origin: 0; }
	.mfp-arrow-right { -webkit-transform-origin: 100%; transform-origin: 100%; }
	.mfp-container { padding-left: 6px; padding-right: 6px; }
}




html{
  height: -webkit-fill-available;
}
body{
  min-height: 100vh;
  min-height: -webkit-fill-available;
}


/*		font-style
-------------------------------------------------- */
body {
	font-family: "Noto Sans JP","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
/*	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;
}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.min { font-family: "Noto Serif JP","Hiragino Mincho ProN","ヒラギノ明朝 Pro", "游明朝", "Yu Mincho", "YuMincho", serif;}

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


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) {
}



#contact ul li label.error {
	position: absolute; top: -30px; left: -10px;
	padding: 5px 8px;
	background: #d00; border-radius: 5px;
	color: #fff; font-size: 12px;
	opacity: 0;
	animation: .5s showError linear forwards .2s;
}
#contact ul li label.error:before{ content: ''; display: block; width: 8px; height: 8px; background: #d00;
	transform: rotate(45deg);
	position: absolute; bottom: -4px; left: 20px;
}
@keyframes showError{
	100%{ opacity: 1;}
}



#wrapper { padding-top: 100px;}
@media (max-width: 1201px) {
	#wrapper { padding-top: 80px;}
}
@media (max-width: 1001px) {
	#wrapper { padding-top: 60px;}
}
@media (max-width: 801px) {
	#wrapper { padding-top: 50px;}
}

#hd { position: absolute; left: 0; width: 100%; z-index: 99; opacity: 0;}
#hd.show { top: 0px; opacity: 1;}
#hd .inner-hd { position: relative; width: 94%; margin: 0 auto;}
#hd .hd-ctn { position: relative; display: flex; align-items: center;
 width: 100%; max-width: 1400px; margin: 0 auto; padding-top: 50px; padding-right: 160px;
}
#hd .hd-logo{ width: 30%;}
#hd .hd-nav { width: 70%;}
#hd .hd-logo h1 { font-size: clamp(10px,1.0vw,16px); font-weight: 700; line-height: 1;}
#hd .hd-logo h1 a { display: inline-block; width: 140px; margin-right: 10px; vertical-align: middle;}
#hd .hd-logo h1 a img { width: 100%;}
#hd .hd-logo h1 span { display: inline-block; letter-spacing: 0.15rem; vertical-align: middle;}
#hd .hd-nav ul { font-size: 0px; text-align: right;}
#hd .hd-nav ul li { display: inline-block; padding: 0 20px; font-size: clamp(11px,1.1vw,14px);}
#hd .hd-nav ul li a { color: #000; font-weight: 700; letter-spacing: 0.1rem; text-decoration: none;}
#hd .hd-nav ul li a:hover { color: #105d9b;}
#hd .hd-contact { position: absolute; right: 0; top: 0; width: 150px;}
#hd .hd-contact a { position: relative; display: block; width: 100%; height: 150px; padding-top: 50px;
 background: #105d9b;
 border-bottom-left-radius: 100px; border-bottom-right-radius: 100px;
 color: #fff; font-size: 16px; font-weight: 700; letter-spacing: 0.12rem; text-align: center; text-decoration: none;
 transition: 0.4s ease;
}
#hd .hd-contact a::before,
#hd .hd-contact a::after { content: ''; display: block; position: absolute;}
#hd .hd-contact a::before{ width: 18px; height: 18px; bottom: 14px; left: 50%;
 transform: translate(-50%,-60px) rotate(90deg) scale(0);
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 50 45" width="50px" height="45px"><path d="M49.34,24.31c.07-.1.12-.21.17-.32.06-.12.14-.23.19-.36.06-.13.09-.27.13-.41.03-.11.07-.21.1-.32.1-.51.1-1.03,0-1.54-.02-.11-.06-.21-.1-.32-.04-.14-.07-.28-.13-.41-.05-.13-.12-.24-.19-.36-.06-.11-.11-.22-.17-.32-.13-.2-.28-.38-.45-.55-.02-.02-.03-.04-.04-.05L30.65,1.15c-1.54-1.54-4.03-1.54-5.56,0-1.54,1.54-1.54,4.03,0,5.56l11.48,11.48H3.93c-2.17,0-3.93,1.76-3.93,3.93s1.76,3.93,3.93,3.93h32.63l-11.48,11.48c-1.54,1.54-1.54,4.03,0,5.56.77.77,1.78,1.15,2.78,1.15s2.01-.38,2.78-1.15l18.2-18.2s.03-.04.04-.05c.16-.17.32-.35.45-.55Z" fill="%23ffffff"></path></svg>');
 background-repeat: no-repeat; background-size: 100% auto; background-position: 50% 50%;
 transition: 0.4s ease 0.1s;
}
#hd .hd-contact a:after { width: 6px; height: 6px; background: #fff; border-radius: 50%;
 left: 50%; bottom: 20px; transform: translate(-50%,0); transition: 0.4s ease;
}

#hd .hd-contact a:hover { height: 160px; background: #407daf;}
#hd .hd-contact a:hover:before { transform: translate(-50%,0) rotate(90deg) scale(1);}
#hd .hd-contact a:hover:after { height: 2px; transform: translate(-50%,50px);}
@media (max-width: 1421px) {
	#hd .hd-nav ul li { padding: 0 1.25vw;}
	#hd .hd-nav ul li a { letter-spacing: 0.05rem;}
}
@media (max-width: 1201px) {
	#hd .hd-ctn { padding-top: 18px; padding-right: 120px;}
	#hd .hd-logo h1 {}
	#hd .hd-logo h1 a { width: 120px;}

	#hd .hd-contact { width: 120px;}
	#hd .hd-contact a { height: 100px; padding-top: 22px; font-size: 14px;}
	#hd .hd-contact a:hover { height: 120px;}
}
@media (max-width: 1001px) {
	#hd .hd-logo{ width: 100%;}
	#hd .hd-nav { display: none; width: 68%;}
	#hd .hd-ctn { padding-top: 20px; padding-right: 100px;}
	#hd .hd-logo h1 a { width: 100px;}
	#hd .hd-logo h1 span { letter-spacing: 0.1rem;}
	#hd .hd-nav ul li { padding: 0 5px; font-size: 11px;}
	#hd .hd-contact { width: 100px;}
	#hd .hd-contact a { height: 80px; padding-top: 25px; font-size: 12px;}
	#hd .hd-nav {}
	#hd .hd-contact { display: none;}
}
@media (max-width: 801px) {
	#hd .hd-ctn { padding: 20px; padding-right: 60px;}
	#hd .hd-logo{ width: 100%;}
	#hd .hd-logo h1 { font-size: 12px;}
	#hd .hd-logo h1 span { letter-spacing: 0.15rem;}
}
@media (max-width: 481px) {
	#hd .hd-ctn { padding: 12px 6px 0px; padding-right: 60px;}
	#hd .hd-logo h1 { font-size: 9px;}
	#hd .hd-logo h1 span { letter-spacing: 0.1rem;}
}


.sp-menu { display: none; width: 40px; height: 40px; position: absolute; right: 20px; top: 8px; z-index: 101;
 opacity: 0;
}
.sp-menu.show { opacity: 1; top: 8px;}
.sp-menu div { position: relative; width: 100%; height: 100%;}
.sp-menu div span { display: block; height: 1px; background: #105d9b; position: absolute; left: 50%; opacity: 1;}
.sp-menu div span:nth-of-type(1){ width: 80%; top: 14px; transform: translate(-50%,0);}
.sp-menu div span:nth-of-type(2){ width: 50%; top: 20px; transform: translate(-50%,0); transition: 0.3s linear;}
.sp-menu div span:nth-of-type(3){ width: 80%; top: 26px; transform: translate(-50%,0);}
.sp-menu.active div span:nth-of-type(1){ animation: menu-1 0.4s ease-out forwards;}
.sp-menu.active div span:nth-of-type(2){ opacity: 0; transform: translate(0%,0);}
.sp-menu.active div span:nth-of-type(3){ animation: menu-2 0.4s ease-out forwards;}
@keyframes menu-1 {
	0% { transform: translate(-50%,0);}
	40% { transform: translate(-50%,6px);}
	80% { transform: translate(-50%,6px) rotate(0deg);}
	100% { transform: translate(-50%,6px) rotate(30deg);}
}
@keyframes menu-2 {
	0% { transform: translate(-50%,0);}
	40% { transform: translate(-50%,-6px);}
	80% { transform: translate(-50%,-6px) rotate(-0deg);}
	100% { transform: translate(-50%,-6px) rotate(-30deg);}
}
@media (max-width: 801px) {
	.sp-menu { display: block;}
}


#spNav { position: fixed; top: 0px; right: -120%; width: 100%; z-index: 100; transition: 0.4s cubic-bezier(0.5, 1, 0.89, 1); visibility: hidden;}
#spNav .scroll { height: 100vh; height: 100lvh; padding: 50px 40px; background: linear-gradient(#e6f4ff, #fff 40%);}
#spNav .inner { transition: 0.4s linear; transition-delay: 0.2s; opacity: 0;}
#spNav ul { font-size: 0px;}
#spNav ul.page { margin-bottom: 12px;}
#spNav ul.page li { padding: 4px; font-size: 16px;}
#spNav ul.page li a { display: block; padding: 5px 0; color: #105d9b; font-weight: 700; letter-spacing: 0.1rem; text-decoration: none;}
#spNav ul.case { margin-bottom: 12px;}
#spNav ul.case li { padding: 5px;}
#spNav ul.case li dl dt { margin-bottom: 8px; color: #105d9b; font-size: 16px; font-weight: 700; letter-spacing: 0.1rem;}
#spNav ul.case li dl dd { display: inline-block; width: 50%; padding: 4px 0; font-size: 13px;}
#spNav ul.case li dl dd a { color: #105d9b; text-decoration: none;}
#spNav ul.aside { margin-bottom: 30px;}
#spNav ul.aside li { padding: 4px; font-size: 13px;}
#spNav ul.aside li a { display: inline-block; padding: 3px 0; color: #105d9b; font-weight: 600; text-decoration: none;}
#spNav ul.aside li a.blank { position: relative; padding-right: 24px;
 background: url('./assets/img/icn-win.png') no-repeat 100% 50% / auto 12px;;
}
#spNav p { font-size: 12px;}
#spNav.open { right: 0; visibility: visible;}
#spNav.open .inner { opacity: 1;}
@media (max-width: 481px) {
	#spNav .scroll { background: linear-gradient(#e6f4ff, #fff 10%);}
	#spNav ul.sns li.fb { width: 32px; margin-right: 20px;}
	#spNav ul.sns li.lohai { width: 120px;}
}


#ft { width: 100%; background: url('./assets/img/bg/ft.jpg') no-repeat 50% 0;}
#ft .inner-ft { width: 94%; margin: 0 auto; padding: 180px 0 40px;}
#ft .ft-ctn { display: flex; justify-content: space-between; width: 100%; max-width: 1000px; margin: 0 auto;}
#ft .ft-logo{ width: 25%; /* width: 22%; */ padding-top: 10px; order: 1;}
#ft .ft-link{ width: 72%; order: 2;}
/* #ft .ft-sns { width: 28%; order: 3;} */

#ft .ft-logo h3 { margin-bottom: 20px; font-size: 14px;}
#ft .ft-logo h3 a { display: block; width: 100%; max-width: 150px; margin-bottom: 10px;}
#ft .ft-logo h3 span { display: block; font-weight: 700; letter-spacing: 0.1rem;}
#ft .ft-logo p a { color: #000; text-decoration: none;}
#ft .ft-link ul { font-size: 0;}
#ft .ft-link ul li { display: inline-block; vertical-align: top;}
#ft .ft-link ul li.w36 { width: 37%;}
#ft .ft-link ul li.w28 { width: 26%;}
#ft .ft-link ul li dl dt { position: relative; display: block; width: 100%; padding: 6px 0; padding-left: 18px; font-size: 15px; font-weight: 700;}
#ft .ft-link ul li dl dt:before { content: ''; display: block; width: 6px; height: 6px; background: #105d9b; border-radius: 50%;
 position: absolute; left: 0; top: 1.0em;
}
#ft .ft-link ul li dl dt a { color: #000; font-weight: 700; text-decoration: none;}
#ft .ft-link ul li dl dt a:hover { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
#ft .ft-link ul li dl dd { position: relative; display: block; width: 100%; padding: 6px 0; padding-left: 38px; font-size: 14px;}
#ft .ft-link ul li dl dd:before { content: ''; display: block; width: 8px; height: 2px; background: #105d9b;
 position: absolute; left: 21px; top: 1.2em;
}
#ft .ft-link ul li dl dd a { color: #000; text-decoration: none;}
#ft .ft-link ul li dl dd a:hover { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}

#ft .ft-link ul li ul li { position: relative; display: block; width: 100%; padding: 6px 0; padding-left: 18px; font-size: 15px;}
#ft .ft-link ul li ul li:before { content: ''; display: block; width: 6px; height: 6px; background: #105d9b; border-radius: 50%;
 position: absolute; left: 0; top: 1.0em;
}
#ft .ft-link ul li ul li a { color: #000; font-weight: 700; text-decoration: none;}
#ft .ft-link ul li ul li a.blank { position: relative; display: inline-block; padding-right: 24px;
 background: url('./assets/img/icn-win.png') no-repeat 100% 50% / auto 12px;;
}

#ft .ft-link ul li ul li a:hover { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
@media (max-width: 1001px) {
	#ft .ft-link ul li ul li { padding: 4px 0; padding-left: 16px;}
}
@media (max-width: 801px) {
	#ft { background-size: auto 220px;}
	#ft .inner-ft { padding: 120px 0 30px;}
	#ft .ft-ctn { align-items: center;}
	#ft .ft-logo{ width: 68%;}
	#ft .ft-link { display: none;}
	#ft .ft-sns { width: 32%;}
	#ft .ft-logo h3 a { display: inline-block; max-width: 120px; margin-bottom: 0px; margin-right: 10px;}
	#ft .ft-logo h3 span { display: inline-block;}
	#ft .ft-sns ul li { padding: 0 12px;}
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
	#ft { background-size: auto 180px;}
	#ft .inner-ft { width: 86%; padding: 80px 0 20px;}
	#ft .ft-logo h3 { margin-bottom: 10px; font-size: 11px;}
	#ft .ft-logo h3 a { max-width: 100px; margin-right: 8px;}
	#ft .ft-logo h3 span { letter-spacing: 0.05rem;}
	#ft .ft-logo p { font-size: 10px;}
	#ft .ft-sns ul li { padding: 0 8px;}
}


.wrap {}

.ttl { position: relative; width: 86%; max-width: 1100px; margin: 0 auto;}
.ttl h2 { position: relative; font-size: 16px; font-weight: 600; transition: 1.2s cubic-bezier(0.5, 1, 0.89, 1);; opacity: 0;}
.ttl.show h2 { opacity: 1;}
.ttl h2 img { display: inline-block; margin-right: 30px;}
.ttl h2 span{ position: relative; display: inline-block; padding-left: 20px; letter-spacing: 0.15rem;}
.ttl h2 span:before { content: ''; display: block; width: 9px; height: 9px; background: #105d9b; border-radius: 50%;
 position: absolute; left: 0; top: 50%; transform: translateY(-50%);
}
@media (max-width: 481px) {
	.ttl h2 { font-size: 12px;}
	.ttl h2 img { margin-right: 18px;}
	.ttl h2 span{ padding-left: 15px; letter-spacing: 0.08rem;}
	.ttl h2 span:before { width: 6px; height: 6px;}
}


.btn a { position: relative; display: block; width: 100%; background: #105d9b; border-radius: 50px;
 color: #fff; letter-spacing: 0.1rem; line-height: 1; text-decoration: none; transition: 0.4s ease;
}

.btn a::before,
.btn a::after { content: ''; display: block; position: absolute; top: 50%;}
.btn a::before{ width: 18px; height: 18px; left: 15px; transform: translate(-100px,-50%) scale(0);
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 50 45" width="50px" height="45px"><path d="M49.34,24.31c.07-.1.12-.21.17-.32.06-.12.14-.23.19-.36.06-.13.09-.27.13-.41.03-.11.07-.21.1-.32.1-.51.1-1.03,0-1.54-.02-.11-.06-.21-.1-.32-.04-.14-.07-.28-.13-.41-.05-.13-.12-.24-.19-.36-.06-.11-.11-.22-.17-.32-.13-.2-.28-.38-.45-.55-.02-.02-.03-.04-.04-.05L30.65,1.15c-1.54-1.54-4.03-1.54-5.56,0-1.54,1.54-1.54,4.03,0,5.56l11.48,11.48H3.93c-2.17,0-3.93,1.76-3.93,3.93s1.76,3.93,3.93,3.93h32.63l-11.48,11.48c-1.54,1.54-1.54,4.03,0,5.56.77.77,1.78,1.15,2.78,1.15s2.01-.38,2.78-1.15l18.2-18.2s.03-.04.04-.05c.16-.17.32-.35.45-.55Z" fill="%23ffffff"></path></svg>');
 background-repeat: no-repeat; background-size: 100% auto; background-position: 50% 50%;
 transition: 0.4s ease 0.1s;
}
.btn a::after { content: ''; display: block; width: 9px; height: 9px; background: #fff; border-radius: 50%; right: 20px;
 transform: translate(0,-50%); transition: 0.4s ease;
}
.btn a span { position: relative; display: block; padding: 15px; padding-left: 30px; z-index: 2; transition: 0.4s ease 0.06s; z-index: 2;}
.btn a svg { width: 18px; fill: #fff; position: absolute; left: 20px; top: 50%; transform: translate(-100px,-50%) scale(0); z-index: 2;
 transition: 0.4s ease 0.1s;
}
.btn a:hover { background: #407daf;}
.btn a:hover:before { transform: translate(0,-50%) scale(1);}
.btn a:hover:after { height: 2px; transform: translate(50px,-50%);}
.btn a:hover span { text-indent: 25px;}

@media (max-width: 801px) {
	.btn a span { padding: 10px; padding-left: 20px;}
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
	.btn a span { padding: 12px 0; padding-left: 20px;}
}



/* 404 */
.page-404 {
  text-align: center;
  line-height: 2;
}

.page-404-heading {
  font-size: 50px;
  border-top: 1px solid #e5e5e5;
  padding: 99px 0 0;
  margin-bottom: 10px;
}

.page-404-btn {
  margin: 32px 0 135px;
}
