@charset "UTF-8";
/*
	Reset CSS
-----------------------------------------------------------------------------------------------*/
/***
    The new CSS reset - version 1.7.3 (last updated 7.8.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)){
	all: unset;
	display: revert;
}
*,*::before,*::after{
	box-sizing: border-box;
}
a, button{
	cursor: revert;
}
ol, ul, menu{
	list-style: none;
}
img{
	max-width: 100%;
	vertical-align: top;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
input, textarea{
	-webkit-user-select: auto;
	user-select: auto;
}
textarea{
	white-space: revert;
}
meter{
	-webkit-appearance: revert;
	appearance: revert;
}
::placeholder{
	color: unset;
}
:where([hidden]){
	display: none;
}
:where([contenteditable]:not([contenteditable="false"])){
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	line-break: after-white-space;
	-webkit-user-select: auto;
	user-select: auto;
}
:where([draggable="true"]){
	-webkit-user-drag: element;
}
/*
	Setting CSS
-----------------------------------------------------------------------------------------------*/
html{
	font-size: 62.5%;
}
body{
	background: var(--navy);
	color:#000;
	font-size: 1.5em;
	font-family: 'Noto Sans JP', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-weight: 400;
	letter-spacing: 0.1rem;
	font-feature-settings: "palt";
	overflow-wrap: break-word;
	word-break: break-all;
}
p{
	line-height: 170%;
}
a{
	color: #fff;
	text-decoration: none;
	transition: all 0.3s;
}
a:link{
	color: #fff;
}
a:visited{
	color: #fff;
}
a:hover{
	text-decoration: none;
}
@media print, screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width: 1200px;
	}
	/* tel pcのみ無効 */
	a[href^="tel:"]{
		pointer-events: none;
	}
}
/* 表示切替 */
.switch{
	visibility: hidden;
}
.sp{
	display: none;
}
/*
	common
-----------------------------------------------------------------------------------------------*/
:root{
	/* color */
	--blue: #0048c5;
	--navy: #0d065b;
	--pink: #f35095;
	--menu-cp: #ee869a;
	--menu-wa: #619b1e;
	--menu-ff: #5c9eba;
	--menu-co: #f0c44b;
	/* font-family */
	--en: "Prompt", sans-serif;
	/* font-weight */
	--medium: 500;
	--bold: 700;
	--black: 900;
}
/* wrapper */
#wrapper{
	overflow: hidden;
	position: relative;
}
/* ctsArea */
[class^="ctsArea"]{
	margin: 0 auto;
	max-width: 1200px;
	padding: 80px 30px;
	position: relative;
	z-index: 1;
}
.ctsArea-small{
	max-width: 945px;
}
/* button
==================================== */
[class^="btnArea"]{
	display: flex;
	flex-wrap: wrap;
	gap: 0 30px;
	justify-content: center;
}
[class^="button-"]{
	align-items: center;
	border-radius: 39px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: 2.0rem;
	font-weight: var(--bold);
	height: 78px;
	justify-content: center;
	position: relative;
	text-align: center;
	transition: .2s;
	width: 450px;
}
[class^="button-"]::before{
	background: #fff;
	border-radius: 21px;
	content: '';
	height: 42px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translate(0, -50%);
	transition: transform .2s;
	width: 42px;
}
.button__line{
	padding-right: 15px;
}
/* +
================ */
button .button__line::before,
button .button__line::after{
	content: '';
	height: 4px;
	position: absolute;
	right: 31px;
	top: 50%;
	transform: translate(0, -50%);
	transition: all .3s;
	width: 20px;
}
button .button__line::after{
	transform: translate(0, -50%) rotate(90deg);
	transition: all .3s;
}
/* →
================ */
a[target="_blank"] .button__line::before{
	content: '';
	height: 14px;
	position: absolute;
	right: 31px;
	top: 50%;
	transform: translate(0, -50%);
	transition: transform .2s;
	width: 19px;
}
/* button color
================ */
/* loess */
.button-loess,
.button-loess .button__line::before,
.button-loess .button__line::after{
	background: #cea84b;
}
a.button-loess .button__line::before{
	background: url(../images/ico_button_loess.svg) center center / cover;
}
/* navy */
.button-navy{
	background: var(--navy);
}
.button-navy .button__line::before{
	background: url(../images/ico_button_navy.svg) center center / cover;
}
/* pink */
.button-pink{
	background: var(--pink);
}
.button-pink .button__line::before{
	background: url(../images/ico_button_pink.svg) center center / cover;
}
/* hover */
[class^="button-"]:hover{
	transition: .3s;
}
[class^="button-"]:hover::before,
button:hover .button__line::before,
a[target="_blank"]:hover .button__line::before{
	transform: translate(0, -50%) scale(1.15);
	transition: transform .2s;
}
button:hover .button__line::after{
	transform: translate(0, -50%) rotate(90deg) scale(1.15);
}
.close_btn:hover .button__line::after{
	transform: translate(0, -50%) scale(1.15);
}
.button-loess:hover{
	background: #c6992a;
}
.button-navy:hover{
	background: #070046;
}
.button-pink:hover{
	background: #f13786;
}
/* head
==================================== */
.section__head{
	color: var(--navy);
	font-size: 3.6rem;
	font-weight: var(--black);
	letter-spacing: .2rem;
	line-height: 1.4;
	margin-bottom: 60px;
	text-align: center;
}
.section__head--sub{
	display: block;
	font-size: 2.4rem;
	font-weight: var(--bold);
	position: relative;
	text-align: center;
}
.section__head--sub.underline{
	margin-bottom: 30px;
	padding-bottom: 23px;
}
.section__head--sub.underline::before{
	background: var(--navy);
	border-radius: 2px;
	bottom: 0;
	content: '';
	height: 4px;
	left: 50%;
	position: absolute;
	transform: translate(-50%, 0);
	width: 80px;
}
/* txt
==================================== */
.section__lead{
	font-size: 1.8rem;
	font-weight: var(--bold);
	text-align: center;
}
/* ico
==================================== */
[class^="ico__arrow"]{
	background: url(../images/ico_button_white.svg) no-repeat center center / 18px 14px;
	border: 1px solid #fff;
	border-radius: 22px;
	display: inline-block;
	height: 44px;
	width: 44px;
}
.ico__arrow--bottom{
	transform: rotate(90deg);
	transition: .3s;
}
/*
	inquiry
-----------------------------------------------------------------------------------------------*/
a[class^="btn_inquiry"]{
	display: inline-block;
	padding: 12px 10px;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
	writing-mode: vertical-lr;
	font-feature-settings: normal;
	border-radius: 5px 0 0 5px;
	background-color: var(--pink);
	position: fixed;
	top: 26%;
	right: 0;
	z-index: 999;
	transition: filter .2s;
}
/* hover */
a[class^="btn_inquiry"]:hover{
	filter: drop-shadow(0 0 7px #f35095);
	transition: filter .2s;
}
/*
	header
-----------------------------------------------------------------------------------------------*/
#header{
	align-items: center;
	display: flex;
	height: 84px;
	justify-content: space-between;
	left: 0;
	padding: 0 20px;
	position: absolute;
	width: 100%;
	z-index: 999;
}
/* subNav
==================================== */
[class^="subNav__area"]{
	display: flex;
	position: absolute;
	right: 120px;
	z-index: 10;
}
.subNav__areaTop{
	top: 0;
}
.subNav__areaBtm{
	top: -37px;
}
a[class^="subNav__btn0"]{
	border: 1px solid #fff;
	border-radius: 0 0 5px 5px;
	color: #fff;
	display: inline-block;
	font-size: 1.3rem;
	font-weight: var(--bold);
	line-height: 1.0;
	padding: 12px 25px 12px 12px;
	position: relative;
}
#header a[class^="subNav__btn0"]{
	border-top: none;
}
#footer a[class^="subNav__btn0"]{
	border-bottom: none;
}
.subNav__areaBtm [class^="subNav__btn"]{
	border-radius: 5px 5px 0 0;
}
[class^="subNav__btn"]::after{
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	content:' ';
	display:block;
	height:6px;
	position:absolute;
	right:8px;
	top:45%;
	transform:translateY(-50%) rotate(45deg);
	transform-origin:0 0;
	width:6px;
}
.subNav__btn01{
	background-color: #004080;
}
.header-logo__link{
	display: inline-block;
	width: 180px;
}
/* hover */
a[class^="subNav__btn0"]:hover{
	opacity: .6;
}
/* gnav
==================================== */
/* nav button */
.header-nav__button{
	background: rgba(0,90,255,.1);
	border: 4px solid #fff;
	border-radius: 37px;
	filter: drop-shadow(0 0 6px #005aff);
	cursor: pointer;
	height: 74px;
	position:fixed;
	right: 10px;
	top: 10px;
	transition: .3s;
	width: 74px;
	z-index: 9999;
}
.header-nav__button::before,
.header-nav__button::after{
	background: #fff;
	border-radius: 2px;
	content: '';
	height: 4px;
	left: 16px;
	position: absolute;
	transition: .3s;
	transform-origin: center;
	width: 35px;
}
.header-nav__button::before{
	top:18px;
}
.header-nav__button::after{
	top:29px;
}
.header-nav__button--txt{
	color: #fff;
	font-family: var(--en);
	font-size: 1.1rem;
	left: 50%;
	letter-spacing: 0;
	position: absolute;
	top: 37px;
	transform: translate(-50%, 0);
}
/* hover */
.header-nav__button:hover{
	background: rgba(0,90,255,.2);
	transition: .3s;
}
/* active */
.active.header-nav__button::before,
.active.header-nav__button::after{
	top: 32px;
	transition: .3s;
}
.active.header-nav__button::before{
	transform: rotate(45deg);
}
.active.header-nav__button::after{
	transform: rotate(-45deg);
}
.active .header-nav__button--txt{
	opacity: 0;
}
/* nav */
#g-nav__overlay{
	background: url(../images/bg_noise02.png), rgba(7, 0, 23, .8);
	backdrop-filter: blur(13px);
	height: 100%;
	opacity: 0;
	position: fixed;
	right: -100%;
	top: 0;
	transition: opacity .6s, right 0s ease 1.0s;
	width: 100%;
}
#g-nav.panelactive #g-nav__overlay{
	opacity: 1;
	right: 0;
	transition: opacity .6s, right 0s ease 0s;
}
#g-nav .g-nav__container{
	background: var(--navy);
	border-radius: 35px 0 0 35px;
	height: 100%;
	overflow: scroll;
	padding: 100px;
	position: fixed;
	right: -100%;
	top: 0;
	transition: right 0.6s;
	width: 750px;
	z-index: 999;
}
#g-nav.panelactive .g-nav__container{
	right: 0;
	transition: right 0.6s;
}
.g-nav__item{
	position: relative;
}
.g-nav__item::before,
.g-nav__item:last-child::after{
	background: #fff;
	border-radius: 2px;
	content: '';
	filter: drop-shadow(0 0 6px #ff06ca);
	height: 3px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.g-nav__item:last-child::after{
	bottom: 0;
	top: auto;
}
.g-nav__item > *{
	padding: 30px 0;
}
.g-nav__link{
	display: block;
}
.g-nav__tit{
	color: #fff;
	font-size: 1.7rem;
	font-weight: var(--black);
	transition: .2s;
}
.g-menu__list{
	display: flex;
	gap: 0 14px;
	margin-top: 15px;
}
.g-menu__item{
	border-radius: 12px;
	overflow: hidden;
	width: calc((100% - 28px)/3);
}
.g-menu__link{
	align-items: center;
	background: rgba(255, 255, 255, .12);
	display: flex;
	flex-direction: column;
	height: 200px;
	justify-content: center;
	transition: .4s;
}
.g-menu__img{
	height: 120px;
	margin-bottom: 12px;
	transition: .3s;
}
.g-menu__img img{
	height: inherit;
	width: initial;
}
.g-menu__txt{
	align-items: center;
	display: flex;
	font-size: 1.4rem;
	font-weight: var(--bold);
	justify-content: center;
	line-height: 1.4;
	min-height: 40px;
	text-align: center;
}
.g-nav__btnArea{
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 13px 10px;
	justify-content: center;
	margin-top: 30px;
	padding: 0 20px;
}
#g-nav [class^="button-"]{
	background: #fff;
	height: 46px;
	font-size: 1.3rem;
	width: calc((100% - 10px)/2);
}
#g-nav .button-pink{
	color: var(--pink);
}
#g-nav .button-navy{
	color: var(--navy);
}
#g-nav [class^="button-"]::before{
	border-radius: 17px;
	height: 34px;
	right: 7px;
	width: 34px;
}
#g-nav .button-pink::before{
	background: var(--pink);
}
#g-nav .button-navy::before{
	background: var(--navy);
}
#g-nav [class^="button"] .button__line::before {
	background: url(../images/ico_button_white.svg) center center / cover;
	height: 12px;
	right: 17px;
	width: 15px;
}
/* hover */
.g-nav__link:hover .g-nav__tit{
	filter: drop-shadow(0 0 8px #ff06ca);
	padding-left: 32px;
	position: relative;
	transition: .4s;
}
.g-nav__link .g-nav__tit::before{
	background: #fff;
	border-radius: 4px;
	content: '';
	height: 8px;
	left: 12px;
	opacity: 0;
	position: absolute;
	top: 55%;
	transform: translate(0, -50%);
	transition: .4s;
	width: 8px;
}
.g-nav__link:hover .g-nav__tit::before{
	filter: drop-shadow(0 0 8px #ff06ca);
	opacity: 1;
	transition: .4s;
}
.g-menu__link:hover{
	background: rgba(255, 255, 255, .25);
	transition: .3s;
}
.g-menu__link:hover .g-menu__img{
	transform: scale(1.1);
	transition: .3s;
}
/*
	kv
-----------------------------------------------------------------------------------------------*/
#kv{
	background: linear-gradient(0deg, rgba(249, 216, 230, 1), rgba(224, 151, 190, 1) 29%, rgba(0, 64, 151, 1) 73%, rgba(8, 0, 88, 1));
	height: 53vw;
	max-height: 700px;
	min-height: 670px;
	padding-top: 84px;
	position: relative;
}
#kv::before{
	background: url(../images/bg_section01.png) repeat center center;
	content: '';
	height: 100%;
	left: 0;
	mix-blend-mode: screen;
	opacity: .5;
	position: absolute;
	top: 0;
	width: 100%;
}
#kv::after{
	background: url(../images/bg_kv02.png) repeat-x center top / 470px, url(../images/bg_kv01.png) repeat-x center top / 470px;
	bottom: -2px;
	content: '';
	height: 81px;
	left: 0;
	position: absolute;
	width: 100%;
}
#kv > .ctsArea{
	padding: 0 30px;
	z-index: 2;
}
.kv__head{
	left: 0;
	position: absolute;
	top: 0;
	width: 50%;
	z-index: 3;
}
.kv__img{
	position: absolute;
	top: -45px;
	right: -20%;
	width: 80%;
	z-index: 2;
}
.kv__lead{
	bottom: 100px;
	left: 40px;
	position: absolute;
	transform: rotate(-5deg);
}
.kv__lead--bg{
	background: var(--pink);
	color: #fff;
	font-size: 1.9rem;
	font-weight: var(--bold);
	line-height: 2.3;
	padding: 3px 10px;
}
/* cone-parfait__bnr
==================================== */
.cone-parfait__bnr{
	max-width: 150px;
	width: 80%;
	position: absolute;
	right: 26%;
    bottom: 8%;
	z-index: 5;
	transition: all .7s;
}
.cone-parfait__bnr{
	animation: scroll-y ease-in-out 2s infinite;
}
.cone-parfait__bnr:hover{
	filter: brightness(1.1);
	transition: all .7s;
}
/*
	dear
-----------------------------------------------------------------------------------------------*/
#dear{
	background: url(../images/bg_noise01.png), linear-gradient(0deg, rgba(240, 157, 193, 1), rgba(0, 64, 151, 1) 63%, rgba(8, 0, 88, 1) 75%);
	border-radius: 0 0 60px 60px;
	position: relative;
	z-index: 1;
}
#dear::after{
	background: url(../images/bg_dear03.png) no-repeat center center/ cover, url(../images/bg_dear02.png) no-repeat center center/ cover;
	bottom: -32px;
	content: '';
	height: 33px;
	left: 50%;
	position: absolute;
	transform: translate(-50%, 0);
	width: 60px;
	z-index: 999;
}
#dear > .ctsArea{
	text-align: center;
}
#dear .section__head--sub{
	color: #fff;
	font-size: 2.2rem;
	margin-bottom: 15px;
}
#dear .section__head{
	color: #ffec46;
	font-size: 4.0rem;
	letter-spacing: .3rem;
	line-height: 1.4;
	margin: 60px 0 130px;
}
.dear__txt--sub{
	font-size: 3.6rem;
	line-height: 1;
}
.dear__container{
	position: relative;
}
.point{
	color: #fff;
	left: 52%;
	position: absolute;
	top: -70px;
	text-align: left;
}
.point__tit{
	font-size: 2.7rem;
	font-weight: var(--black);
	margin-bottom: 17px;
	filter: drop-shadow(0 0 6px #00e1ff);
}
.point__lead{
	line-height: 2.1;
	min-width: 465px;
}
.dear__list{
	display: inline-flex;
	flex-wrap: wrap;
	gap: 100px 20px;
	width: 1030px;
}
[class^="dear__item"]{
	background: #fff;
	border-radius: 240px;
	height: 480px;
	padding: 60px 60px;
	position: relative;
	text-align: center;
	width: 480px;
}
[class^="dear__item"]:nth-child(odd){
	margin-top: -365px;
}
.dear__feature{
	align-items: center;
	background: var(--pink);
	border-radius: 49px;
	color: #fff;
	display: flex;
	font-size: 1.9rem;
	font-weight: var(--black);
	height: 98px;
	justify-content: center;
	left: -2px;
	position: absolute;
	top: 20px;
	width: 98px;
}
.dear__tit{
	color: var(--blue);
	font-size: 2.8rem;
	font-weight: var(--black);
	line-height: 1.3;
	margin-bottom: 17px;
}
.dear__txt{
	line-height: 1.7;
	text-align: left;
}
.dear__img{
	position: absolute;
}
.dear__item--01 .dear__img{
	bottom: -110px;
	max-width: 320px;
	right: 10px;
}
.dear__item--02 .dear__txt{
	max-width: 178px;
}
.dear__item--02 .dear__img{
	bottom: 117px;
	right: -45px;
	max-width: 285px;
}
.dear__item--03 .dear__img{
	left: 50%;
	width: 413px;
	transform: translate(-50%, 0);
}
.dear__item--04 .dear__txt{
	max-width: 210px;
}
.dear__item--04 .dear__img{
	bottom: -10px;
	max-width: 270px;
	right: -30px;
}
.dear__item--05 .dear__img{
	bottom: -20px;
	max-width: 420px;
	right: -85px;
}
[class^="dear__deco--img"]{
	position: absolute;
}
.dear__deco--img01{
	top: 8%;
	right: 2%;
	transform: rotate(17deg);
}
.dear__deco--img02{
	left: -8%;
	top: 28%;
	transform: rotate(-17deg);
}
.dear__deco--img03{
	left: -8%;
	top: 65%;
	transform: rotate(13deg);
}
.dear__deco--img04{
	top: 91%;
	right: 7%;
	transform: rotate(-18deg);
}
[src*="deco_dear01.png"]{
	width: 133px;
}
[src*="deco_dear02.png"]{
	width: 116px;
}
/* modal
==================================== */
.button-modal{
	background: var(--blue);
	font-size: 1.3rem;
	height: 44px;
	margin-top: 17px;
	width: 225px;
}
.button-modal::before{
	right: 2px;
	transform: translate(0, -50%) scale(0.6);
}
.button-modal > .button__line{
	padding-right: 13px;
}
.button-modal > .button__line::before,
.button-modal > .button__line::after{
	background: var(--blue);
	right: 13px;
	transform: translate(0, -50%) scale(0.6);
}
.button-modal > .button__line::after{
	transform: translate(0, -50%) scale(0.6) rotate(90deg);
}
/* hover */
.button-modal:hover{
	background: #0030a8;
}
.button-modal:hover::before,
.button-modal:hover > .button__line::before,
.button-modal:hover > .button__line::after{
	transform: translate(0, -50%) scale(0.7);
}
.button-modal:hover > .button__line::after{
	transform: translate(0, -50%) scale(0.7) rotate(90deg);
}
@media print, screen and (min-width:813px){
	.lb_overlay{/* 背景 */
		min-width: 1200px;
	}
}
.modal-container{
	display: none;
	position: relative;
	max-width: 1140px;
	width: 100%;
}
.modalBox{
	border-radius: 0 0 20px 20px;
	overflow: hidden;
	max-height: 100vh;
}
.modalBox > .section__head{
	color: #fff;
	margin-bottom: 40px;
}
.section__head--txt{
	display: block;
	font-size: 1.6rem;
	font-weight: var(--bold);
	margin-top: 10px;
}
/* close */
#modalWindow .close{
	border: 4px solid #fff;
	border-radius: 37px;
	filter: drop-shadow(0 0 8px #005aff);
	height: 74px;
	mix-blend-mode: screen;
	position: absolute;
	transition: all 0.3s;
	top: 6px;
	right: 0;
	width: 74px;
	z-index: 999;
}
#modalWindow  .close::before,
#modalWindow  .close::after{
	background: #fff;
	border-radius: 4px;
	content: '';
	height: 4px;
	position: absolute;
	top: 32px;
	right: 15px;
	width: 35px;
}
#modalWindow  .close::before{
	transform: rotate(45deg);
}
#modalWindow  .close::after{
	transform: rotate(-45deg);
}
#modalWindow .close:hover{
	cursor: pointer;
}
/* tab */
.works-tab__area{
	display: flex;
	-ms-justify-content: center;
	justify-content: center;
}
.tab-radio {
	display: none;
}
#tab01 ~ .modal-tab01,
#tab02 ~ .modal-tab02{
	display: none;
}
#tab01:checked ~ .modal-tab01,
#tab02:checked ~ .modal-tab02{
	display: block;
	height: 70vh;
	overflow-y: scroll;
}
.modal-tab{
	align-items: center;
	display: flex;
	justify-content: space-between;
}
.modal-tab__label{
	align-items: center;
	background: #bfbfd2;
	border-radius: 20px 20px 0 0;
	color: var(--navy);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	font-size: 2.0rem;
	font-weight: var(--bold);
	gap: 5px 0;
	height: 90px;
	justify-content: center;
	transition: .3s;
	width: calc((100% - 10px)/2);
}
.modal-tab__label--sub{
	background: var(--navy);
	color: #fff;
	font-size: 1.5rem;
	padding: 2px 10px;
}
#tab01:checked ~ .modal-tab #modal-tab01,
#tab02:checked ~ .modal-tab #modal-tab02{
	background: #fff;
	padding: 0 30px;
	position: relative;
}
#tab01:checked ~ .modal-tab #modal-tab01::before,
#tab02:checked ~ .modal-tab #modal-tab02::before{
	background: var(--navy);
	bottom: 0;
	content: '';
	height: 1px;
	position: absolute;
	width: 90%;
}
[class^="modal-tab0"]{
	background: #fff;
	border-radius: 0 0 20px 20px;
	padding: 65px 90px;
	text-align: center;
}
.modal__txt{
	font-size: 2.0rem;
	font-weight: var(--bold);
	line-height: 1.7;
	text-align: center;
}
.modal__note{
	font-size: 1.2rem;
	font-weight: var(--medium);
	margin-top: 10px;
}
.modal__img + .modal__note{
	font-size: 1.0rem;
	text-align: right;
}
.modal__img{
	margin: 35px auto 0;
	width: 900px;
}
/* hover */
.modal-tab__label:hover{
	background: #c9c9e5;
	transition: .3s;
}
#modalWindow .close:hover{
	transform: scale(1.08);
	transition: 0.3s;
}
/*
	direction
-----------------------------------------------------------------------------------------------*/
#direction{
	text-align: left;
}
#direction .section__head{
	color: #fff;
	margin: 0 0 70px;
	filter: drop-shadow(0 0 10px #005cff);
}
#direction .section__head--sub.underline::before{
	background: #fff;
	filter: drop-shadow(0 0 2px #005cff);
}
.direction__list{
	display: flex;
	flex-wrap: wrap;
	gap: 0 60px;
}
.direction__item{
	width: calc((100% - 60px)/2);
}
.direction__item:nth-child(even){
	margin-top: 60px;
}
.direction__caption{
	color: #fff;
}
.direction__tit{
	font-size: 2.3rem;
	font-weight: var(--bold);
	margin: 23px 0 10px;
}
.direction__txt{
	line-height: 1.7;
}
/*
	support
-----------------------------------------------------------------------------------------------*/
#support{
	background: url(../images/bg_support01.png) no-repeat center center /cover, linear-gradient(160deg, rgba(82, 96, 186, 1), rgba(185, 136, 183, 1) 44%, rgba(240, 157, 193, 1) 73%, rgba(249, 216, 230, 1)) ;
	margin-top: -60px;
	padding: 120px 30px 80px;
	position: relative;
}
#support .section__head--sub.underline{
	color: #fff;
	margin-bottom: 45px;
}
#support .section__head--sub.underline::before{
	background: #fff;
}
#support > .ctsArea{
	background: rgba(255, 255, 255, .9);
	border-radius: 50px;
	padding: 85px 75px;
	position: relative;
}
#support > .ctsArea::before,
#support > .ctsArea::after,
.support__container::before,
.support__container::after{
	background: var(--blue);
	border-radius: 5px;
	content: '';
	height: 10px;
	position: absolute;
	width: 10px;
}
#support > .ctsArea::before{
	left: 40px;
	top: 40px;
}
#support > .ctsArea::after{
	right: 40px;
	top: 40px;
}
.support__container::before{
	bottom: 40px;
	left: 40px;
}
.support__container::after{
	bottom: 40px;
	right: 40px;
}
.support__tit{
	align-items: center;
	background: var(--navy);
	border-radius: 29px;
	color: #fff;
	display: flex;
	font-size: 2.7rem;
	font-weight: var(--black);
	height: 58px;
	letter-spacing: .2rem;
	margin-bottom: 30px;
	justify-content: center;
}
/* anchor
============================== */
.anchor__list{
	display: flex;
	gap: 0 20px;
	justify-content: center;
	margin: 30px 0 60px;
}
.anchor__item{
	height: 485px;
	text-align: center;
	width: calc((100% - 60px) / 4);
}
[class^="anchor__link--"]{
	border-radius: 30px;
	display: inline-block;
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}
.anchor__link--cup{
	background: #eb6ea5;
}
.anchor__link--wa{
	background: #6dbb4f;
}
.anchor__link--ff{
	background: #21b8c5;
}
.anchor__link--co{
	background: var(--menu-co);
}
.anchor__img{
	background: url(../images/bg_support02.png) no-repeat center center / 111%;
	height: 165px;
	margin: 35px 0 55px;
	position: relative;
	transition: .3s;
	width: 100%;
}
.anchor__link--wa .anchor__img{
	background: url(../images/bg_support03.png) no-repeat center center / 111%;
}
.anchor__link--ff .anchor__img{
	background: url(../images/bg_support04.png) no-repeat center center / 111%;
}
.anchor__link--co .anchor__img{
	background: url(../images/bg_support05.png) no-repeat center center / 111%;
}
[class^="anchor__img--"]{
	bottom: -45px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,.3));
	left: 50%;
	position: absolute;
	transform: translate(-50%, 0);
	transition: all .3s;
}
.anchor__img--cup{
	width: 100px;
}
.anchor__img--wa{
	left: 57%;
	width: 135px;
}
.anchor__img--ff{
	width: 105px;
}
.anchor__img--co{
	width: 135px;
}
.anchor__tit{
	display: block;
	font-size: 2.3rem;
	font-weight: var(--bold);
}
.anchor__txt{
	display: block;
	font-size: 1.5rem;
	line-height: 1.6;
	margin: 12px 0 14px;
	min-height: 72px;
}
/* hover */
.anchor__link--cup:hover{
	background: #e85696;
}
.anchor__link--wa:hover{
	background: #58b135;
}
.anchor__link--ff:hover{
	background: #00a5b4;
}
.anchor__link--co:hover{
	background: #ebbe26;
}
[class^="anchor__link--"]:hover .anchor__img{
	background-size: 115%;
	transition: .3s;
}
[class^="anchor__link--"]:hover [class^="anchor__img--"]{
	filter: drop-shadow(0 0 5px rgba(0,0,0,.5));
	transform: translate(-50%, 0) scale(1.1) rotate(-5deg);
	transition: .3s;
}
.anchor__item:nth-child(even) [class^="anchor__link--"]:hover [class^="anchor__img--"]{
	transform: translate(-50%, 0) scale(1.07) rotate(5deg);
}
[class^="anchor__link--"]:hover .ico__arrow--bottom{
	transform: rotate(90deg) translateX(5px);
	transition: .3s;
}
.promotion__link{
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: nowrap;
	height: 275px;
	justify-content: center;
	margin: 30px auto 0;
	position: relative;
	transition: .3s;
	width: fit-content;
}
.promotion__img{
	border-radius: 0 30px 30px 0;
	overflow: hidden;
	width: 508px;
}
.promotion__img--bg{
	transition: .3s;
}
.promotion__img--img{
	filter: drop-shadow(0 0 4px rgba(0, 0, 0, .4));
	position: absolute;
	top: -15px;
	right: -30px;
	transition: .3s;
	width: 240px;
}
.promotion__caption{
	background: #755fad;
	border-radius: 30px 0 0 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 41px 55px;
	transition: .3s;
	width: 425px;
}
.promotion__tit{
	font-size: 3.0rem;
	margin-bottom: 15px;
}
.promotion__txt{
	line-height: 1.8;
}
.promotion__note{
	font-size: 1.2rem;
}
.promotion__link .ico__arrow{
	background-color: #755fad;
	border: none;
	bottom: 15px;
	position: absolute;
	right: 15px;
	transition: .3s;
}
/* hover */
.promotion__link:hover{
	transform: scale(1.03);
}
.promotion__link:hover .promotion__caption,
.promotion__link:hover .ico__arrow{
	background-color: #654ca3;
	transition: .3s;
}
.promotion__link:hover .promotion__img--img{
	transform: rotate(5deg);
}
/*
	menu
-----------------------------------------------------------------------------------------------*/
#menu{
	background: var(--menu-cp);
}
#menu > .section__head{
	margin-bottom: 0;
	padding: 70px 0 20px;
}
#menu .section__head--sub.underline{
	color: #fff;
	margin-bottom: 0;
}
#menu .section__head--sub.underline::before{
	background: #fff;
}
.close_btn .button__line::after{
	transform: translate(0, -50%) rotate(0deg);
}
/* menu common
============================== */
[id^="menu-"]{
	display: flex;
	padding: 50px 0;
	position: relative;
}
.menu__wrapper{
	border-radius: 0 55px 55px 0;
	overflow: hidden;
	width: calc(100% - 50px);
}
.menu__container{
	padding-top: 450px;
}
.menu__kv{
	display: flex;
	left: 0;
	padding-right: 50px;
	position: absolute;
	top: -10px;
}
.menu__kv--img{
	max-width: 760px;
	width: 57%;
}
.menu__header{
	margin: 110px 0 0 -20px;
	z-index: 1;
}
.menu__copy{
	color: #fff;
	font-size: 4.8rem;
	font-weight: var(--black);
	letter-spacing: .3rem;
	line-height: 1.8;
}
[class^="menu__copy--"]{
	padding: 5px 12px;
}
.menu__copy--sub{
	font-size: 2.7rem;
}
.menu__lead{
	font-size: 1.8rem;
	font-weight: var(--bold);
	letter-spacing: .1rem;
	line-height: 2.2;
	margin: 30px 0 0 25px;
}
.menu__detail{
	align-items: flex-start;
	display: flex;
	flex-wrap: nowrap;
	gap: 0 40px;
	justify-content: center;
	padding: 0 30px;
}
/* quality
============================== */
.quality__tit{
	margin: 0 auto 15px;
	width: 274px;
}
.quality__tit--img{
	filter: drop-shadow(0 0 10px rgba(255, 255, 255, 1));
}
.quality__item{
	font-size: min(1.4vw, 1.6rem);
	font-weight: var(--bold);
	line-height: 1.6;
	margin-bottom: 25px;
}
.quality__item--large{
	font-size: min(2.3vw, 2.7rem);
	padding: 0 2px;
}
.advice{
	margin-top: 18px;
	width: 640px;
}
#menu .btnArea{
	padding: 70px 0 90px;
}
/* loop
============================== */
.loop{
	display: flex;
	gap: 0 12px;
	overflow: hidden;
	margin: 55px 0;
	position: relative;
	width: 50px;
}
.loop-txt{
	display: flex;
	gap: 0 12px;
	left: 50%;
	position: absolute;
	transform: rotate(90deg);
	transform-origin: left;
	top: 0;
	width: 100vw;
}
.loop span{
	animation: scroll-x 20s infinite linear 1s both;
	color: #fff;
	flex-shrink: 0;
	font-family: var(--en);
	font-size: 1.0rem;
	letter-spacing: 0.3rem;
	white-space: nowrap;
}
/* toggle common
============================== */
[class^="toggle0"]{
	background: #fff;
	border-radius: 0 0 55px 0;
}
[class^="toggle0"] .ctsArea-small{
	padding-bottom: 0;
}
[class^="toggle0"] .section__head--sub{
	font-family: var(--en);
	font-size: 1.5rem;
	font-weight: normal;
}
.menu__list{
	display: flex;
	gap: 0 30px;
}
.menu__item{
	width: calc((100% - 60px)/3);
}
.menu__visual{
	position: relative;
}
[class^="menu__head--"]{
	align-items: center;
	color: #fff;
	display: inline-flex;
	font-size: 2.0rem;
	font-weight: var(--bold);
}
[class^="menu__head--"]::before,
[class^="menu__head--"]::after{
	border-radius: 3px;
	content: '';
	height: 6px;
	width: 6px;
}
.menu__head--rl{
	left: 20px;
	padding: 18px 3px;
	position: absolute;
	top: -18px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	z-index: 1;
}
.menu__head--rl::before,
.menu__head--rl::after{
	background: #fff;
}
.menu__head--rl::before{
	margin-bottom: 10px;
}
.menu__head--rl::after{
	margin-top: 10px;
}
.menu__head--tb{
	background: #fff;
	padding: 3px 18px;
}
.menu__head--tb::before{
	margin-right: 10px;
}
.menu__head--tb::after{
	margin-left: 10px;
}
.menu__img{
	border-radius: 18px;
	overflow: hidden;
}
[class^="recipe-"]{
	color: var(--navy);
	font-size: 1.2rem;
	margin-top: 20px;
}
.menu__tit{
	border-bottom: 1px solid var(--navy);
	font-size: 1.3rem;
	margin: 15px 0 10px;
	padding-bottom: 5px;
}
.recipe__list{
	display: flex;
	flex-wrap: wrap;
	gap: 5px 10px;
}
.recipe__item{
	padding-left: 15px;
    position: relative;
}
.recipe__item::before{
	content: '●';
	position: absolute;
	left: 0;
}
.recipe__note{
	font-size: 1.0rem;
}
.recipe__link[target="_blank"]{
	color: inherit;
	padding-right: 20px;
	position: relative;
}
[class^="recipe-"] [target="_blank"]::before{
	background: url(../images/ico_link01.svg) no-repeat center center / cover;
	bottom: 3px;
	content: '';
	height: 12px;
	position: absolute;
	right: 3px;
	width: 12px;
}
.recipe-white [target="_blank"]::before{
	background: url(../images/ico_link02.svg) no-repeat center center / cover;
}
.recipe__link[target="_blank"]:hover{
	text-decoration: underline;
}
.recipe__txt{
	font-size: inherit;
	line-height: 1.6;
}
.recipe-note__list{
	margin-top: 5px;
	padding-left: 1em;
	text-indent: -1em;
}
.recipe-white [class^="recipe-"]{
	color: #fff;
}
.recipe-note__item{
	font-size: 1.0rem;
	margin: 0 0 3px;
}
.recipe-note__item::before{
	content: '※';
}
.recipe-white{
	color: #fff;
	max-width: 415px;
}
.recipe-white .menu__tit{
	border-bottom: 1px solid #fff;
}
.column{
	align-items: center;
	border-radius: 20px;
	display: flex;
	gap: 0 25px;
	justify-content: center;
	margin-top: 65px;
	padding: 50px 40px 35px;
	position: relative;
}
.column__head{
	align-items: center;
	background: var(--navy);
	border-radius: 22px;
	color: #fff;
	display: flex;
	font-size: 2.0rem;
	font-weight: var(--bold);
	height: 44px;
	justify-content: center;
	left: 50%;
	line-height: 1;
	padding: 0 40px;
	position: absolute;
	transform: translate(-50%, 0);
	top: -22px;
	width: max-content;
}
.column__img{
	max-width: 382px;
}
.other{
	background-image: radial-gradient(rgba(255, 255, 255, 0.13) 30%, transparent 30%), radial-gradient(rgba(255, 255, 255, 0.13) 30%, transparent 30%);
	background-position: 0 0, 5px 5px;
	background-size: 10px 10px;
	position: relative;
}
.other::before{
	background: url(../images/bg_menu01.png) repeat-x center center / 403px 210px;
	content: '';
	height: 210px;
	left: 0;
	position: absolute;
	top: -2px;
	width: 100%;
}
.other > .ctsArea{
	display: flex;
	gap: 0 10px;
	max-width: 100%;
	padding: 0 0 80px;
}
[class^="other__list"]{
	animation: scroll-x 50s infinite linear 1s both;
	display: flex;
	flex-wrap: nowrap;
	gap: 0 10px;
	padding: 0;
	text-align: center;
}
.other__item{
	text-align: center;
	width: 180px;
}
.other__item:nth-child(odd){
	margin-top: 30px;
}
#menu-cp .other__list:nth-child(2) .other__item:nth-child(odd),
#menu-ff .other__list:nth-child(2) .other__item:nth-child(odd){
	margin-top: 0;
}
#menu-cp .other__list:nth-child(2) .other__item:nth-child(even),
#menu-ff .other__list:nth-child(2) .other__item:nth-child(even){
	margin-top: 30px;
}
.other__img{
	margin: 0 auto;
	width: 180px;
}
.other__tit{
	font-size: 1.1rem;
	font-weight: var(--bold);
	margin-top: 8px;
}
/* カップパフェメニュー
============================== */
#menu-cp{
	background: var(--menu-cp);
}
#menu-cp .menu__container{
	background: url(../images/bg_menu-cp01.png) #fff no-repeat center center / cover;
}
#menu-cp [class^="menu__copy--"]{
	background: var(--menu-cp);
}
#menu-cp .quality__item--large{
	border-bottom: 2px solid var(--menu-cp);
	color: var(--menu-cp);
}
.toggle01 .section__head--sub{
	color: var(--menu-cp);
}
#menu-cp .menu__head--tb{
	color: #ea6982;
}
#menu-cp .menu__head--rl,
#menu-cp .menu__head--tb::before,
#menu-cp .menu__head--tb::after{
	background: #ea6982;
}
#menu-cp .menu__img{
	border: 3px solid var(--menu-cp);
}
#menu-cp .column{
	background: var(--menu-cp);
}
#menu-cp .other{
	background-color: #f5b5c2;
}
/* 和パフェメニュー
============================== */
#menu-wa{
	background: #2e4571;
	flex-direction: row-reverse;
}
[id^="menu-"]:nth-of-type(even) .menu__wrapper{
	border-radius: 55px 0 0 55px;
}
#menu-wa .menu__container{
	background: url(../images/bg_menu-wa01.png) #fff no-repeat center center / cover;
	padding-top: 450px;
}
[id^="menu-"]:nth-of-type(even) .menu__kv{
	flex-direction: row-reverse;
	left: auto;
	padding: 0 0 0 50px;
	right: 0;
	top: -30px;
}
#menu-wa .menu__header{
	margin: 130px -90px 0 0;
}
#menu-wa [class^="menu__copy--"]{
	background: #fff;
	color: #2e4571;
}
#menu-wa .menu__lead{
	color: #fff;
}
#menu-wa .quality__tit--img{
	filter: none;
}
#menu-wa .quality__item{
	color: #fff;
}
#menu-wa .quality__item--large{
	border-bottom: 2px solid #e0c75f;
	color: #e0c75f;
}
.toggle02 .section__head--sub{
	color: var(--menu-wa);
}
#menu-wa .menu__head--tb{
	color: var(--menu-wa);
}
#menu-wa .menu__head--rl,
#menu-wa .menu__head--tb::before,
#menu-wa .menu__head--tb::after{
	background: var(--menu-wa);
}
#menu-wa .menu__img{
	border: 3px solid var(--menu-wa);
}
#menu-wa .column{
	background: var(--menu-wa);
}
#menu-wa .other{
	background-color: #9fc276;
}
/* フラッペ&フロート
============================== */
#menu-ff{
	background: var(--menu-ff);
}
#menu-ff .menu__container{
	background: url(../images/bg_menu-ff01.png) #fff no-repeat center center / cover;
	padding-top: 480px;
}
#menu-ff .menu__kv{
	top: -25px;
}
#menu-ff .menu__header{
	margin: 125px 0 0 -20px;
}
#menu-ff [class^="menu__copy--"]{
	background: var(--menu-ff);
}
#menu-ff .quality__item--large{
	border-bottom: 2px solid var(--menu-ff);
	color: var(--menu-ff);
}
#menu-ff .advice{
	width: 675px;
}
.toggle03 .section__head--sub{
	color: var(--menu-ff);
}
#menu-ff .menu__head--tb{
	color: var(--menu-ff);
}
#menu-ff .menu__head--rl,
#menu-ff .menu__head--tb::before,
#menu-ff .menu__head--tb::after{
	background: var(--menu-ff);
}
#menu-ff .menu__img{
	border: 3px solid var(--menu-ff);
}
#menu-ff .column{
	background: var(--menu-ff);
}
#menu-ff .other{
	background-color: #9bc4d5;
}
/* コーンパフェメニュー
============================== */
#menu-co{
	background: var(--menu-co);
    flex-direction: row-reverse;
}
#menu-co .menu__container{
	background: url(../images/bg_menu-co01.png) #fff no-repeat center center / cover;
	padding-top: 430px;
}
#menu-co .menu__kv--img{
	margin-top: 35px;
}
#menu-co .menu__header{
	margin: 130px -90px 0 0;
}
#menu-co [class^="menu__copy--"]{
	background: #fff;
	color: #0b4395;
}
#menu-co .menu__lead{
	color: #000;
}
#menu-co .quality__tit--img{
	filter: none;
}
#menu-co .quality__item{
	color: #000;
}
#menu-co .quality__item--large{
	border-bottom: 2px solid #e85298;
	color: #e85298;
}
.toggle04 .section__head--sub{
	color: var(--menu-co);
}
#menu-co .menu__head--tb{
	color: var(--menu-co);
}
#menu-co .menu__head--rl,
#menu-co .menu__head--tb::before,
#menu-co .menu__head--tb::after{
	background: var(--menu-co);
}
#menu-co .menu__img{
	border: 3px solid var(--menu-co);
}
#menu-co .column{
	background: var(--menu-co);
}
#menu-co .other{
	background-color: #f5dc83;
}
/*
	reference
-----------------------------------------------------------------------------------------------*/
#reference{
	background: #fff;
}
.lead{
	align-items: center;
	display: flex;
	gap: 0 50px;
	justify-content: center;
}
.lead .section__lead{
	color: var(--navy);
	line-height: 1.7;
	text-align: left;
}
.check{
	background: #f3f3f7;
	background-image: repeating-linear-gradient(0deg,#ecebf2 0px 1px, transparent 1px 20px),repeating-linear-gradient(90deg,#ecebf2 0px 1px, transparent 1px 20px);
	border-radius: 18px;
	padding: 60px 50px 45px;
	position: relative;
	width: 485px;
}
.check__tit{
	color: var(--pink);
	font-family: var(--en);
	font-size: 3.8rem;
	font-style: italic;
	font-weight: 200;
	left: 50%;
	position: absolute;
	top: -30px;
	transform: translate(-50%, 0) skewY(-10deg);
}
.check__list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 30px;
}
.check__item{
	color: var(--navy);
	display: inline-block;
	font-size: 1.8rem;
	font-weight: var(--bold);
	line-height: 1;
	padding-left: 30px;
	position: relative;
}
.check__item::before,
.check__item::after{
	content: '';
	position: absolute;
}
.check__item::before{
	background: #fff;
	border: 2px solid #818181;
	height: 17px;
	left: 3px;
	top: 3px;
	width: 17px;
}
.check__item::after{
	background: url(../images/ico_check01.svg) no-repeat center center / cover;
	height: 22px;
	left: 0;
	top: -5px;
	width: 27px;
}
#reference .btnArea{
	margin: 55px 0 80px;
}
.reference__head{
	color: var(--navy);
	margin-bottom: 30px;
}
.reference__img{
	-webkit-overflow-scrolling: touch;
	overflow: scroll;
}
.reference__img--img{
	max-width: 1495px;
}
.reference__img--note{
	color: #fff;
	font-size: 1.2rem;
	margin-top: 10px;
}
/*
	business
-----------------------------------------------------------------------------------------------*/
#business{
	background-image: linear-gradient(0deg, rgba(8, 0, 88, 1), rgba(0, 64, 151, 1) 31%, rgba(240, 157, 193, 1) 64%, rgba(255, 255, 255, 1) 96%);
	margin-top: -300px;
	padding-top: 320px;
	position: relative;
}
#business::before{
	background: url(../images/bg_business01.png) repeat-x center center / 1400px;
	content: '';
	height: 132px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
#business::after{
	background: url(../images/bg_section01.png) repeat center center;
	content: '';
	height: 100%;
	left: 0;
	mix-blend-mode: screen;
	opacity: .5;
	position: absolute;
	top: 0;
	width: 100%;
}
#business > .ctsArea{
	background: rgba(255, 255, 255, .85);
	border: 2px solid #fff;
	border-bottom: none;
	border-radius: 40px 40px 0 0;
	max-width: calc(100% - 100px);
	position: relative;
	text-align: center;
}
#business > .ctsArea::before,
#business > .ctsArea::after{
	background: var(--blue);
	border-radius: 5px;
	content: '';
	height: 10px;
	position: absolute;
	width: 10px;
}
#business > .ctsArea::before{
	left: 40px;
	top: 40px;
}
#business > .ctsArea::after{
	right: 40px;
	top: 40px;
}
/*
	footer
-----------------------------------------------------------------------------------------------*/
#footer{
	background: var(--navy);
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 30px;
	position: relative;
}
#footer > [class^="footer__"]{
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer__btm{
	flex-direction: row-reverse;
}
/* テキストリンク */
a.footer__txtLink{
	padding-left: 20px;
	position: relative;
}
.footer__txtLink::before{
	background: #fff;
	border-radius: 50%;
	content: '';
	height: 15px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 15px;
}
.footer__txtLink::after{
	border-right: 1px solid var(--navy);
	border-top: 1px solid var(--navy);
	content: '';
	height: 4px;
	left: 5px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 4px;
}
.footer__copyright{
	font-size: 1.2rem;
}
/* リスト */
#footer__list{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
#footer__list li{
	font-size: 1.3rem;
	padding-left: 15px;
	position: relative;
}
#footer__list li::after{
	content:'|';
	left: 0;
	position: absolute;
}
#footer__list li a{
	text-decoration: underline;
}
#footer__list li a:hover{
	opacity: 1.0;
	text-decoration: none;
}
#footer__list li:first-of-type::after{
	content: none;
}
@media screen and (max-width:812px){
	body{
		-webkit-text-size-adjust: 100%;
		letter-spacing: 0;
	}
	img{
		width: 100%;
	}
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	br.sp{
		display: inline-block;
	}
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	/* ctsArea */
	[class^="ctsArea"]{
		max-width: 500px;
		padding: 50px 15px;
		z-index: 1;
	}
	.ctsArea-small{
		max-width: 100%;
	}
	/* button
	==================================== */
	[class^="btnArea"]{
		gap: 16px 0;
	}
	[class^="button-"]{
		border-radius: 32px;
		font-size: min(4vw, 1.6rem);
		height: 64px;
		max-width: 500px;
		width: 90%;
	}
	[class^="button-"]::before{
		border-radius: 16px;
		height: 32px;
		right: 13px;
		width: 32px;
	}
	/* +
	================ */
	button .button__line::before,
	button .button__line::after{
		height: 2px;
		right: 22px;
		width: 14px;
	}
	/* →
	================ */
	a[target="_blank"] .button__line::before{
		right: 20px;
	}
	/* hover */
	[class^="button-"]:hover::before,
	button:hover .button__line::before,
	a[target="_blank"]:hover .button__line::before{
		transform: translate(0, -50%) scale(1.0);
	}
	button:hover .button__line::after{
		transform: translate(0, -50%) rotate(90deg) scale(1.0);
	}
	.close_btn:hover .button__line::after{
		transform: translate(0, -50%) scale(1.0);
	}
	/* head
	==================================== */
	.section__head{
		font-size: 2.1rem;
		letter-spacing: 0;
		line-height: 1.4;
		margin-bottom: 25px;
	}
	.section__head--sub{
		font-size: 1.6rem;
	}
	.section__head--sub.underline{
		margin-bottom: 20px;
		padding-bottom: 18px;
	}
	.section__head--sub.underline::before{
		height: 3px;
		width: 50px;
	}
	/* txt
	==================================== */
	.section__lead{
		font-size: 1.5rem;
	}
	/* ico
	==================================== */
	[class^="ico__arrow"]{
		border-radius: 19px;
		height: 38px;
		width: 38px;
	}
	/*
		inquiry
	-----------------------------------------------------------------------------------------------*/
	a[class^="btn_inquiry"]{
		padding: 12px 8px;
		font-size: 1.1rem;
	}
	/*
		header
	-----------------------------------------------------------------------------------------------*/
	#header{
		height: 76px;
		padding: 0 15px;
	}
	/* subNav
	==================================== */
	[class^="subNav__area"]{
		display: none;
	}
	.header-logo__link{
		width: 130px;
	}
	/* gnav
	==================================== */
	/* nav button */
	.header-nav__button{
		border-radius: 28px;
		height: 56px;
		right: 10px;
		top: 10px;
		width: 56px;
	}
	.header-nav__button::before,
	.header-nav__button::after{
		left: 12px;
		width: 25px;
	}
	.header-nav__button::before{
		top:12px;
	}
	.header-nav__button::after{
		top:21px;
	}
	.header-nav__button--txt{
		font-size: .8rem;
		left: 51%;
		top: 27px;
		width: fit-content;
	}
	/* active */
	.active.header-nav__button::before,
	.active.header-nav__button::after{
		top: 23px;
	}
	/* nav */
	#g-nav .g-nav__container{
		border-radius: 0;
		max-width: 350px;
		padding: 80px 30px 40px;
		right: -100%;
		width: 80%;
	}
	.g-nav__item::before,
	.g-nav__item:last-child::after{
		background: #fff;
		border-radius: 2px;
		filter: drop-shadow(0 0 6px #ff06ca);
		height: 2px;
	}
	.g-nav__item > *{
		padding: 20px 0;
	}
	.g-nav__link{
		display: block;
	}
	.g-nav__tit{
		font-size: 1.4rem;
	}
	.g-menu__list{
		flex-direction: column;
		gap: 10px 0;
		margin-top: 15px;
	}
	.g-menu__item{
		border-radius: 8px;
		width: 100%;
	}
	.g-menu__link{
		flex-direction: inherit;
		gap: 0 10px;
		height: 110px;
	}
	.g-menu__img{
		height: 90px;
		margin-bottom: 0;
	}
	.g-menu__txt{
		min-height: auto;
		text-align: left;
	}
	.g-nav__btnArea{
		flex-direction: column;
		gap: 13px 0;
		justify-content: center;
		margin-top: 30px;
		padding: 0;
	}
	#g-nav [class^="button-"]{
		width: 100%;
	}
	/* hover */
	.g-nav__link:hover .g-nav__tit{
		filter: none;
		padding-left: 0;
		transition: none;
	}
	.g-nav__link .g-nav__tit::before{
		content: none;
	}
	/*
		kv
	-----------------------------------------------------------------------------------------------*/
	#kv{
		height: 53vw;
		max-height: 600px;
		min-height: 600px;
		padding-top: 84px;
	}
	#kv::after{
		background: url(../images/bg_kv02.png) repeat-x center top / 140px, url(../images/bg_kv01.png) repeat-x center top / 140px;
		height: 25px;
	}
	#kv > .ctsArea{
		margin-top: -20px;
		padding: 0;
	}
	.kv__head{
		margin: 0 auto;
		max-width: 396px;
		position: relative;
		width: 100%;
		z-index: 1;
	}
	.kv__img{
		margin: -31px 0 0 auto;
		max-width: 525px;
		position: static;
		width: 140%;
	}
	/* cone-parfait__bnr
	==================================== */
	.cone-parfait__bnr{
		width: 25%;
        right: 5%;
        bottom: 4%;
	}
	/*
		dear
	-----------------------------------------------------------------------------------------------*/
	#dear{
		border-radius: 0 0 20px 20px;
	}
	#dear::after{
		bottom: -25px;
		transform: translate(-50%, 0) scale(.6);
	}
	#dear .section__head--sub{
		font-size: 1.6rem;
		margin-bottom: 7px;
	}
	#dear .section__head{
		font-size: 2.8rem;
		letter-spacing: .2rem;
		line-height: 1.5;
		margin: 62px 0 24px;
	}
	.dear__txt--sub{
		font-size: 2.3rem;
	}	
	.point{
		position: static;
		text-align: center;
	}
	.point__tit{
		font-size: 2.2rem;
		line-height: 1.5;
		margin-bottom: 10px;
	}
	.point__lead{
		font-size: 1.4rem;
		line-height: 1.7;
		min-width: 100%;
	}
	.dear__list{
		gap: 70px 0;
		margin-top: 30px;
		width: 100%;
	}
	[class^="dear__item"]{
		border-radius: 165px;
		height: 330px;
		padding: 40px 30px;
		width: 330px;
	}
	[class^="dear__item"]:nth-child(odd){
		margin: 0 0 0 auto;
	}
	.dear__feature{
		border-radius: 35px;
		font-size: 1.3rem;
		height: 70px;
		left: -2px;
		line-height: 1.2;
		top: 20px;
		width: 70px;
	}
	[class^="dear__item"]:nth-child(odd) .dear__feature{
		left: auto;
		right: -2px;
	}
	.dear__tit{
		font-size: 2.2rem;
		line-height: 1.3;
		margin-bottom: 10px;
	}
	.dear__txt{
		font-size: 1.3rem;
		line-height: 1.5;
		text-align: center;
	}
	.dear__item--01 .dear__img{
		bottom: -85px;
		left: 20px;
		max-width: 200px;
		right: auto;
	}
	.dear__item--02 .dear__txt{
		max-width: 100%;
	}
	.dear__item--02 .dear__img{
		bottom: -90px;
		right: 0;
		max-width: 200px;
		transform: rotate(-10deg);
		z-index: 3;
	}
	.dear__item--03{
		margin-top: 30px!important;
	}
	.dear__item--03 .dear__img{
		bottom: -45px;
		left: 0%;
		transform: rotate(5deg);
		width: 280px;
	}
	.dear__item--04 .dear__txt{
		max-width: 100%;
	}
	.dear__item--04 .dear__img{
		bottom: -65px;
		max-width: 170px;
		right: 0;
	}
	.dear__item--05{
		margin-bottom: 100px!important;
	}
	.dear__item--05 .dear__img{
		bottom: -131px;
		left: 0;
		max-width: 240px;
		right: auto;
	}
	/* deco */
	.dear__deco--img01{
		top: -70px;
		right: -13%;
		transform: rotate(17deg) scale(.5);
	}
	.dear__deco--img02{
		left: -45px;
		top: 23.3%;
		transform: rotate(-17deg) scale(.5);
	}
	.dear__deco--img03{
		left: -45px;
		top: 59%;
		transform: rotate(13deg) scale(.5);
	}
	.dear__deco--img04{
		top: 98%;
		right: 0;
		transform: rotate(-18deg) scale(.5);
	}
	/* modal
	==================================== */
	.button-modal{
		font-size: 1.4rem;
		height: 44px;
		margin-top: 15px;
		width: 225px;
	}
	.button-modal::before{
		right: 7px;
		transform: translate(0, -50%) scale(0.7);
	}
	.button-modal > .button__line::before,
	.button-modal > .button__line::after{
		right: 16px;
		transform: translate(0, -50%) scale(0.7);
	}
	.button-modal > .button__line::after{
		transform: translate(0, -50%) scale(0.7) rotate(90deg);
	}
	/* hover */
	.lb_overlay{/* 背景 */
		min-width: 100%;
	}
	.modal-container{
		margin: 0 auto;
		max-width: 90%;
		width: 90%;
	}
	.modalBox{
		max-height: 100vh;
	}
	.modalBox > .section__head{
		margin-bottom: 20px;
	}
	.section__head--txt{
		font-size: 1.3rem;
		margin-top: 8px;
	}
	/* close */
	#modalWindow .close{
		border-radius: 22px;
		height: 44px;
		top: 8px;
		width: 44px;
	}
	#modalWindow  .close::before,
	#modalWindow  .close::after{
		border-radius: 4px;
		height: 4px;
		top: 17px;
		right: 8px;
		width: 20px;
	}
	/* tab */
	#tab01:checked ~ .modal-tab01,
	#tab02:checked ~ .modal-tab02{
		height: 70vh;
	}
	.modal-tab__label{
		border-radius: 10px 12px 0 0;
		font-size: 1.3rem;
		gap: 3px 0;
		height: auto;
		line-height: 1.2;
		padding: 10px;
		text-align: center;
		width: calc((100% - 3px)/2);
	}
	.modal-tab__label--sub{
		font-size: 1.1rem;
		padding: 1px 6px;
	}
	#tab01:checked ~ .modal-tab #modal-tab01,
	#tab02:checked ~ .modal-tab #modal-tab02{
		padding: 10px;
	}
	#tab01:checked ~ .modal-tab #modal-tab01::before,
	#tab02:checked ~ .modal-tab #modal-tab02::before{
		width: 85%;
	}
	[class^="modal-tab0"]{
		border-radius: 0 0 12px 12px;
		padding: 30px 20px;
	}
	.modal__txt{
		font-size: 1.5rem;
		line-height: 1.6;
	}
	.modal__note{
		font-size: 1.1rem;
		margin-top: 7px;
	}
	.modal__img{
		margin: 20px auto 0;
		overflow-x: scroll;
		width: 100%;
	}
	.modal-tab01 .modal__img img{
		max-width: 500px;
	}
	.modal-tab02 .modal__img img{
		max-width: 360px;
	}
	/* hover */
	#modalWindow .close:hover{
		transform: scale(1.0);
	}
	/*
		direction
	-----------------------------------------------------------------------------------------------*/
	#direction{
		text-align: left;
	}
	#direction .ctsArea-small{
		padding: 50px 0 0;
	}
	#direction .section__head{
		font-size: 2.1rem;
		line-height: 1.4;
		margin: 0 0 30px;
	}
	.direction__list{
		display: flex;
		gap: 15px;
	}
	.direction__item{
		width: calc((100% - 15px)/2);
	}
	.direction__item:nth-child(even){
		margin-top: 0;
	}
	.direction__tit{
		font-size: 1.9rem;
		margin: 14px 0 7px;
	}
	.direction__txt{
		font-size: 1.3rem;
		line-height: 1.6;
	}
	/*
		support
	-----------------------------------------------------------------------------------------------*/
	#support{
		margin-top: -20px;
		padding: 60px 15px 55px;
	}
	#support .section__head--sub.underline{
		margin-bottom: 28px;
	}
	#support > .ctsArea{
		border-radius: 20px;
		padding: 40px 15px;
	}
	#support > .ctsArea::before,
	#support > .ctsArea::after,
	.support__container::before,
	.support__container::after{
		border-radius: 4px;
		height: 8px;
		width: 8px;
	}
	#support > .ctsArea::before{
		left: 20px;
		top: 20px;
	}
	#support > .ctsArea::after{
		right: 20px;
		top: 20px;
	}
	.support__container::before{
		bottom: 20px;
		left: 20px;
	}
	.support__container::after{
		bottom: 20px;
		right: 20px;
	}
	.support__tit{
		border-radius: 32px;
		font-size: 1.7rem;
		height: auto;
		letter-spacing: 0;
		line-height: 1.3;
		margin: 0 auto 16px;
		padding: 7px 0;
		width: 100%;
	}
	.anchor__list{
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		margin: 25px 0 40px;
	}
	.anchor__item{
		height: auto;
		width: calc((95% - 10px)/2);
	}
	[class^="anchor__link--"]{
		border-radius: 12px;
		height: 100%;
		padding-bottom: 15px;
	}
	.anchor__img{
		background: url(../images/bg_support02.png) no-repeat center center / 100%;
		height: 130px;
		margin: 10px 0 30px;
		width: 100%;
	}
	.anchor__link--wa .anchor__img{
		background: url(../images/bg_support03.png) no-repeat center center / 100%;
	}
	.anchor__link--ff .anchor__img{
		background: url(../images/bg_support04.png) no-repeat center center / 100%;
	}
	.anchor__link--co .anchor__img{
		background: url(../images/bg_support05.png) no-repeat center center / 100%;
	}
	[class^="anchor__img--"]{
		bottom: -22px;
		height: inherit;
		width: auto;
	}
	.anchor__img--cup{
		height: 95%;
	}
	.anchor__img--wa{
		left: 54%;
	}
	.anchor__img--co{
		height: 90%;
	}
	.anchor__img ~ *{
		padding: 0 15px;
	}
	.anchor__tit{
		align-items: center;
		display: flex;
		font-size: 1.7rem;
		justify-content: center;
		min-height: 87px;
	}
	.anchor__txt{
		font-size: 1.5rem;
		line-height: 1.4;
		margin: 8px 0 12px;
		min-height: 105px;
	}
	/* hover */
	[class^="anchor__link--"]:hover .anchor__img{
		background-size: 100%;
	}
	[class^="anchor__link--"]:hover [class^="anchor__img--"]{
		filter: drop-shadow(0 0 5px rgba(0,0,0,.3));
		transform: translate(-50%, 0) scale(1.0) rotate(0deg);
	}
	.anchor__link--wa:hover [class^="anchor__img--"]{
		transform: translate(-50%, 0) scale(1.0) rotate(0deg);
	}
	[class^="anchor__link--"]:hover .ico__arrow--bottom{
		transform: rotate(90deg) translateX(0px);
	}
	.promotion__link{
		flex-direction: row;
		flex-wrap: wrap;
		height: auto;
		margin: 37px auto 0;
		width: 90%;
	}
	.promotion__img{
		border-radius: 12px 12px 0 0;
		width: 100%;
	}
	.promotion__img--img{
		filter: drop-shadow(0 0 4px rgba(0, 0, 0, .4));
		top: -17px;
		right: -40px;
		transform: rotate(4deg);
		width: 160px;
	}
	.promotion__caption{
		border-radius: 0 0 12px 12px;
		padding: 20px 20px 55px;
		width: 100%;
	}
	.promotion__tit{
		font-size: 2.2rem;
		margin-bottom: 6px;
	}
	.promotion__txt{
		font-size: 1.3rem;
		line-height: 1.6;
	}
	.promotion__link .ico__arrow{
		background-color: transparent;
		border: 1px solid #fff;
		bottom: 15px;
		right: 15px;
	}
	/* hover */
	.promotion__link:hover{
		transform: scale(1.0);
	}
	.promotion__link:hover .ico__arrow{
		background-color: transparent;
	}
	.promotion__link:hover .promotion__img--img{
		transform: rotate(4deg);
	}
	/*
		menu
	-----------------------------------------------------------------------------------------------*/
	#menu > .section__head{
		margin-bottom: 0;
		padding: 50px 0 10px;
	}
	.close_btn .button__line::after{
		transform: translate(0, -50%) rotate(0deg);
	}
	/* menu common
	============================== */
	[id^="menu-"]{
		padding: 30px 0;
	}
	.menu__wrapper{
		border-radius: 0 20px 20px 0;
		width: calc(100% - 20px);
	}
	.menu__container{
		padding-top: 355px;
	}
	.menu__kv{
		flex-direction: column;
		padding-right: 15px;
		top: 0;
		width: calc(100% - 15px);
		z-index: 1;
	}
	.menu__kv--img{
		max-width: 360px;
		width: 360px;
	}
	.menu__header{
		margin: -50px 20px 0;
		z-index: 1;
	}
	.menu__copy{
		font-size: min(6.5vw, 2.7rem);
		letter-spacing: .3rem;
		line-height: 1.8;
	}
	[class^="menu__copy--"]{
		padding: 3px 8px;
	}
	.menu__copy--sub{
		font-size: min(4vw, 1.6rem);
		letter-spacing: 0;
	}
	.menu__lead{
		font-size: 1.5rem;
		letter-spacing: .1rem;
		line-height: 1.7;
		margin: 15px 0 0;
	}
	.menu__detail{
		flex-direction: column;
		flex-wrap: wrap;
		gap: 20px 0;
		margin-top: 25px;
		padding: 0 15px;
	}
	/* quality
	============================== */
	.quality__tit{
		margin: 0 auto;
		width: 225px;
	}
	.quality__item{
		font-size: 1.3rem;
		line-height: 1.5;
		margin-bottom: 8px;
	}
	.quality__item--large{
		font-size: 1.6rem;
		line-height: 1.7;
		padding: 0 4px;
	}
	.advice{
		margin-top: 0;
		overflow-x: scroll;
		text-align: center;
		width: 100%;
	}
	.advice img{
		max-width: 500px;
		width: 500px;
	}
	#menu .btnArea{
		padding: 30px 20px 50px;
	}
	/* loop
	============================== */
	.loop{
		margin: 20px 0;
		width: 20px;
	}
	.loop span{
		font-size: .7rem;
	}
	/* toggle common
	============================== */
	[class^="toggle0"]{
		border-radius: 0 0 20px 0;
	}
	[class^="toggle0"] .ctsArea-small{
		padding: 50px 20px 0;
	}
	[class^="toggle0"] .section__head--sub{
		font-size: 1.3rem;
	}
	[class^="toggle0"] .section__head{
		margin-bottom: 18px;
	}
	.menu__list{
		flex-wrap: wrap;
		gap: 25px 0;
		margin: 0 auto;
		width: 85%;
	}
	.menu__item{
		width: 100%;
	}
	[class^="menu__head--"]{
		font-size: 1.6rem;
	}
	[class^="menu__head--"]::before,
	[class^="menu__head--"]::after{
		border-radius: 3px;
		content: '';
		height: 6px;
		width: 6px;
	}
	.menu__visual{
		margin-top: 8px;
	}
	.menu__head--rl{
		left: 15px;
		padding: 10px 3px;
		top: -8px;
	}
	.menu__head--rl::before{
		margin-bottom: 5px;
	}
	.menu__head--rl::after{
		margin-top: 5px;
	}
	.menu__head--tb{
		display: flex;
		padding: 6px 18px;
		justify-content: center;
		margin: 0 auto;
		width: 90%;
	}
	.menu__head--tb::before{
		margin-right: 10px;
	}
	.menu__head--tb::after{
		margin-left: 10px;
	}
	.menu__img{
		border-radius: 12px;
	}
	[class^="recipe-"]{
		margin-top: 14px;
	}
	.menu__tit{
		border-bottom: 1px solid var(--navy);
		font-size: 1.3rem;
		margin: 8px 0 7px;
		padding-bottom: 5px;
	}
	.recipe__list{
		gap: 3px 5px;
	}
	.recipe__link[target="_blank"]{
		color: inherit;
		padding-right: 20px;
		position: relative;
	}
	[class^="recipe-"] [target="_blank"]::before{
		background: url(../images/ico_link01.svg) no-repeat center center / cover;
		content: '';
		height: 12px;
		position: absolute;
		right: 3px;
		top: 50%;
		transform: translate(0, -50%);
		width: 12px;
	}
	.recipe-white [target="_blank"]::before{
		background: url(../images/ico_link02.svg) no-repeat center center / cover;
	}
	.recipe__link[target="_blank"]:hover{
		text-decoration: underline;
	}
	.recipe__txt{
		font-size: inherit;
		line-height: 1.6;
	}
	.recipe-note__list{
		margin-top: 5px;
		padding-left: 1em;
		text-indent: -1em;
	}
	.recipe-note__item{
		font-size: 1.0rem;
		margin: 0 0 3px;
	}
	.recipe-note__item::before{
		content: '※';
	}
	.recipe-white{
		color: #fff;
		max-width: 295px;
	}
	.recipe-white .menu__tit{
		border-bottom: 1px solid #fff;
	}
	.column{
		border-radius: 15px;
		flex-direction: column;
		gap: 16px 0;
		margin-top: 48px;
		padding: 60px 25px 25px;
	}
	.column__head{
		border-radius: 30px;
		font-size: 1.7rem;
		height: auto;
		line-height: 1.2;
		padding: 10px 30px;
		text-align: center;
		top: -22px;
		width: 85%;
	}
	.column__img{
		max-width: 382px;
	}
	.other::before{
		background: url(../images/bg_menu01.png) repeat-x center center / 200px 102px;
		height: 102px;
		top: -2px;
	}
	.other > .ctsArea{
		padding: 0 0 45px;
	}
	.other__item,
	.other__img{
		width: 100px;
	}
	.other__tit{
		font-size: .9rem;
	}
	/* カップパフェメニュー
	============================== */
	#menu-cp .menu__img{
		border: 2px solid var(--menu-cp);
	}
	/* 和パフェメニュー
	============================== */
	#menu-wa .menu__wrapper{
		border-radius: 20px 0 0 20px;
	}
	#menu-wa .menu__container{
		padding-top: 396px;
	}
	#menu-wa .menu__kv{
		flex-direction: column;
		padding: 0 0 0 20px;
		top: -20px;
	}
	#menu-wa .menu__kv--img{
		margin: 0 0 0 auto;
	}
	#menu-wa .menu__header{
		margin: -20px 20px 0;
	}
	#menu-wa .menu__img{
		border: 2px solid var(--menu-wa);
	}
	/* フラッペ&フロート
	============================== */
	#menu-ff .menu__container{
		padding-top: 400px;
	}
	#menu-ff .menu__kv{
		top: -13px;
	}
	#menu-ff .menu__header{
		margin: -20px 0 0 20px;
	}
	#menu-ff .quality__item--large{
		border-bottom: 2px solid var(--menu-ff);
		color: var(--menu-ff);
	}
	#menu-ff .advice{
		width: 100%;
	}
	#menu-ff .menu__img{
		border: 2px solid var(--menu-ff);
	}
	#menu-ff .btnArea{
		padding: 10px 15px 50px;
	}
	/* コーンパフェメニュー
	============================== */
	#menu-co .menu__wrapper{
		border-radius: 20px 0 0 20px;
	}
	#menu-co .menu__container{
		padding-top: 396px;
	}
	#menu-co .menu__kv{
		flex-direction: column;
		padding: 0 0 0 20px;
		top: -20px;
	}
	#menu-co .menu__kv--img{
		margin: 0 0 0 auto;
	}
	#menu-co .menu__header{
		margin: -20px 20px 0;
	}
	#menu-co .menu__img{
		border: 2px solid var(--menu-co);
	}
	/*
		reference
	-----------------------------------------------------------------------------------------------*/
	.lead{
		align-items: center;
		flex-direction: column;
		gap: 30px 0;
		justify-content: center;
	}
	.lead .section__lead{
		text-align: center;
	}
	.check{
		border-radius: 12px;
		padding: 47px 30px 37px;
		width: 80%;
	}
	.check__tit{
		font-size: 3.0rem;
		top: -20px;
	}
	.check__list{
		display: flex;
		flex-wrap: wrap;
		gap: 17px 0;
	}
	.check__item{
		font-size: 1.6rem;
		padding-left: 30px;
	}
	.check__item::before,
	.check__item::after{
		content: '';
		position: absolute;
	}
	.check__item::before{
		background: #fff;
		border: 2px solid #818181;
		height: 17px;
		left: 3px;
		top: 3px;
		width: 17px;
	}
	.check__item::after{
		background: url(../images/ico_check01.svg) no-repeat center center / cover;
		height: 22px;
		left: 0;
		top: -5px;
		width: 27px;
	}
	#reference .btnArea{
		margin: 35px 0 42px;
	}
	.reference__img--img{
		max-width: 1000px;
		width: 1000px;
	}
	/*
		business
	-----------------------------------------------------------------------------------------------*/
	#business{
		margin-top: -300px;
		padding-top: 300px;
	}
	#business::before{
		height: 132px;
		width: 100%;
	}
	#business > .ctsArea{
		border: 1px solid #fff;
		border-radius: 20px 20px 0 0;
		max-width: calc(100% - 30px);
		padding: 40px 15px;
	}
	#business > .ctsArea::before,
	#business > .ctsArea::after{
		border-radius: 4px;
		height: 8px;
		width: 8px;
	}
	#business > .ctsArea::before{
		left: 20px;
		top: 20px;
	}
	#business > .ctsArea::after{
		right: 20px;
		top: 20px;
	}
	#business [class^="button-"]{
		width: 100%;
	}
	/*
		footer
	-----------------------------------------------------------------------------------------------*/
	#footer{
		padding: 30px 15px;
	}
	#footer > [class^="footer__"]{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.footer__btm{
		flex-direction: row-reverse;
	}
	/* テキストリンク */
	a.footer__txtLink{
		padding-left: 20px;
		position: relative;
	}
	.footer__txtLink::before{
		content: "";
		width: 15px;
		height: 15px;
		border-radius: 50%;
		background: #fff;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	.footer__txtLink::after{
		content: "";
		width: 4px;
		height: 4px;
		border-top: 1px solid var(--navy);
		border-right: 1px solid var(--navy);
		position: absolute;
		top: 50%;
		left: 5px;
		transform: translateY(-50%) rotate(45deg);
	}
	.footer__copyright{
		font-size: 1.2rem;
	}
	/* リスト */
	#footer__list{
		display: flex;
		flex-wrap: wrap;
		gap: 15px;
	}
	#footer__list li{
		padding-left: 15px;
		font-size: 1.3rem;
		position: relative;
	}
	#footer__list li::after{
		content:'|';
		position: absolute;
		left: 0;
	}
	#footer__list li a{
		text-decoration: underline;
	}
	#footer__list li a:hover{
		opacity: 1.0;
		text-decoration: none;
	}
	#footer__list li:first-of-type::after{
		content: none;
	}
	#footer{
		gap: 15px;
	}
	#footer > [class^="footer__"]{
		justify-content: center;
		flex-direction: column;
		gap: 15px;
	}
	/* リスト */
	#footer__list{
		justify-content: center;
	}
	#footer__list li:first-of-type{
		padding-left: 0;
	}
}