@charset "UTF-8";
/**====================================
 * CSS information
 * file name	: common.css
====================================**/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&family=Noto+Sans+JP:wght@500;700;900&display=swap');


/* body
-------------------------------------------------- */
html {
	font-size: 62.5%;
}
body {
	font-size: 1.5em;
	line-height: 1.8;
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: #1a1a1a;
	width: 100%;
	min-width: 1040px;
	height: 100%;
    background: #ffffff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
    transition: .3s;
}
body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
}
body.fade {
    opacity: 0;
}

/* link
-------------------------------------------------- */
a {
	color: #1a1a1a;
	text-decoration: none;
	transition: all .2s;
}
a._underline {
	text-decoration: underline;
}
@media screen and (min-width: 768px) {
	a:hover {
		opacity: 0.7;
	}
    .cta-link{
        transition: .3s all;
    }
    .cta-link:hover {
		opacity: 0.7;
	}
}

/* clear
-------------------------------------------------- */
.clear:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/* font
-------------------------------------------------- */
._en {
	font-family: "Poppins", sans-serif;
    font-weight: 600;
}

/* Responsive
-------------------------------------------------- */
.sp {
	display: none;
}

/* img
-------------------------------------------------- */
img {
	width: 100%;
	height: auto;
}
.thumb {
	display: block;
	overflow: hidden;
	position: relative;
	transition: .3s all;
    background: #cccccc;
}
.thumb::after {
	display: block;
	content: "";
}
.thumb img,
.thumb video,
.thumb iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .3s all;
}
@media screen and (min-width: 768px) {
a:hover .thumb {
	transform: scale(0.96);
}
a:hover .thumb img {
	width: 115%;
	height: 115%;
	object-fit: cover;
}
}

/* svg
-------------------------------------------------- */
svg {
	display: block;
	width: 100%;
	height: auto;
}

/* align
-------------------------------------------------- */
._alignC {
    text-align: center;
}
._alignR {
    text-align: right;
}

/* sup
-------------------------------------------------- */
.sup {
    vertical-align: super;
    font-size: 0.75em;
}

/*/////////////////////////////////////////////////////////////////////////////


              // loading //


/////////////////////////////////////////////////////////////////////////////*/
.loader {
	display: block;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 999999;
    pointer-events: none;
}
.loader-bg {
	display: block;
	width: 100%;
	height: 100%;
	position: fixed;
	bottom: 0;
	right: 0;
	background: #FFFFFF;
	transform-origin: left top;
}
.motion .loader-bg {
    transform-origin: right top;
	animation: loading-bg 0.70s cubic-bezier(0.76, 0.09, 0.215, 1) forwards;
}
.loader-bg.off {
	animation: loading-fade 0.30s forwards;
}
@keyframes loading-bg {
	0% {
		transform: scaleY(1);
	}
	100% {
		transform: scaleY(0);
	}
}
@keyframes loading-fade {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.loader-logo {
    width: 206px;
    height: 206px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
}
.off.loader-logo {
	animation: op-logooff 0.42s forwards;
}
@keyframes op-logooff {
	0% {
		transform: translate(-50%,-50%);
	}
    60% {
		transform: translate(-50%,-50%) scale(1.3);
	}
	100% {
		transform: translate(-50%,-50%) scale(0);
	}
}
.loader-logo .inner {
    position: relative;
}
.on.loader-logo .inner {
    animation: op-logo 0.3s forwards;
}
@keyframes op-logo {
	0% {
		opacity: 0;
		filter: blur(10px);
	}
	100% {
		opacity: 1;
		filter: blur(0);
	}
}
.loader-logo .item {
    position: absolute;
    left: 0;
    top: 0;
}
.loader-logo .item._rotate {
    animation: loading-rotate 12s linear infinite;
}
@keyframes loading-rotate {
	0% {
		transform: rotate(0); }
	100% {
		transform: rotate(360deg); }
}

/*/////////////////////////////////////////////////////////////////////////////


              // layout //


/////////////////////////////////////////////////////////////////////////////*/

/* container
-------------------------------------------------- */
#container {
    width: 100%;
    box-sizing: border-box;
    padding-top: 80px;
}

/*/////////////////////////////////////////////////////////////////////////////


              // header //


/////////////////////////////////////////////////////////////////////////////*/

/* header
-------------------------------------------------- */
.header {
	width: 100%;
    height: 80px;
    box-sizing: border-box;
    background: #ffffff;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99999;
}
.on .header {
    box-shadow: 0px 6px 6px -6px rgba(0, 0, 0, 0.16);
}
.header-logo {
	width: 148px;
    position: absolute;
    left: 40px;
    top: 20px;
    transition: .3s;
}
.header-logo a {
	display: block;
}
.logo-fi01 { fill: #00aedc; }
.logo-fi02 { fill: #0098cb; }
.logo-fi03 { fill: #dfcfa1; }
.logo-fi04 { fill: #59c2e1; }
.logo-fi05 { fill: #231815; }

/* .gnav
-------------------------------------------------- */
.gnav {
    padding: 13px 500px 0 210px;
}
.gnav-list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.gnav-list li {
    max-width: 190px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    margin-right: 28px;
    position: relative;
}
.gnav-list li a {
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.gnav-list li a::before {
    content: "";
    width: 16px;
    height: 8px;
    border-radius: 50% / 0 0 100% 100%;
    background: #ff9234;
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    opacity: 0;
}
.gnav-list li.ac a {
    color: #ff9234;
}
.gnav-list li.ac a::before {
    opacity: 1;
}
.gnav-list li a:hover {
    opacity: 1;
    color: #ff9234;
}
@media screen and (max-width: 1360px) {
    .gnav {
        display: none;
    }
}

/* follow-cta-list
-------------------------------------------------- */
.follow-cta-list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: absolute;
    top: 12px;
    right: 85px;
    transition: .2s;
}
.follow-cta-list li {
    margin: 0 5px;
}
@media screen and (max-width: 1360px) {
    .follow-cta-list {
        right: 141px;
    }
}

/* cta-btn
-------------------------------------------------- */
.cta-btn .cta-link {
    display: block;
    width: 200px;
    height: 56px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    padding: 10px 20px;
    box-sizing: border-box;
    border-radius: calc(infinity * 1px);
    position: relative;
    background-size: 20px auto;
    background-position: left 16px center;
    background-repeat: no-repeat;
    cursor: pointer;
    pointer-events: visible;

}
.cta-btn._reserve .cta-link {
    background-color: #ff9234;
    background-image: url("/img/icon_cta_reserve.png");
}
.cta-btn._tel .cta-link {
    background-color: #35d0ba;
    background-image: url("/img/icon_cta_tel.png");
    color: #ffffff;
}
.cta-btn .cta-link::after {
    content: "";
    width: 17px;
    height: 17px;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background-size: 100% auto;
}
.cta-btn._reserve .cta-link::after {
    background: #333333 url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="17" height="17" viewBox="0 0 17 17"><path fill="none" stroke="rgb(240, 231, 0)" d="M7.2,11.6l3.1-3.1-3.1-3.1"/></svg>') center center no-repeat;
}
.cta-btn._tel .cta-link::after {
    background: #ffffff url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="17" height="17" viewBox="0 0 17 17"><path fill="none" stroke="rgb(237, 128, 137)" d="M7.2,11.6l3.1-3.1-3.1-3.1"/></svg>') center center no-repeat;
}
.cta-btn .cta-link .small {
    display: block;
    font-size: 1.0rem;
    font-weight: 500;
}

/* -- ._nonicon -- */
.cta-btn._nonicon .cta-link {
    font-size: 1.6rem;
    background-image: none;
    padding: 8px 20px 0 10px;
}
.cta-btn._nonicon .cta-link .small {
    font-size: 1.1rem;
}

/* -- ._full -- */
.cta-btn._full {
    margin-bottom: 10px;
}
.cta-btn._full .cta-link {
    width: 100%;
    font-size: 1.6rem;
    padding: 7px 20px 0 10px;
    background-size: 24px auto;
}
.cta-btn._full .cta-link::after {
    right: 16px;
}
.cta-btn._full .cta-link .small {
    font-size: 1.1rem;
}

/* cta-txt
-------------------------------------------------- */
.cta-txt {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 8px;
    text-align: center;
    position: relative;
}
.cta-txt::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    top: 50%;
    background-image: linear-gradient(to right, #707070, #707070 3px, transparent 3px, transparent 6px);
    background-size: 6px 1px;
}
.cta-txt span {
    display: inline-block;
    background: #ffffff;
    padding: 0 10px;
    position: relative;
}

/* language-btn
-------------------------------------------------- */
.language-btn {
    padding: 16px 5px;
    position: absolute;
    top: 0;
    right: 20px;
    z-index: 999999;
    transition: .2s;
}
.language-btn span {
    display: block;
    width: 48px;
    height: 48px;
    background: #E2ECF2;
    border-radius: 6px;
    cursor: pointer;
}
@media screen and (max-width: 1360px) {
    .language-btn {
        right: 76px;
    }
}

/* language__box
-------------------------------------------------- */
.language__box {
    display: block;
    position: fixed;
    right: 25px;
    top: 70px;
    padding-top: 10px;
    border-bottom: 1px solid #DEDEDE;
    opacity: 0;
	pointer-events: none;
	transition: .2s;
    z-index: 1;
}
.ddhovered .language__box {
    opacity: 1;
	pointer-events: auto;
}
.language__item {
    width: 125px;
    border-top: 1px solid #DEDEDE;
    border-right: 1px solid #DEDEDE;
    border-left: 1px solid #DEDEDE;
    background: #ffffff;
}
.language__link {
    display: block;
    font-size: 1.3rem;
    text-align: center;
    padding: 9px;
    cursor: pointer;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="17" height="17" viewBox="0 0 17 17"><path fill="none" stroke="rgb(21, 152, 217)" d="M7.2,11.6l3.1-3.1-3.1-3.1"/></svg>');
    background-position: right 8px center;
    background-repeat:  no-repeat;
    background-size: 19px auto;
    transition: .2s;
}
.language__link:hover {
    background-color: #E2ECF2;
    background-position: right 4px center;
}

/* menu-trigger
-------------------------------------------------- */
.menu-trigger,
.menu-trigger span {
    display: block;
    transition: all .3s;
    box-sizing: border-box;
}
.menu-trigger {
    width: 48px;
    height: 48px;
    pointer-events: auto;
    cursor: pointer;
    position: fixed;
    right: 25px;
    top: 16px;
    box-sizing: border-box;
    z-index: 99999;
    background: #ff9234;
    border-radius: 6px;
    opacity: 0;
    transition: .2s;
}
.menu-trigger span {
    position: absolute;
    left: 14px;
    width: 20px;
    height: 1px;
    background: #ffffff;
}
.menu-trigger span:nth-of-type(1) {
    top: 50%;
    transform: translateY(-50%);
}
.menu-trigger span:nth-of-type(2) {
    top: 18px;
}
.menu-trigger span:nth-of-type(3) {
    bottom: 18px;
}
.open .menu-trigger span {
    width: 20px;
    height: 1px;
    top: 50%;
    border-radius: 0%;
}
.open .menu-trigger span:nth-of-type(1) {
    left: 14px;
    transform: translateY(-50%) rotate(45deg);
}
.open .menu-trigger span:nth-of-type(2) {
    opacity: 0;
}
.open .menu-trigger span:nth-of-type(3) {
    right: 14px;
    transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 1360px) {
    .menu-trigger {
        opacity: 1;
        pointer-events: auto;
    }
}

/* fixed-gnav
-------------------------------------------------- */
.fixed-gnav {
    width: 420px;
    height: calc(100vh - 80px);
    position: fixed;
    top: 80px;
    right: 0;
    background: #ffffff;
    box-shadow: inset 0px 6px 6px -6px rgba(0, 0, 0, 0.16);
    box-sizing: border-box;
    overflow-y: scroll;
    opacity: 0;
    pointer-events: none;
    transition: .2s;
    visibility: hidden;
}
.open .fixed-gnav {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}
.fixed-gnav-inner {
    padding: 30px 40px 120px;
}
.fixed-gnav-list {
    padding-bottom: 20px;
}
.fixed-gnav-list li {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.4;
    position: relative;
}
.fixed-gnav-list li::after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    background-image: linear-gradient(to right, #707070, #707070 3px, transparent 3px, transparent 6px);
    background-size: 6px 1px;
}
.fixed-gnav-list li:last-child::after {
    display: none;
}
.fixed-gnav-list li a {
    display: block;
    padding: 20px 30px 21px 0;
    position: relative;
}
.fixed-gnav-list li a:hover {
    opacity: 1;
    color: #ff9234;
}
.fixed-gnav-list li a::after {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #ff9234 url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="17" height="17" viewBox="0 0 17 17"><path fill="none" stroke="rgb(240, 231, 0)" d="M7.2,11.6l3.1-3.1-3.1-3.1"/></svg>') center center no-repeat;
    background-size: 100% auto;
}
.fixed-gnav-sublist {
    display: flex;
    justify-content: center;
    padding-top: 20px;
}
.fixed-gnav-sublist li {
    margin: 0 10px;
}
@media screen and (min-width: 1361px) {
    .fixed-gnav {
        display: none;
    }
}

/* layer
-------------------------------------------------- */
.layer {
    content: "";
    width: 100vw;
    height: 100vw;
    background: rgba(0,0,0,0.25);
    position: fixed;
    right: 0;
    top: 0;
    z-index: 99990;
    pointer-events: none;
    opacity: 0;
    transition: .2s;
}
.open .layer {
    opacity: 1;
    pointer-events: auto;
}
@media screen and (min-width: 1361px) {
    .layer {
        display: none;
    }
}
/*/////////////////////////////////////////////////////////////////////////////


              // footer //


/////////////////////////////////////////////////////////////////////////////*/
.footer {
    padding: 30px 0 85px;
    position: relative;
    background: #ffffff;
}

/* footer-map
-------------------------------------------------- */
.footer-map {
    width: 100%;
    height: 460px;
    position: relative;
    overflow: hidden;
}
.footer-map::after {
    content: "";
    width: calc(100% + 120px);
    height: 370px;
    background: #ffffff;
    position: absolute;
    left: -60px;
    bottom: -245px;
    border-radius: 50%;
}
._map iframe {
    width: 100%;
    height: 100%;
}

/* footer-info
-------------------------------------------------- */
.footer-info {
    text-align: center;
    margin-top: -60px;
    padding-bottom: 45px;
    position: relative;
}
.footer-logo {
    display: inline-block;
    width: 195px;
    margin-bottom: 10px;
}
.footer-info dl dt {
    font-size: 1.8rem;
    font-weight: 700;
}
.footer-info dl dd {
    font-size: 1.3rem;
    line-height: 1.65;
}

/* footer-nav
-------------------------------------------------- */
.footer-nav {
    display: flex;
    justify-content: space-between;
    padding-bottom: 90px;
}
.footer-nav li {
    max-width: 280px;
    flex: 1 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-right: 1px solid #DEDEDE;
    font-size: 1.4rem;
    line-height: 1.4;
    padding: 0 8px;
    box-sizing: border-box;
}
.footer-nav li:first-child {
    border-left: 1px solid #DEDEDE;
}

/* footer-btm
-------------------------------------------------- */
.footer-btm {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* footer-subnav
-------------------------------------------------- */
.footer-subnav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.footer-subnav li {
    margin-right: 30px;
}

/* copyright
-------------------------------------------------- */
.copyright {
    color: #888888;
    font-size: 1.1rem;
}

/* pagetop
-------------------------------------------------- */
.pagetop {
    position: fixed;
    bottom: 40px;
    right: 40px;
    z-index: 99998;
    opacity: 0;
    pointer-events: none;
    transition: .2s;
}
.on .pagetop {
    opacity: 1;
    pointer-events: auto;
}
.pagetop a {
    display: block;
    width: 59px;
    height: 59px;
    font-size: 1.2rem;
    border: 2px solid #ff9234;
    background: #ffffff;
    box-sizing: border-box;
    border-radius: 50%;
    text-align: center;
    color: #ff9234;
    padding-top: 24px;
    position: relative;
}
.pagetop a::before {
    content: "";
    border-bottom: 7px solid #ff9234;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    position: absolute;
    top: 13px;
    left: 50%;
    transform: translateX(-50%);
}

/*/////////////////////////////////////////////////////////////////////////////


              // common parts //


/////////////////////////////////////////////////////////////////////////////*/

/* ===============================================
    wave
=============================================== */
.wave {
    position: absolute;
    left: 0;
    bottom: -1px;
}
.wave-item {
    width: 1026px;
}


/* ==================================================
    pagettl
================================================== */
.pagettl {
    background: #FFEEDF;
    padding: 10px 40px 95px;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
}
.pagettl-inner {
    max-width: 1000px;
    margin: auto;
    text-align: center;
}
.pagettl .ttl {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.5;
    color: #ff9234;
    padding: 28px 0 0;
}

/* breadcrumb
-------------------------------------------------- */
.breadcrumb {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
.breadcrumb li {
    font-size: 1.0rem;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="4" height="7" viewBox="0 0 4 7"><path  fill="none" stroke="rgb(153, 153, 153)" d="M.4.3l3,3.2L.4,6.7"/></svg>') right center no-repeat;
    background-size: 4px auto;
    padding: 0 12px 1px 0;
    margin-right: 8px;
    color: #999999;
}
.breadcrumb li:last-child {
    background: none;
    padding-right: 0;
    margin-right: 0;
}

/* ==================================================
    pagelead
================================================== */
.pagelead {
    margin-bottom: 65px;
}
.pagelead-txt {
    text-align: center;
}
.pagelead-box {
    border: 2px solid #FF9234;
    padding: 20px 40px 25px;
    margin: 40px 0 30px;
    border-radius: 8px;
    text-align: center;
    position: relative;
}
.pagelead-box-ttl {
    width: 100%;
    display: block;
    text-align: center;
    position: absolute;
    left: 0;
    top: -25px;
}
.pagelead-box-ttl p {
    display: inline-block;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 0 10px 0 15px;
    background: #ffffff;
}
.pagelead-box-ttl .picktxt {
    display: inline-block;
    font-size: 2.8rem;
    padding: 0 2px;
    position: relative;
    transform: translateY(1px);
}
.pagelead-box-ttl .picktxt::after {
    content: "";
    width: 27px;
    height: 9px;
    background-image: url("/img/icon_picktxt.png");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
.ribbon-txt-wrap {
    display: inline-block;
    position: relative;
    padding: 15px 115px 35px;
}
.ribbon-txt-wrap::before,
.ribbon-txt-wrap::after {
    content: "";
    width: 46px;
    height: 59px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: absolute;
}
.ribbon-txt-wrap::before {
    background-image: url("/img/icon_spark01.png");
    left: 0;
    top: 10px;
}
.ribbon-txt-wrap::after {
    background-image: url("/img/icon_spark02.png");
    right: 0;
    bottom: 0;
}
.pagelead-box .ribbon-txt {
    transform-origin: top center;
    transform: scale(1.3333);
}
.pagelead-box .ribbon-txt p {
    color: #ffffff;
}
.pagelead-box .txt {
    text-align: left;
    margin-bottom: 10px;
}
.pagelead-box-heading {
    font-size: 2.4rem;
    font-weight: 700;
    color: #ff9234;
    position: relative;
    text-align: center;
    margin-bottom: 15px;
}

/* anchorlink
-------------------------------------------------- */
.anchorlink {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 -1.2%;
}
.anchorlink li {
    width: 30.9333%;
    text-align: center;
    margin: 16px 1.2% 0;
}
.anchorlink li a {
    width: 100%;
    display: block;
    line-height: 1.5;
    border: 2px solid #ff9234;
    border-radius: 4px;
    box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.16);
    box-sizing: border-box;
    position: relative;
    padding: 8px 10px 30px;
}
.anchorlink li a::after {
    content: "";
    width: 17px;
    height: 17px;
    position: absolute;
    left: 50%;
    bottom: 7px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #ff9234 url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="17" height="17" viewBox="0 0 17 17"><path fill="none" stroke="rgb(255, 255, 255)" d="M5.4,7.3l3.1,3.1,3.1-3.1"/></svg>') center center no-repeat;
    background-size: 100% auto;
}



/* ==================================================
    section
================================================== */
.section {
    margin-bottom: 80px;
}
.section-narrow {
    margin-bottom: 40px;
}
.section-inner {
    max-width: 1000px;
    margin: auto;
}
.section-box {
    max-width: 1250px;
    margin: auto;
    padding: 65px 0;
    background: #ffeedf;
    border-radius: 32px;
}

/* sec-ttl
-------------------------------------------------- */
.sec-ttl {
    background: #ff9234;
    color: #ffffff;
    text-align: center;
    border-radius: 4px;
    padding: 16px 0 17px;
    margin-bottom: 30px;
    position: relative;
}
.sec-ttl::before,
.sec-ttl::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #ffffff;
    opacity: 0.34;
    position: absolute;
    left: 0;
}
.sec-ttl::before {
    top: 6px;
}
.sec-ttl::after {
    bottom: 6px;
}
.sec-ttl .ttl {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.4;
    padding: 0 20px;
    position: relative;
}
.sec-ttl .ttl::before {
    content: "";
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, #ffffff, #ffffff 6px, transparent 6px, transparent 12px);
    background-size: 12px 1px;
    opacity: 0.34;
    position: absolute;
    left: 0;
    top: 50%;
    box-sizing: border-box;
}
.sec-ttl .ttl span {
    display: inline-block;
    background: #ff9234;
    position: relative;
    padding: 0 10px;
}

/* sec-subttl
-------------------------------------------------- */
.sec-subttl {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.45;
    background: #F7F7F7;
    padding: 12px 16px;
    border-left: 4px solid #ff9234;
    margin: 35px 0 15px;
}

/* sec-box
-------------------------------------------------- */
.sec-box {
    border: 2px solid #ff9234;
    border-radius: 8px;
    padding: 30px 40px;
    margin: 30px 0 0;
    position: relative;
}
.box-ttl {
    text-align: center;
    margin: -10px 0 25px;
}
.box-ttl .ttl {
    font-size: 2.4rem;
    font-weight: 700;
    color: #ff9234;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.box-ttl .ttl::after {
    content: "" ;
    width: 24px;
    height: 3px;
    background: #F0E700;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}
.box-ttl .txt {
    font-size: 1.2rem;
    color: #888888;
}

/* section-block
-------------------------------------------------- */
.section-block p {
    margin-bottom: 15px;
}
.section-block p.mB5 {
    margin-bottom: 5px;
}

/* color
-------------------------------------------------- */
._blu {
    color: #ff9234;
}
._red {
    color: #D92D2D;
}
._pnk {
    color: #ED8089;
}
._grn {
    color: #ff9234;
}
._bold {
    font-weight: 700;
}

/* list-note
-------------------------------------------------- */
.list-note,
.list-note a {
    font-size: 1.2rem;
    color: #888888;
}

/* list-disc
-------------------------------------------------- */
.list-disc > li {
    position: relative;
	padding: 2px 0 2px 15px;
    font-size: 1.3rem;
}
.list-disc > li::before {
    content: "";
    width: 8px;
    height: 8px;
    background: #ff9234;
    position: absolute;
    left: 0;
    top: 0.8em;
    border-radius: 50%;
}


/* ===============================================
    btn
=============================================== */

/* btn
-------------------------------------------------- */
.btn {
    margin-top: 40px;
    text-align: center;
}
.btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 346px;
    height: 64px;
    position: relative;
    font-weight: 700;
    line-height: 1.4;
    box-sizing: border-box;
    padding: 0 35px 1px;
    margin: 0 auto;
    text-align: center;
    overflow: hidden;
    background-color: #ff9234;
    color: #ffffff;
    border-radius: calc(infinity * 1px);
    box-shadow: 4px 4px 6px 0px rgba(51, 51, 51, 0.2);
}
.btn a::before {
    content: "";
    width: 19px;
    height: 19px;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="19" height="19" viewBox="0 0 19 19"><path fill="rgb(255, 255, 255)" d="M19,7.3c-.1-.6-.3-1.3-.6-1.9-.5-1.1-1.2-2-2-2.9-.8-.8-1.8-1.5-2.9-2-.6-.3-1.2-.5-1.8-.6h-4.4c-.6.1-1.2.3-1.8.6-1.1.5-2,1.2-2.9,2-.8.8-1.5,1.8-2,2.9-.3.6-.5,1.2-.6,1.8v4.3c.1.6.3,1.2.6,1.8.2.5.5,1.1.9,1.6.3.5.7.9,1.1,1.3,1.3,1.3,3,2.2,4.7,2.6h4.3s0,0,0,0c.6-.1,1.2-.3,1.8-.6,1.1-.5,2-1.2,2.9-2,.8-.8,1.5-1.8,2-2.9.3-.6.5-1.2.6-1.9v-4.3ZM16.1,4.9h-.2c.4.7.7,1.3.9,1.9-1-.3-2.1-.6-3.1-.7-1.3-.2-2.7-.3-4.1-.3h-.1c-1.4,0-2.8,0-4.2.3-1.1.1-2.1.4-3.1.7.9-2.5,3-4.3,5.6-4.9.3,0,.7-.1,1-.2.6,0,1.3,0,1.9,0,1.2.2,2.4.7,3.4,1.5.6.5,1.2,1,1.6,1.7h.2M7.7,13.8h0s-.2,0-.2,0v3.2c-.7-.2-1.3-.5-1.9-.8-.6-.4-1.2-.8-1.7-1.4-1-1.1-1.7-2.4-2-3.9.1,0,.3,0,.4,0,.2,0,.4,0,.6,0h0c.4,0,.9,0,1.3,0,.4,0,.7.2,1.1.3,1,.3,1.7,1,1.9,1.9,0,.2,0,.4,0,.6h.2ZM11.2,10.2c0,.2-.2.4-.4.6-.3.4-.8.6-1.3.6-.3,0-.5,0-.8-.1-.4-.2-.8-.5-1-.9-.1-.2-.2-.5-.2-.8,0-.3,0-.5.1-.8.2-.4.5-.8.9-1h0c.2-.1.5-.2.8-.2.3,0,.5,0,.8.1.4.2.8.5,1,.9.1.2.2.5.2.8,0,.3,0,.5-.1.8ZM15.1,14.8c-.5.5-1.1,1-1.7,1.4-.6.3-1.2.6-1.9.8v-3.1c0-.2,0-.4,0-.6,0-.3.2-.6.3-.9.4-.5.9-.9,1.5-1.1.6-.2,1.2-.4,1.9-.4h0c.6,0,1.2,0,1.8.1-.3,1.5-.9,2.8-2,3.9Z"/></svg>');
    background-position:  center center;
    background-repeat:  no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: 50%;
    right: 17px;
    transform: translateY(-50%);
    transform-origin: center center;
    transition: .2s;
}
.btn a span {
    display: block;
    position: relative;
}
.btn a:hover::before {
    transform: translateY(-50%) rotate(-30deg);
}

/* arrow
-------------------------------------------------- */
.arrow-lbu {
    display: block;
    font-size: 1.4rem;
    position: relative;
    padding-left: 25px;
}
.arrow-lbu::before {
    content: "";
    width: 17px;
    height: 17px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #E2ECF2 url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="17" height="17" viewBox="0 0 17 17"><path fill="none" stroke="rgb(21, 152, 217)" d="M7.2,11.6l3.1-3.1-3.1-3.1"/></svg>') center center no-repeat;
    background-size: 100% auto;
}

/*/////////////////////////////////////////////////////////////////////////////


              // 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);
    -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;
}
.slick-loading .slick-slide {
    visibility: hidden;
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
/* Arrows */
.slick-prev,
.slick-next {
    position:  absolute;
	top: 0;
    right: 0;
	width: 59px;
	height: 59px;
	overflow: hidden;
	font-size: 0;
    line-height: 0;
	display: block;
	cursor: pointer;
    border: 1px solid #c3cacc;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 15px auto;
    background-color: transparent;
	z-index: 999;
	transition: .2s;
	border-radius: 50%;
    box-sizing: border-box;
}
.slick-prev {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="15" height="13" viewBox="0 0 15 13"><path fill="rgb(135, 158, 166)" d="M0,6.5l6.1-6.4l0.7,0.7L1.9,6h13v1h-13l5,5.2l-0.7,0.7L0,6.5z"/></svg>');
    margin-right: 69px;
}
.slick-next {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="15" height="13" viewBox="0 0 15 13"><path fill="rgb(135, 158, 166)" d="M14.9,6.5l-6.1,6.4l-0.7-0.7L13,7H0V6h13l-5-5.2l0.7-0.7L14.9,6.5z"/></svg>');
}
.slick-prev:active,
.slick-prev:focus,
.slick-next:active,
.slick-next:focus,
.slick-slide a {
    outline: none;
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 0;
}
.slick-dots {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 4px !important;
    padding: 6px !important;
    cursor: pointer;
    border: 1px solid transparent;
    box-sizing: border-box;
    border-radius: 50%;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 6px;
    height: 6px;
	padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: #ff9234;
	border-radius: 3px;
}
.slick-dots li.slick-active {
    border-color: #ff9234;
}
