@charset "UTF-8";

/* ====================
reset, root
=================== */
:root {
	--a-duration: .3s;
	--c-black: #444;
	--c-white: #fff;
	--c-lightgray: #f6f6f6;
	--c-green: #6e8973;
	--c-lightgreen: #d9e7dd;
	--f-f: "Zen Kaku Gothic Antique", sans-serif;
	--f-w-bold: 700;
	--f-w-normal: 400;
	--f-lh-l: 2.00em;
	--f-lh-m: 1.75em;
	--f-lh-s: 1.35em;
	--f-lh-ss: 1.00em;
	--f-ls: -0.03em;
	--f-s-h1: clamp(1.75rem, 1.179rem + 2.86vw, 2.25rem);
	--f-s-h2: clamp(1.5rem, 1.214rem + 1.43vw, 1.75rem);
	--f-s-h3: clamp(1.375rem, 1.232rem + 0.71vw, 1.5rem);
	--f-s-h4: clamp(1.25rem, 1.107rem + 0.71vw, 1.375rem);
	--f-s-h5: clamp(1.125rem, 0.982rem + 0.71vw, 1.25rem);
	--f-s-h6: clamp(1rem, 0.857rem + 0.71vw, 1.125rem);
	--f-s-p: clamp(0.875rem, 0.732rem + 0.71vw, 1rem);
	--f-s-small: clamp(0.75rem, 0.607rem + 0.71vw, 0.875rem);
	--g-5: 5px;
	--g-10: 10px;
	--g-20: clamp(0.938rem, 0.58rem + 1.79vw, 1.25rem);
	--g-30: clamp(1.25rem, 0.536rem + 3.57vw, 1.875rem);
	--g-40: clamp(1.875rem, 1.161rem + 3.57vw, 2.5rem);
	--g-60: clamp(2.5rem, 1.071rem + 7.14vw, 3.75rem);
	--w-s: 720px;
	--w-m: 900px;
	--w-l: 1200px;
}

/* ====================
基本HTMLタグ
==================== */
body {
	background-color: var(--c-lightgreen);
	color: var(--c-black);
	font-family: var(--f-f);
	font-size: var(--f-s-p);
	font-weight: var(--f-w-normal);
	letter-spacing: var(--f-ls);
	line-height: var(--f-lh-m);
}

@media screen and (min-width: 600px) {
	body {
		display: grid;
		grid-template-columns: 1fr 480px 1fr;
	}
}

main {
	overflow: hidden;
}

main>* {
	display: flex;
	flex-direction: column;
	gap: var(--g-10);
}

main>section {
	background-color: var(--c-white);
	display: flex;
	flex-direction: column;
	gap: var(--g-20);
}

main>section>div {
	display: flex;
	flex-direction: column;
	gap: var(--g-20);
}

main>section>div.gap-0 {
	gap: 0;
}

hr {
	margin: 0;
	width: 100%;
}

figure {
	display: flex;
	flex-direction: column;
	gap: var(--g-10);
}

figcaption {
	font-weight: var(--f-w-bold);
}

/* ====================
フォント
==================== */
h1, h2, h3, h4, h5, h6 {
	font-weight: var(--f-w-bold);
	line-height: var(--f-lh-s);
	margin-bottom: 0;
	margin-top: 0;
	text-wrap: auto;
}

h1, .fs-h1 {
	font-size: var(--f-s-h1);
}

h2, .fs-h2 {
	font-size: var(--f-s-h2);
}

h3, .fs-h3 {
	font-size: var(--f-s-h3);
}

h4, .fs-h4 {
	font-size: var(--f-s-h4);
}

h5, .fs-h5 {
	font-size: var(--f-s-h5);
}

h6, .fs-h6 {
	font-size: var(--f-s-h6);
}

a.text_link {
	color: var(--c-green);
	text-decoration: underline;
}

.color_green {
	color: var(--c-green);
}

.text_center {
	text-align: center;
}

.text_english {
	font-family: "Cormorant", serif;
}

.f-w-normal {
	font-weight: var(--f-w-normal);
}

strong, .f-w-bold {
	font-weight: var(--f-w-bold);
}

small {
	font-size: smaller;
}

.fs-s {
	font-size: var(--f-s-small);
}

.lh-l {
	line-height: var(--f-lh-l);
}

.lh-m {
	line-height: var(--f-lh-m);
}

.lh-s {
	line-height: var(--f-lh-s);
}

.ls-disc {
	list-style-type: disc;
	list-style-position: inside;
}

/* ====================
ボタン
==================== */
.btn {
	display: flex;
	font-weight: var(--f-w-bold);
	flex-wrap: wrap;
	gap: var(--g-20);
	justify-content: center;
	margin-top: var(--g-10);
}

.btn a {
	align-items: center;
	background-color: var(--c-green);
	border-radius: 1000px;
	color: var(--c-white);
	display: flex;
	gap: var(--g-5);
	justify-content: center;
	line-height: var(--f-lh-s);
	padding: 0.6lh 1.2lh;
	text-align: center;
	transition: var(--a-duration);
	width: min(100%, 17ic);
}

.btn :is(a:hover, a:active, a:focus) {
	scale: 1.1;
}

.btn a::after {
	background-color: var(--c-white);
	content: "";
	display: inline-block;
	height: 0.8em;
	-webkit-mask: url(../img/icon_arrow.svg) no-repeat center /contain;
	mask: url(../img/icon_arrow.svg) no-repeat center /contain;
	width: 0.8em;
}

.nav-global-inner .btn {
	margin-top: 0;
}

.nav-global-inner .btn a {
	background-color: var(--c-green);
	min-width: auto;
	padding: 0.4lh 0;
}

.btn.pink a::after, .btn.orange a::after {
	rotate: -90deg;
	opacity: 0.8;
}

/* ====================
split, margin
==================== */
.column_canter {
	width: min(600px, 100%);
}

.column_left, .column_right {
	display: none;
}

@media screen and (min-width: 600px) {
	.column_left, .column_right {
		background-image: url(../img/back_sides_01.png);
		background-repeat: repeat;
		background-size: 320px;
		display: block;
	}
}

.has_padding {
	padding: var(--g-60) var(--g-30);
}

.has_head {
	padding-top: 0;
}

.split {
	--item: 2;
	display: grid;
	column-gap: calc((7 - var(--item))*1%);
	grid-template-columns: repeat(var(--item), 1fr);
}

.split>* {
	display: flex;
	flex-direction: column;
	gap: var(--g-10);
}

/* ====================
ヘッダー
==================== */
header {
	background-color: var(--c-green);
	color: var(--c-white);
	padding-top: 0;
}

header h2 {
	text-align: center;
}

header h2 img {
	width: 75%;
}

header>div {
	display: flex;
	flex-direction: column;
	gap: var(--g-30);
}

header .now-accepting {
	border: 2px solid var(--c-white);
	font-size: var(--f-s-h4);
	font-weight: var(--f-w-bold);
	padding: var(--g-10);
	text-align: center;
}

/* ====================
コンテンツ
==================== */
#contents h2 {
	background-color: var(--c-lightgray);
	padding: var(--g-30);
}

/* ====================
アクセス
==================== */
#access {
	background-color: var(--c-lightgray);
}

/* ====================
応募方法＆当選発表
==================== */
#entry h3 {
	align-self: center;
	background-color: var(--c-white);
	border: 2px solid var(--c-green);
	color: var(--c-green);
	padding: var(--g-10);
	text-align: center;
}

#entry .step {
	gap: var(--g-10);
}

#entry .step+.step {
	margin-top: var(--g-60);
}

/* ====================
注意事項
==================== */
#attention {
	background-color: var(--c-lightgray);
}

/* ====================
美活バナー
==================== */
#bikatsu {
	background-color: #edf1ed;
}

#bikatsu h2 {
	font-size: var(--f-s-h3);
}

/* ====================
フッター
==================== */
footer {
	background-color: var(--c-green);
	color: var(--c-white);
	text-align: center;
	margin-bottom: var(--g-30);
}

footer h2 {
	font-size: var(--f-s-h6);
}

footer p {
	margin: var(--g-10) 0;
}

footer address {
	font-size: var(--f-s-small);
	line-height: var(--f-lh-s);
}

footer .copyright {
	font-size: var(--f-s-small);
}

/* ====================
最下段ボタン
==================== */
.cta {
	font-weight: var(--f-w-bold);
	position: fixed;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 100;
	box-shadow: 0px 0px 5px 0px #00000044;
}

.cta a {
	align-items: center;
	background-color: var(--c-green);
	color: var(--c-white);
	display: flex;
	gap: var(--g-5);
	justify-content: center;
	line-height: var(--f-lh-s);
	padding: 0.6lh 1.2lh;
	text-align: center;
	transition: var(--a-duration);
	font-size: var(--f-s-h6);
}

.cta a::after {
	background-color: var(--c-green);
	content: "";
	display: inline-block;
	height: 0.8em;
	-webkit-mask: url(../img/icon_arrow.svg) no-repeat center /contain;
	mask: url(../img/icon_arrow.svg) no-repeat center /contain;
	width: 0.8em;

	rotate: -90deg;
}

/* ====================
swiper
==================== */
.swiper{
    --swiper-navigation-sides-offset: calc(var(--g-30) * -1);
    --swiper-navigation-size: 36px;
    width: 100%;
}
.swiper-button-next, .swiper-button-prev {
    transition: var(--a-duration);
    &.swiper-button-disabled {
        opacity: 0;
    }
}
.swiper img{
	width: 100%;
}
.swiper_enjoy{
    overflow: visible;
}
.swiper_enjoy .swiper-slide{
    /* background-color: var(--c-white);
    display: flex;
    flex-direction: column;
    gap: var(--g-10);
    padding: var(--g-40) var(--g-30); */
}