@charset "UTF-8";
/* ==========================================================================
	root
========================================================================== */
:root {
	--base-pc-width:1680;
	--base-sp-width:375;
	--vwPC: calc(100vw / 1680);
	--vwSP: calc(100vw / 375);
	--easeInQuad:cubic-bezier(.55, .085, .68, .53);
	--easeOutQuad:cubic-bezier(0.23, 1, 0.32, 1);
	--easeOutQuint:cubic-bezier(.25, .46, .45, .94);
	--easeOutSine:cubic-bezier(0.39, 0.575, 0.565, 1);
	--easeOutCubic:cubic-bezier(0.215, 0.61, 0.355, 1);
	--easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
	--easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
	--easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28);
	--easeInCirc:cubic-bezier(0.55, 0, 1, 0.45);
	--theme-color:#004161;
	--theme-color02:rgba(0, 65, 97, 0.2);
	--base-text-color:#000;
	--base-bg-color:#EEE5DD;
	--base-bg-color02:#363636;
	--base-bg-color03:rgba(0, 65, 97, 0.15);
	--base-bg-color04:rgba(255, 255, 255, 0.15);
	--base-bg-color05:rgba(0, 0, 0, 0.1);
	--base-bg-color06:#363636;
	--base-bg-color07:rgba(255, 255, 255, 0.5);
	--base-bg-color08:rgba(0, 0, 0, 0.07);
	--base-bg-color09:rgba(255, 255, 255, 0.8);
	--base-bg-color10:rgba(255, 255, 255, 0.75);
	--base-bg-color-end:rgba(0, 65, 97, 0.15);
	--base-border-color:#000;
	--base-border-color02:rgba(0, 0, 0, 0.15);
	--base-border-color03:rgba(255, 255, 255, 0.3);
	--base-border-color04:rgba(255, 255, 255, 0.2);
	--base-border-color05:rgba(0, 0, 0, 0.3);
	--base-border-color06:rgba(0, 0, 0, 0.1);
	--base-border-color07:rgba(255, 255, 255, 0.25);
	--base-color-gray:#666666;
	--base-color-gray02:#E7E7E7;
	--base-color-gray03:#F1EFED;
	--base-color-black:#000;
	--base-color-black02:rgba(0, 0, 0, 0.1);
	--base-color-black03:rgba(0, 0, 0, 0.5);
	--base-color-black04:rgba(0, 0, 0, 0.05);
	--base-color-black05:rgba(0, 0, 0, 0.08);
	--base-color-black06:rgba(0, 0, 0, 0.07);
	--base-color-red:#E51D1D;
	--base-color-red02:#C34545;
	--hanten:scale(-1, -1);
	--hantenX:scale(-1, 1);
	--hantenY:scaleY(-1);
	--transition-scale:transform 0.8s var(--easeOutCubic);
}

@media screen and (min-width: 801px) {
	:root {
		--vwPC: calc(100vw / 1680);
		--fz11: max(1.1rem, 10px);
		--fz12: max(1.2rem, 11px);
		--fz13: max(1.3rem, 12px);
		--fz14: max(1.4rem, 12px);
		--fz15: max(1.5rem, 13px);
		--fz16: max(1.6rem, 14px);
		--fz17: max(1.7rem, 15px);
		--fz18: max(1.8rem, 16px);
		--fz19: max(1.9rem, 17px);
		--fz20: max(2.0rem, 18px);
		--fz21: max(2.1rem, 18px);
		--fz22: max(2.2rem, 18px);
		--fz23: max(2.3rem, 20px);
		--fz24: max(2.4rem, 20px);
		--fz25: max(2.5rem, 21px);
		--fz26: max(2.6rem, 22px);
		--fz27: max(2.7rem, 23px);
		--fz28: max(2.8rem, 24px);
		--fz30: max(3rem, 26px);
		--fz32: max(3.2rem, 28px);
		--fz34: max(3.4rem, 30px);
		--fz36: max(3.6rem, 32px);
		--fz40: max(4rem, 36px);
		--fz42: max(4rem, 38px);
		--fz44: max(4.4rem, 40px);
		--fz46: max(4.6rem, 42px);
		--fz48: max(4.8rem, 44px);
		--fz50: max(5rem, 48px);
		--fz52: max(5.2rem, 48px);
		--fz56: max(5.6rem, 52px);
		--fz64: max(6.4rem, 60px);
		--fz72: max(7.2rem, 68px);
		--fz96: max(9.6rem, 90px);
	}
}
@media screen and (max-width: 800px) {
	:root {
		--vwSP: calc(100vw / 375);
		--fz10: clamp(10px, calc(10 * var(--vwSP)), 12px);
		--fz11: clamp(11px, calc(11 * var(--vwSP)), 13px);
		--fz12: clamp(12px, calc(12 * var(--vwSP)), 14px);
		--fz13: clamp(13px, calc(13 * var(--vwSP)), 14px);
		--fz14: clamp(14px, calc(14 * var(--vwSP)), 16px);
		--fz15: clamp(15px, calc(15 * var(--vwSP)), 17px);
		--fz16: clamp(16px, calc(16 * var(--vwSP)), 18px);
		--fz17: clamp(17px, calc(17 * var(--vwSP)), 19px);
		--fz18: clamp(18px, calc(18 * var(--vwSP)), 20px);
		--fz19: clamp(19px, calc(19 * var(--vwSP)), 21px);
		--fz20: clamp(20px, calc(20 * var(--vwSP)), 22px);
		--fz21: clamp(21px, calc(21 * var(--vwSP)), 23px);
		--fz22: clamp(22px, calc(22 * var(--vwSP)), 24px);
		--fz24: clamp(24px, calc(24 * var(--vwSP)), 26px);
		--fz25: clamp(25px, calc(25 * var(--vwSP)), 27px);
		--fz26: clamp(26px, calc(26 * var(--vwSP)), 28px);
		--fz27: clamp(27px, calc(27 * var(--vwSP)), 29px);
		--fz28: clamp(28px, calc(28 * var(--vwSP)), 30px);
		--fz30: clamp(30px, calc(30 * var(--vwSP)), 32px);
		--fz32: clamp(32px, calc(23 * var(--vwSP)), 35px);
		--fz34: clamp(34px, calc(34 * var(--vwSP)), 37px);
		--fz35: clamp(35px, calc(25 * var(--vwSP)), 39px);
		--fz36: clamp(36px, calc(36 * var(--vwSP)), 40px);
		--fz38: clamp(38px, calc(38 * var(--vwSP)), 42px);
		--fz40: clamp(40px, calc(40 * var(--vwSP)), 44px);
		--fz44: clamp(44px, calc(44 * var(--vwSP)), 48px);
		--fz45: clamp(45px, calc(45 * var(--vwSP)), 49px);
		--fz48: clamp(48px, calc(48 * var(--vwSP)), 52px);
		--fz56: clamp(56px, calc(56 * var(--vwSP)), 60px);
		--fz64: clamp(64px, calc(64 * var(--vwSP)), 68px);
	}
}
/* ==========================================================================
	html
========================================================================== */
html.wf-active {
	visibility: visible;
}

html {
	font: normal normal normal 62.5%/1 "Zen Kaku Gothic New", "Noto Sans JP", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "メイリオ", "游ゴシック体", "ＭＳ Ｐゴシック", "Yu Gothic", YuGothic, "Meiryo", メイリオ, "MS PGothic", sans-serif;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	scroll-behavior: smooth;
	word-break: break-word;
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

body {
	position: relative;
	margin: 0;
	padding: 0;
	background-color: var(--base-bg-color);
	color: var(--base-text-color);
	text-rendering: optimizeLegibility;
	-webkit-font-feature-settings: "palt" 1;
	        font-feature-settings: "palt" 1;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-kerning: normal;
	font-kerning: normal;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	font-size: 62.5%;
	scroll-behavior: smooth;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

body.nav-open {
	overflow: hidden;
}

/*
	htmlのフォントサイズは、下記のブラウザ幅では62.5%ではなくvwに。
	・1280px ~ 1024px
	・768px ~ 561px
	・375px ~
 */
@media screen and (max-width: 1350px) and (min-width: 801px) {
	html {
		font-size: 0.666667vw;
	}
}
/*
@media screen and (max-width: 768px) and (min-width: 376px) {
	html {
		font-size: 1.30208vw;
	}
}
*/
@media screen and (max-width: 430px) and (min-width: 376px) {
	html {
		font-size: 2.659vw;
	}
}
@media screen and (max-width: 375px) {
	html {
		font-size: 2.66667vw;
		/*
		font-size: 3vw;
		*/
	}
}
button,
input,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
}

a {
	color: var(--base-text-color);
	text-decoration: none;
	-webkit-transition: all 0.4s var(--easeOutCubic);
	transition: all 0.4s var(--easeOutCubic);
}

a:hover,
.trns:hover {
	-webkit-transition: all 0.4s var(--easeOutCubic);
	transition: all 0.4s var(--easeOutCubic);
}

input,
select,
textarea,
button,
*:before,
*:after {
	-webkit-transition: opacity 0.4s all var(--easeOutQuad);
	-webkit-transition: opacity 0.4s var(--easeOutQuad);
	transition: opacity 0.4s var(--easeOutQuad);
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

a:focus,
input:focus,
select:focus,
textarea:focus,
button:focus {
	outline: none;
}

img {
	width: 100%;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
	interpolation-mode: bicubic;
	-webkit-backface-visibility: hidden !important;
}

svg {
	width: 100%;
	height: auto;
}

.svg {
	display: block;
	-o-object-fit: contain;
	   object-fit: contain;
	opacity: 0;
	-webkit-transition: opacity 0.4s ease;
	transition: opacity 0.4s ease;
}
.svg.replaced-svg {
	opacity: 1;
}

path {
	-webkit-transition: fill 0.4s var(--easeOutQuad);
	transition: fill 0.4s var(--easeOutQuad);
}

.pc_off {
	display: none !important;
}

.sp_off {
	display: block !important;
}

img.preload {
	display: none;
}

::-moz-selection {
	background: #fffcf8;
}

::selection {
	background: #fffcf8;
}

/* Safari */
::-moz-selection {
	background: #fffcf8;
}

.all_wrap {
	position: relative;
	overflow: hidden;
	z-index: 100;
}

@media (min-width: 851px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
.en {
	font-family: "Barlow", sans-serif;
	font-style: normal;
	letter-spacing: 0.02em;
}

.en-mincho {
	font-family: "Spectral", serif;
	font-style: normal;
	letter-spacing: 0.02em;
}

.mincho {
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-style: normal;
}

/* ==========================================================================
    animation
========================================================================== */
@-webkit-keyframes showTextFromBottom {
	0% {
		-webkit-transform: translateY(100%);
		        transform: translateY(100%);
	}
	100% {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px);
	}
}
@keyframes showTextFromBottom {
	0% {
		-webkit-transform: translateY(100%);
		        transform: translateY(100%);
	}
	100% {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px);
	}
}
@-webkit-keyframes loop-slide {
	from {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	to {
		-webkit-transform: translateX(-100%);
		        transform: translateX(-100%);
	}
}
@keyframes loop-slide {
	from {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
	to {
		-webkit-transform: translateX(-100%);
		        transform: translateX(-100%);
	}
}
@-webkit-keyframes loop-slide-rev {
	from {
		-webkit-transform: translateX(-100%);
		        transform: translateX(-100%);
	}
	to {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}
@keyframes loop-slide-rev {
	from {
		-webkit-transform: translateX(-100%);
		        transform: translateX(-100%);
	}
	to {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}
@-webkit-keyframes loop-slideY {
	0% {
		-webkit-transform: translateY(0%);
		        transform: translateY(0%);
	}
	100% {
		-webkit-transform: translateY(100%);
		        transform: translateY(100%);
	}
}
@keyframes loop-slideY {
	0% {
		-webkit-transform: translateY(0%);
		        transform: translateY(0%);
	}
	100% {
		-webkit-transform: translateY(100%);
		        transform: translateY(100%);
	}
}
@-webkit-keyframes loop-slideY-rev {
	0% {
		-webkit-transform: translateY(0%);
		        transform: translateY(0%);
	}
	100% {
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
}
@keyframes loop-slideY-rev {
	0% {
		-webkit-transform: translateY(0%);
		        transform: translateY(0%);
	}
	100% {
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
}
@-webkit-keyframes hamburger_top {
	0% {
		top: 0;
	}
	50% {
		top: 50%;
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
		top: 50%;
	}
}
@keyframes hamburger_top {
	0% {
		top: 0;
	}
	50% {
		top: 50%;
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
		top: 50%;
	}
}
@-webkit-keyframes hamburger_top_rev {
	0% {
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
		top: 50%;
	}
	50% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
		top: 50%;
	}
	100% {
		top: 0;
		-webkit-transform: rotate(0);
	}
}
@keyframes hamburger_top_rev {
	0% {
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
		top: 50%;
	}
	50% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
		top: 50%;
	}
	100% {
		top: 0;
		-webkit-transform: rotate(0);
	}
}
@-webkit-keyframes hamburger_center {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	50% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}
}
@keyframes hamburger_center {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	50% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}
}
@-webkit-keyframes hamburger_center_rev {
	0% {
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}
	50% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
}
@keyframes hamburger_center_rev {
	0% {
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
	}
	50% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
}
@-webkit-keyframes hamburger_bottom {
	0% {
		bottom: 0;
		margin: auto;
		opacity: 1;
	}
	50% {
		bottom: 50%;
		opacity: 0;
	}
	100% {
		bottom: 50%;
		opacity: 0;
	}
}
@keyframes hamburger_bottom {
	0% {
		bottom: 0;
		margin: auto;
		opacity: 1;
	}
	50% {
		bottom: 50%;
		opacity: 0;
	}
	100% {
		bottom: 50%;
		opacity: 0;
	}
}
@-webkit-keyframes hamburger_bottom_rev {
	0% {
		bottom: 50%;
		opacity: 0;
	}
	50% {
		bottom: 50%;
		opacity: 1;
	}
	100% {
		bottom: 0;
		margin: auto;
		opacity: 1;
	}
}
@keyframes hamburger_bottom_rev {
	0% {
		bottom: 50%;
		opacity: 0;
	}
	50% {
		bottom: 50%;
		opacity: 1;
	}
	100% {
		bottom: 0;
		margin: auto;
		opacity: 1;
	}
}
@-webkit-keyframes fadeInFix {
	0% {
		opacity: 0.3;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeInFix {
	0% {
		opacity: 0.3;
	}
	100% {
		opacity: 1;
	}
}
@-webkit-keyframes fadeInFix_rev {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes fadeInFix_rev {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.page-transition {
	opacity: 0;
	-webkit-transition: opacity 0.5s ease-in-out;
	transition: opacity 0.5s ease-in-out;
}

.page-transition.active {
	opacity: 1;
}

.char {
	display: inline-block;
	-webkit-transform: translateY(100%);
	        transform: translateY(100%);
	-webkit-transition: -webkit-transform 0.4s ease-in-out;
	transition: -webkit-transform 0.4s ease-in-out;
	transition: transform 0.4s ease-in-out;
	transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
}

.move .char {
	-webkit-animation: showTextFromBottom 0.4s var(--easeOutSine) forwards;
	        animation: showTextFromBottom 0.4s var(--easeOutSine) forwards;
}
.move .char:nth-child(1) {
	-webkit-animation-delay: 0.05s;
	        animation-delay: 0.05s;
}
.move .char:nth-child(2) {
	-webkit-animation-delay: 0.1s;
	        animation-delay: 0.1s;
}
.move .char:nth-child(3) {
	-webkit-animation-delay: 0.15s;
	        animation-delay: 0.15s;
}
.move .char:nth-child(4) {
	-webkit-animation-delay: 0.2s;
	        animation-delay: 0.2s;
}
.move .char:nth-child(5) {
	-webkit-animation-delay: 0.25s;
	        animation-delay: 0.25s;
}
.move .char:nth-child(6) {
	-webkit-animation-delay: 0.3s;
	        animation-delay: 0.3s;
}
.move .char:nth-child(7) {
	-webkit-animation-delay: 0.35s;
	        animation-delay: 0.35s;
}
.move .char:nth-child(8) {
	-webkit-animation-delay: 0.4s;
	        animation-delay: 0.4s;
}
.move .char:nth-child(9) {
	-webkit-animation-delay: 0.45s;
	        animation-delay: 0.45s;
}
.move .char:nth-child(10) {
	-webkit-animation-delay: 0.5s;
	        animation-delay: 0.5s;
}
.move .char:nth-child(11) {
	-webkit-animation-delay: 0.55s;
	        animation-delay: 0.55s;
}
.move .char:nth-child(12) {
	-webkit-animation-delay: 0.6s;
	        animation-delay: 0.6s;
}
.move .char:nth-child(13) {
	-webkit-animation-delay: 0.65s;
	        animation-delay: 0.65s;
}
.move .char:nth-child(14) {
	-webkit-animation-delay: 0.7s;
	        animation-delay: 0.7s;
}
.move .char:nth-child(15) {
	-webkit-animation-delay: 0.75s;
	        animation-delay: 0.75s;
}
.move .char:nth-child(16) {
	-webkit-animation-delay: 0.8s;
	        animation-delay: 0.8s;
}
.move .char:nth-child(17) {
	-webkit-animation-delay: 0.85s;
	        animation-delay: 0.85s;
}
.move .char:nth-child(18) {
	-webkit-animation-delay: 0.9s;
	        animation-delay: 0.9s;
}
.move .char:nth-child(19) {
	-webkit-animation-delay: 0.95s;
	        animation-delay: 0.95s;
}
.move .char:nth-child(20) {
	-webkit-animation-delay: 1s;
	        animation-delay: 1s;
}

/* ==========================================================================
	ヘッダー
========================================================================== */
.head {
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	padding: 34px 3.5714285714% 0;
	width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	z-index: 201;
	--color: #000;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.head.fix {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	z-index: 1000;
	padding: 0 3.5714285714% 0;
	font-size: var(--fz14);
	-webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	background: rgba(0, 0, 0, 0.4);
	--color: #fff;
	backdrop-filter: blur(10px);
}
@media screen and (min-width: 801px) {
	.head.fix .head_link-area {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	.head.fix .logo {
		width: 120px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
	.head.fix .g-nav {
		height: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
	.head.fix ul {
		height: 100%;
	}
	.head.fix ul li {
		height: 100%;
	}
	.head.fix ul li a {
		height: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
	.head.fix .link_btn {
		margin-top: -7px;
	}
	.head.fix .insta_link {
		margin-top: 0;
	}
}
.head.-white {
	--color: #fff;
}
.head.-black .logo {
	--color: var(--theme-color);
}
.head.-black.-white .logo {
	--color: #fff;
}
.head.fix.-black .logo {
	--color: #fff;
}
.head * > svg > path {
	fill: var(--color);
}
.head .logo {
	width: 160px;
}
.head .head_link-area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: flex-start;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	margin-right: 4rem;
	z-index: 20;
}
.head .g-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	--cell-space: 1.25rem;
	-webkit-box-align: right;
	    -ms-flex-align: right;
	        align-items: right;
	margin-right: 2.5rem;
}
.head .g-nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	--cell-space-left: 1.25rem;
	--cell-space-right: 1.25rem;
	-webkit-box-align: right;
	    -ms-flex-align: right;
	        align-items: right;
}
.head .g-nav li {
	margin: 0 calc(var(--cell-space-left) * -1);
}
.head .g-nav li > a {
	position: relative;
	display: block;
	font-size: var(--fz16);
	font-weight: 700;
	color: var(--color);
	letter-spacing: 0.04em;
	padding: 2rem calc(var(--cell-space) * 1.9) 2rem;
}
.head .link_btn {
	margin-top: 1rem;
	margin-right: 1rem;
}
@media screen and (min-width: 801px) {
	.head .link_btn:hover {
		--color: #fff;
		border-: 1px solid var(--theme-color);
	}
	.head .link_btn:hover span {
		color: var(--theme-color);
	}
}
.head .insta_link {
	width: 2.4rem;
	margin-left: 2rem;
	margin-top: 1.5rem;
}
@media screen and (min-width: 801px) {
	.head .insta_link:hover {
		opacity: 0.6;
	}
}

.nav-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(0, 0, 0, 0.85);
	z-index: 99;
	display: none;
	opacity: 0;
	height: 0;
	-webkit-transition: height 0.2s ease, opacity 0.2s ease;
	transition: height 0.2s ease, opacity 0.2s ease;
	pointer-events: none;
}
.nav-overlay.fix {
	position: fixed;
}

.g-nav_panel {
	display: none;
	opacity: 0;
	position: absolute;
	left: 0;
	top: 0;
	padding: 34px 3.5714285714% 0;
	margin: auto;
	width: 100%;
	height: auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-size: 50px;
	color: #000;
	top: 100%;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
	padding-top: 6.4rem;
	padding-bottom: 6rem;
	border-top: 1px solid var(--base-border-color03);
}
.g-nav_panel.show {
	opacity: 1;
}
.g-nav_panel .inr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.g-nav_panel .inr h2 {
	width: 400px;
	width: 25.641025641%;
	padding-right: 3rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-size: var(--fz36);
	line-height: 1.5;
	color: #fff;
}
.g-nav_panel .inr .link-list {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 2rem 1fr 2rem 1fr 2rem 1fr 2rem 1fr;
	grid-template-columns: repeat(5, 1fr);
	gap: 3.5rem 2rem;
}
.g-nav_panel .inr .link-list a {
	display: block;
}
.g-nav_panel .inr .link-list a .img {
	margin-bottom: 2rem;
}
.g-nav_panel .inr .link-list a p {
	color: #fff;
	font-size: var(--fz14);
	line-height: 1.4285714286;
	font-weight: 700;
}

.fix_navi {
	position: fixed;
	width: 144px;
	height: 100vh;
	left: 0;
	top: 0;
	padding-top: 29px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	z-index: 500;
}
.fix_navi .logo_icon {
	width: 89px;
	margin: 0 auto;
}
.fix_navi .logo_icon svg {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 1430px) {
	.head .head_link-area {
		margin-right: 0;
	}
	.head .g-nav {
		--cell-space: .8rem;
		margin-right: 150px;
	}
	.head .g-nav ul {
		--cell-space-left: .8rem;
		--cell-space-right: .8rem;
	}
	.head_link-area > .link_btn {
		position: absolute;
		width: 125px;
		right: calc(3.5714285714% + 40px);
		top: 20px;
		padding: 8px 20px;
		margin-right: 0;
		text-align: center;
	}
	.head_link-area > .link_btn.-c_theme {
		top: 55px;
	}
	.head_link-area > .link_btn span {
		font-size: 13px;
	}
	.head.fix_link-area > .link_btn {
		top: 15px;
	}
	.head.fix_link-area > .link_btn.-c_theme {
		top: 50px;
	}
	.head .insta_link {
		width: 2.4rem;
		margin-left: 2rem;
	}
}
@media screen and (max-width: 1100px) {
	.head.fix {
		height: 90px;
	}
	.head.fix .logo {
		padding-top: 0;
	}
	.head .g-nav {
		margin-right: 0;
	}
	.head_link-area > .link_btn {
		display: none;
	}
	.head .g-nav_panel .inr .link-list {
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
	}
}
@media screen and (max-width: 915px) {
	.head {
		padding: 23px 5.3333333333% 23px;
	}
	.head .head_link-area {
		display: none;
	}
	.nav-open .head.fix {
		background: none;
	}
}
@media screen and (max-width: 800px) {
	.head.fix {
		padding-top: 23px;
		padding-bottom: 20px;
		height: auto;
	}
	.head.fix .logo {
		width: 93px;
	}
	.head .logo {
		width: 93px;
	}
}
/* ==========================================================================
	hamburger
========================================================================== */
@media screen and (min-width: 915px) {
	.hamburger,
	.global-nav {
		display: none;
	}
}
@media screen and (max-width: 914px) {
	.hamburger {
		display: block;
		position: absolute;
		right: 5.3vw;
		top: 30px;
		width: 40px;
		height: 12px;
		cursor: pointer;
		z-index: 9999;
		opacity: 100;
		-webkit-transition: all 0.4s ease;
		transition: all 0.4s ease;
	}
	.hamburger .border {
		display: block;
		position: absolute;
		width: 100%;
		height: 1px;
		z-index: 5;
		background: var(--color);
		-webkit-transition: all 0.6s ease;
		transition: all 0.6s ease;
		-webkit-transform-origin: center center;
		        transform-origin: center center;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.hamburger .border:first-child {
		top: 0;
		left: 0;
	}
	.hamburger .border:nth-child(2) {
		top: 0;
		bottom: 0;
		margin: auto;
		right: 0;
	}
	.hamburger .border:nth-child(3) {
		bottom: 0;
		left: 0;
	}
}
@media screen and (max-width: 914px) and (hover: hover) {
	.hamburger:hover .border {
		-webkit-transform: rotate(0);
		        transform: rotate(0);
	}
}
@media screen and (max-width: 914px) {
	.nav-open .hamburger .border {
		background: #fff;
	}
	.nav-open .hamburger span {
		-webkit-transition: all 0.4s ease;
		transition: all 0.4s ease;
	}
	.nav-open .hamburger span:first-child {
		-webkit-animation: hamburger_top ease 0.4s forwards;
		animation: hamburger_top ease 0.4s forwards;
	}
	.nav-open .hamburger span:nth-child(2) {
		-webkit-animation: hamburger_center ease 0.4s forwards;
		animation: hamburger_center ease 0.4s forwards;
	}
	.nav-open .hamburger span:last-child {
		-webkit-animation: hamburger_bottom ease 0.4s forwards;
		animation: hamburger_bottom ease 0.4s forwards;
	}
	.nav-close .hamburger span {
		-webkit-transition: all 0.4s ease;
		transition: all 0.4s ease;
	}
	.nav-close .hamburger span:first-child {
		-webkit-animation: hamburger_top_rev ease 0.4s forwards;
		animation: hamburger_top_rev ease 0.4s forwards;
	}
	.nav-close .hamburger span:nth-child(2) {
		-webkit-animation: hamburger_center_rev ease 0.4s forwards;
		animation: hamburger_center_rev ease 0.4s forwards;
	}
	.nav-close .hamburger span:last-child {
		-webkit-animation: hamburger_bottom_rev ease 0.4s forwards;
		animation: hamburger_bottom_rev ease 0.4s forwards;
	}
}
@media screen and (max-width: 1180px) {
	.hamburger {
		right: 5vw;
		top: 36px;
		width: 50px;
		height: 18px;
	}
}
@media screen and (max-width: 800px) {
	.hamburger {
		top: 30px;
		width: 40px;
		height: 12px;
	}
}
/* ==========================================================================
	global-nav
========================================================================== */
/*ハンバーガーメニュー*/
.global-nav {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-size: cover;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	z-index: -1;
	opacity: 0;
	visibility: hidden;
	background: rgba(0, 0, 0, 0.85);
	overflow: scroll;
	height: 100vh;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	-webkit-transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
	transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.nav-open .global-nav {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 9997;
}

.global-nav .nav_inr {
	position: relative;
	width: 100%;
	padding: 23px 5.33333% 50px;
	margin: 0 auto;
	z-index: 10;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.global-nav .nav_inr_sub {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-top: 4rem;
}
.global-nav .nav_inr_sub .link_btn {
	position: relative;
	top: auto;
	right: auto;
	left: auto;
	width: 125px;
	margin: 0;
	text-align: center;
}
.global-nav .nav_inr_sub .link_btn:nth-child(2) {
	margin-left: 2rem;
}
.global-nav .nav_inr_sub .link_btn.-c_white span {
	color: var(--theme-color);
}
.global-nav .nav_inr_sub .insta_link {
	display: block;
	width: 2.4rem;
	margin-top: 0;
}
.global-nav .nav_inr_sub .insta_link .svg > path {
	fill: #fff;
}
.is-safari .nav_inr {
	padding-bottom: 100px;
}

.global-nav .logo {
	position: relative;
	width: 140px;
}
.global-nav .logo .svg > path {
	fill: #fff;
}
.global-nav ul {
	position: relative;
	z-index: 10;
	margin: 4rem auto 0;
}
.global-nav ul li {
	position: relative;
	border-bottom: 1px solid var(--base-border-color03);
}
.global-nav ul li .sp-toggle {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 50;
	width: 50px;
	height: calc(18px + 6rem);
}
.global-nav ul li .sp-toggle:before, .global-nav ul li .sp-toggle:after {
	content: "";
	display: block;
	background: #fff;
	position: absolute;
	top: 0;
	right: 0.2rem;
	bottom: 0;
	margin: auto;
}
.global-nav ul li .sp-toggle:before {
	width: 15px;
	height: 1px;
}
.global-nav ul li .sp-toggle:after {
	right: 9px;
	width: 1px;
	height: 15px;
	-webkit-transition: -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
	transition: -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
	transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
	transition: transform 0.5s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.global-nav ul li .sp-toggle.active:after {
	-webkit-transform: rotate(90deg);
	        transform: rotate(90deg);
}
.global-nav ul li .top-menu {
	display: block;
	font-size: var(--fz20);
	font-weight: 500;
	color: #fff;
	padding: 3rem 0;
}
.global-nav ul li .inr {
	display: none;
	padding-bottom: 4rem;
}
.global-nav ul li .inr .link-list {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 3rem 1fr;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem 3rem;
}
.global-nav ul li .inr .link-list .img {
	margin-bottom: 1rem;
}
.global-nav ul li .inr .link-list p {
	font-size: var(--fz16);
	line-height: 1.25;
	font-weight: 500;
	color: #fff;
}

@media screen and (max-width: 800px) {
	.global-nav .logo {
		position: relative;
		width: 93px;
	}
	.global-nav ul {
		margin: 4rem auto 0;
	}
	.global-nav ul li .top-menu {
		font-size: var(--fz18);
	}
	.global-nav ul li .inr {
		display: none;
		padding-bottom: 4rem;
	}
	.global-nav ul li .inr .link-list {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 3rem 1fr;
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem 3rem;
	}
	.global-nav ul li .inr .link-list .img {
		margin-bottom: 1rem;
	}
	.global-nav ul li .inr .link-list p {
		font-size: var(--fz14);
		line-height: 1.4285714286;
	}
}
/* ==========================================================================
	h_fv
========================================================================== */
#h_fv {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-top: 24rem;
}
#h_fv.-no_of {
	margin-top: 0;
	padding-top: 24rem;
}
#h_fv.-no_of.-v2 {
	padding-top: 16rem;
	margin-top: 0;
}
#h_fv.-v2 {
	margin-top: 16rem;
}
#h_fv.-u_line {
	border-bottom: 1px solid var(--base-border-color02);
}
#h_fv.no_ov {
	padding-top: 24rem;
	margin-top: 0;
}
#h_fv .l_area {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	padding-bottom: 6rem;
}
#h_fv .r_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
#h_fv .r_area .n_txt {
	letter-spacing: 0;
}
#h_fv .main-sub_title {
	display: block;
	font-size: var(--fz24);
	line-height: 1.5416666667;
	letter-spacing: 0.02em;
}
#h_fv h1 {
	font-size: var(--fz64);
	line-height: 1.453125;
	letter-spacing: 0.03em;
}
#h_fv .lb_txt {
	line-height: 1.875;
	margin-top: 2rem;
}
#h_fv .lb_txt.mincho {
	font-size: var(--fz24);
	line-height: 1.4583333333;
	margin-top: 0.5rem;
}
#h_fv .fv_img {
	width: 100%;
	position: relative;
	aspect-ratio: 1500/680;
	min-height: 500px;
	max-width: 100%;
}
#h_fv .fix_bnr {
	position: absolute;
	display: table;
	right: -40px;
	bottom: -20px;
	z-index: 30;
	opacity: 1;
	-webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
	transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
	transition: transform 0.4s ease, opacity 0.4s ease;
	transition: transform 0.4s ease, opacity 0.4s ease, -webkit-transform 0.4s ease;
}
#h_fv .fix_bnr.fix {
	position: fixed;
	right: 6rem;
	bottom: 5rem;
	top: auto;
	opacity: 1;
	-webkit-animation: fadeInFix 0.4s ease forwards;
	        animation: fadeInFix 0.4s ease forwards;
}
#h_fv .fix_bnr.leaving {
	opacity: 0;
	-webkit-animation: fadeInFix 0.4s ease forwards;
	        animation: fadeInFix 0.4s ease forwards;
}
#h_fv .fix_bnr.fix.leaving {
	-webkit-animation: fadeInFix_rev 0.4s ease forwards;
	        animation: fadeInFix_rev 0.4s ease forwards;
}

@media screen and (max-width: 1000px) {
	#h_fv {
		display: block;
		margin-top: 24rem;
	}
	#h_fv.-no_of {
		margin-top: 0;
		padding-top: 24rem;
	}
	#h_fv .l_area {
		min-width: 10px;
		padding-bottom: 3.5rem;
	}
	#h_fv .r_area {
		display: block;
		margin-bottom: 3rem;
	}
	#h_fv .r_area br {
		display: none;
	}
	#h_fv .fix_bnr {
		right: 0;
		left: 0;
		bottom: 0;
		-webkit-transform: translateY(50%);
		        transform: translateY(50%);
		margin: auto;
	}
	#h_fv .fix_bnr.fix {
		right: 0;
		bottom: 1rem;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
@media screen and (max-width: 800px) {
	#h_fv {
		width: 100%;
		margin-top: 16rem;
	}
	#h_fv.-v2 {
		margin-top: 16rem;
	}
	#h_fv.no_ov {
		padding-top: 16rem;
	}
	#h_fv.-no_of {
		margin-top: 0;
		padding-top: 16rem;
	}
	#h_fv.-no_of.-v2 {
		padding-top: 16rem;
	}
	#h_fv .main-sub_title {
		font-size: var(--fz16);
		margin-bottom: 0;
		width: 89.3333333333%;
		margin-left: auto;
		margin-right: auto;
		padding-bottom: 0;
	}
	#h_fv h1 {
		font-size: var(--fz40);
		line-height: 1.1;
		letter-spacing: 0.02em;
		width: 89.3333333333%;
		margin-left: auto;
		margin-right: auto;
	}
	#h_fv .lb_txt {
		font-size: var(--fz14);
		line-height: 1.7142857143;
		margin-top: 0.5rem;
		width: 89.3333333333%;
		margin-left: auto;
		margin-right: auto;
	}
	#h_fv .lb_txt.mincho {
		font-size: var(--fz16);
		line-height: 1.4375;
		letter-spacing: 0.03em;
		margin-top: 0.5rem;
	}
	#h_fv .fv_img {
		width: 100%;
		aspect-ratio: 375/400;
		min-height: 100px;
	}
	#h_fv .r_area {
		width: 89.3333333333%;
		margin: 0 auto 3rem;
	}
	#h_fv .fix_bnr {
		width: 94.6666666667%;
	}
}
/* ==========================================================================
	h_fv-mh
========================================================================== */
#h_fv-mh {
	width: 100%;
	height: 1080px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #fff;
}
#h_fv-mh:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 375px;
	z-index: 2;
	background: -webkit-gradient(linear, left bottom, left top, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
	background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
	opacity: 0.5;
}
#h_fv-mh .inr {
	position: absolute;
	bottom: 8rem;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 10;
}
#h_fv-mh .main-sub_title {
	display: block;
	font-size: var(--fz24);
	line-height: 1.5416666667;
	letter-spacing: 0.02em;
	margin-bottom: 1.7rem;
}
#h_fv-mh .main-sub_title:has(+ .-toto) {
	margin-bottom: -0.45em;
}
#h_fv-mh h1 {
	font-size: var(--fz64);
	line-height: 1.453125;
	font-weight: 600;
	letter-spacing: 0.03em;
}
#h_fv-mh h1 > svg > path {
	fill: #fff;
}
#h_fv-mh h1.-aiai {
	width: 146px;
	margin-bottom: 2.2rem;
}
#h_fv-mh h1.-toto {
	font-size: var(--fz96);
	line-height: 1.4479166667;
	letter-spacing: -0.03em;
}
#h_fv-mh .lb_txt {
	font-size: var(--fz32);
	line-height: 1.25;
	font-weight: 600;
}
#h_fv-mh .fv_img {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
#h_fv-mh .fv_img img {
	-o-object-position: bottom center;
	object-position: bottom center;
}

@media screen and (max-width: 800px) {
	#h_fv-mh {
		aspect-ratio: 375/670;
		height: auto;
		max-height: 1000px;
	}
	#h_fv-mh:after {
		height: 250px;
	}
	#h_fv-mh .inr {
		bottom: 4rem;
	}
	#h_fv-mh .main-sub_title {
		font-size: var(--fz20);
		line-height: 1.45;
		margin-bottom: 0;
	}
	#h_fv-mh h1 {
		font-size: var(--fz40);
	}
	#h_fv-mh h1.-aiai {
		width: 98px;
		margin-bottom: 2rem;
	}
	#h_fv-mh h1.-toto {
		font-size: var(--fz64);
		line-height: 1;
		margin-bottom: 2.5rem;
	}
	#h_fv-mh .lb_txt {
		font-size: var(--fz20);
		line-height: 1.45;
	}
}
/* ==========================================================================
	h_fv-sm
========================================================================== */
#h_fv-sm {
	position: relative;
	padding-top: 20rem;
	text-align: center;
}
#h_fv-sm .icon {
	display: block;
	width: 100px;
	background: #fff;
	border-radius: 50%;
	margin: 0 auto 3rem;
}
#h_fv-sm h1 {
	font-size: var(--fz56);
	line-height: 1.4464285714;
	letter-spacing: 0.03em;
	margin-bottom: 3rem;
}
#h_fv-sm .tag_area {
	text-align: center;
	margin-bottom: 5.5rem;
}
#h_fv-sm .tag_area p {
	display: inline-block;
	padding: 1.1rem 1rem;
	background: #fff;
	font-size: var(--fz14);
	font-weight: 500;
	line-height: 1;
	margin: 0 0.5rem 0.5rem;
}
#h_fv-sm .fv_img {
	position: relative;
	width: 100%;
	aspect-ratio: 1560/640;
	min-height: 500px;
	max-width: 100%;
}
#h_fv-sm .fix_bnr {
	position: absolute;
	display: table;
	right: -40px;
	bottom: 88px;
	z-index: 30;
	opacity: 1;
	-webkit-transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
	transition: opacity 0.4s ease, -webkit-transform 0.4s ease;
	transition: transform 0.4s ease, opacity 0.4s ease;
	transition: transform 0.4s ease, opacity 0.4s ease, -webkit-transform 0.4s ease;
}
#h_fv-sm .fix_bnr.leaving {
	opacity: 0;
	-webkit-transform: translateY(10px);
	        transform: translateY(10px);
}
#h_fv-sm .fix_bnr.fix {
	position: fixed;
	right: 6rem;
	bottom: 5rem;
	top: auto;
	-webkit-animation: fadeInFix 0.4s ease forwards;
	        animation: fadeInFix 0.4s ease forwards;
}

@media screen and (max-width: 800px) {
	#h_fv-sm {
		padding-top: 10rem;
		width: 100% !important;
	}
	#h_fv-sm .icon {
		width: 64px;
		margin: 0 auto 2rem;
	}
	#h_fv-sm h1 {
		font-size: var(--fz30);
		line-height: 1.2;
		margin-bottom: 2rem;
	}
	#h_fv-sm .tag_area {
		margin-bottom: 3rem;
	}
	#h_fv-sm .tag_area p {
		padding: 0.8rem 1rem;
		font-size: var(--fz13);
		margin: 0 0.5rem 0.5rem;
	}
	#h_fv-sm .fv_img {
		aspect-ratio: 375/400;
		min-height: 10px;
		max-height: 600px;
	}
	#h_fv-sm .fix_bnr {
		width: 89.3333333333%;
		right: 0;
		left: 0;
		bottom: 0;
		-webkit-transform: translateY(50%);
		        transform: translateY(50%);
		margin: auto;
	}
	#h_fv-sm .fix_bnr.fix {
		right: 0;
		bottom: 1rem;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
/* ==========================================================================
	h_fv-gc
========================================================================== */
#h_fv-gc {
	position: relative;
	padding-top: 16rem;
	padding-bottom: 6rem;
}
#h_fv-gc.-u_line {
	border-bottom: 1px solid var(--base-border-color02);
}
#h_fv-gc h1 {
	font-size: var(--fz36);
	line-height: 1.1111111111;
	letter-spacing: 0.03em;
	margin-bottom: 1rem;
}
#h_fv-gc .lb_txt {
	font-size: var(--fz16);
	line-height: 1.4375;
}

@media screen and (max-width: 800px) {
	#h_fv-gc {
		padding-top: 12rem;
		padding-bottom: 4rem;
	}
	#h_fv-gc h1 {
		font-size: var(--fz24);
		line-height: 1.4583333333;
		margin-bottom: 0;
	}
	#h_fv-gc .lb_txt {
		margin-top: 1rem;
		font-size: var(--fz15);
		line-height: 1.4666666667;
	}
}
/* ==========================================================================
	h_fv-ev
========================================================================== */
#h_fv-ev {
	position: relative;
	margin-top: 16rem;
	padding-bottom: 6rem;
}
#h_fv-ev .main-title {
	font-size: var(--fz36);
	line-height: 1.4444444444;
	letter-spacing: 0.03em;
}
#h_fv-ev .lb_txt {
	font-size: var(--fz16);
	line-height: 1.4375;
}

@media screen and (max-width: 800px) {
	#h_fv-ev {
		margin-top: 12rem;
		padding-bottom: 4rem;
	}
	#h_fv-ev .main-title {
		font-size: var(--fz24);
		line-height: 1.4583333333;
	}
	#h_fv-ev .lb_txt {
		margin-top: 1rem;
		font-size: var(--fz15);
		line-height: 1.4666666667;
	}
}
/* ==========================================================================
	link-swiper
========================================================================== */
.link-swiper {
	padding: 2rem 0;
}
.link-swiper:before, .link-swiper:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	border-top: 1px solid var(--base-border-color02);
}
.link-swiper:after {
	top: auto;
	bottom: 0;
}
.link-swiper .swiper-slide {
	width: auto;
	display: inline-block;
	padding: 5px 12px;
	font-size: var(--fz16);
	line-height: 1.875;
	letter-spacing: 0;
	border-radius: 30px;
	background: var(--base-color-black02);
}
.link-swiper .swiper-slide.this {
	background: var(--theme-color);
	color: #fff;
}
@media screen and (min-width: 801px) {
	.link-swiper .swiper-slide:hover {
		background: var(--theme-color);
		color: #fff;
	}
}

@media screen and (max-width: 1560px) {
	.link-swiper.inr.-w1560 {
		width: 96.4285714286vw;
		margin-left: 3.5714285715vw;
		margin-right: 0;
	}
	.link-swiper.inr.-w1560:before, .link-swiper.inr.-w1560:after {
		width: 92.8571428571vw;
	}
}
@media screen and (max-width: 800px) {
	.link-swiper.inr.-w1560 {
		width: 94.65%;
		margin-left: 5.35%;
		padding-bottom: 3rem;
		border-botom: none;
	}
	.link-swiper.inr.-w1560:before, .link-swiper.inr.-w1560:after {
		width: 89.3vw;
	}
	.link-swiper.inr.-w1560:after {
		display: none;
	}
	.link-swiper.inr.-w1560 .swiper-slide {
		padding: 5px 10px;
		font-size: var(--fz13);
	}
	.link-swiper.inr.-w1560 .scroll {
		position: absolute;
		right: 5.35%;
		bottom: 0;
		text-align: right;
		font-size: var(--fz15);
		color: rgba(0, 0, 0, 0.5);
	}
	.link-swiper.inr.-w1560 .scroll:before {
		content: "";
		display: inline-block;
		width: 20px;
		height: 7px;
		margin-right: 1rem;
		background: url(../img/common/icon-scroll.png);
		background-size: cover;
	}
}
/* ==========================================================================
	open_area
========================================================================== */
.open_area {
	margin-bottom: clamp(120px, 11.9047619048vw, 256px);
}
@media screen and (min-width: 1150px) {
	.open_area .tit_area .titles {
		-webkit-box-flex: 1;
		    -ms-flex: auto;
		        flex: auto;
		width: 400px;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
		width: 400px;
		flex-shrink: 0;
	}
	.open_area .tit_area .text {
		max-width: calc(100% - 450px);
		width: 768px;
	}
}
.open_area .border-box_links {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.open_area .border-box_links a {
	position: relative;
	display: block;
	width: 50%;
	border: 1px solid var(--base-border-color);
}
.open_area .border-box_links a:nth-child(2n) {
	border-left: none;
}
.open_area .border-box_links a.full {
	background: var(--theme-color);
	color: #fff;
}
.open_area .border-box_links a.full .icon path {
	stroke: #fff !important;
}
.open_area .border-box_links a.full .link-tit {
	padding-right: 8rem;
	background-image: url(../img/common/dashed-line_white.png);
}
.open_area .border-box_links a.full .link-tit:after {
	content: "満員御礼";
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: absolute;
	right: 3rem;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 72px;
	height: 30px;
	background: #fff;
	color: var(--theme-color);
	font-size: 13px;
	font-weight: 500;
}
.open_area .border-box_links a.full .img_area {
	background-image: url(../img/common/dashed-line_white.png);
}
.open_area .border-box_links a.full .info_area .time {
	background-image: url(../img/common/dashed-line02_white.png);
}
.open_area .border-box_links a.end {
	background: var(--base-bg-color-end);
}
.open_area .border-box_links a.end .img {
	position: relative;
}
.open_area .border-box_links a.end .img:after {
	content: "終了しました";
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 204px;
	height: 75px;
	background: var(--base-color-black);
	border-radius: 10px;
	z-index: 10;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.open_area .border-box_links a.end .img img {
	-webkit-filter: grayscale(100%);
	        filter: grayscale(100%);
}
@media screen and (min-width: 800px) {
	.open_area .border-box_links a:hover .img_area img {
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
}
.open_area .border-box_links .link-tit {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: var(--fz28);
	line-height: 1.1428571429;
	padding: 1.5rem 3rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	min-height: 120px;
	background: url(../img/common/dashed-line.png) left bottom;
	background-repeat: repeat-x;
	background-size: 3px 1px;
	z-index: 20;
}
.open_area .border-box_links .img_area {
	position: relative;
	padding: 2rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: url(../img/common/dashed-line.png) left bottom;
	background-repeat: repeat-x;
	background-size: 3px 1px;
}
.open_area .border-box_links .img_area .img {
	position: relative;
	aspect-ratio: 740/416;
	overflow: hidden;
}
.open_area .border-box_links .img_area .city {
	position: absolute;
	left: 2rem;
	top: 2rem;
	display: inline-block;
	color: var(--base-text-color);
	font-size: var(--fz16);
	line-height: 1;
	padding: 1rem 1.5rem;
	font-weight: 500;
	background: #fff;
	z-index: 20;
}
.open_area .border-box_links .info_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.open_area .border-box_links .info_area div {
	position: relative;
	width: 50%;
	padding: 2rem 3rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
.open_area .border-box_links .info_area div.day {
	--i_W: 16px;
	min-width: 308px;
}
.open_area .border-box_links .info_area div.day .icon {
	-webkit-transform: translateY(1px);
	        transform: translateY(1px);
}
.open_area .border-box_links .info_area div.time {
	--i_W: 13px;
	background: url(../img/common/dashed-line02.png) left top;
	background-repeat: repeat-Y;
	background-size: 1px 3px;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}
.open_area .border-box_links .info_area .s_txt {
	font-size: var(--fz14);
	margin-bottom: 0.8rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.open_area .border-box_links .info_area .s_txt .icon {
	display: inline-block;
	width: var(--i_W);
	margin-right: 0.5rem;
	-webkit-transform: translateY(1px);
	        transform: translateY(1px);
}
.open_area .border-box_links .info_area .b_txt {
	font-size: var(--fz24);
	font-weight: 700;
	--lh: 1;
	position: relative;
	/*
	overflow: hidden;
	*/
	line-height: calc(var(--lh) * 1em);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
}
.open_area .border-box_links .info_area .b_txt::before {
	content: "";
	display: block;
	height: 0;
	width: 0;
	/*
	margin-top: calc((1 - var(--lh)) * 0.5em);
	*/
	margin-top: calc((1 - var(--lh)) * 0.5em);
}
.open_area .border-box_links .info_area .b_txt::after {
	content: "";
	display: block;
	height: 0;
	width: 0;
	margin-bottom: calc((1 - var(--lh)) * 0.5em);
}

@media screen and (max-width: 1150px) {
	.open_area .border-box_links {
		display: block;
	}
	.open_area .border-box_links a {
		width: 100%;
	}
	.open_area .border-box_links a:nth-child(2n) {
		border: 1px solid var(--base-border-color);
		border-top: none;
	}
}
@media screen and (max-width: 800px) {
	.open_area {
		margin-bottom: clamp(48px, 21.3333333333vw, 102.4px);
	}
	.open_area .border-box_links a.end .img:after {
		font-size: 16px;
		width: 136px;
		height: 53px;
		border-radius: 5px;
	}
	.open_area .border-box_links a.full .link-tit {
		padding-right: 1.5rem;
	}
	.open_area .border-box_links a.full .link-tit:after {
		bottom: auto;
		top: calc(100% + 11px);
		right: 1rem;
	}
	.open_area .border-box_links a.full .info_area .time {
		background: none;
	}
	.open_area .border-box_links .link-tit {
		font-size: var(--fz20);
		line-height: 1.45;
		padding: 1.5rem 1rem;
		min-height: 60px;
	}
	.open_area .border-box_links .img_area {
		padding: 1rem;
	}
	.open_area .border-box_links .img_area .img {
		aspect-ratio: 310/240;
	}
	.open_area .border-box_links .img_area .city {
		left: 1rem;
		top: 1rem;
		font-size: var(--fz14);
	}
	.open_area .border-box_links .info_area {
		display: block;
	}
	.open_area .border-box_links .info_area div {
		width: 100%;
		padding: 1.5rem 1rem 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	.open_area .border-box_links .info_area div + div {
		padding: 0 1rem 1.5rem;
	}
	.open_area .border-box_links .info_area div.day {
		min-width: 10px;
	}
	.open_area .border-box_links .info_area div.day .icon {
		-webkit-transform: translateY(-1px);
		        transform: translateY(-1px);
	}
	.open_area .border-box_links .info_area div.time {
		--i_W: 16px;
		background: none;
	}
	.open_area .border-box_links .info_area div.time .icon {
		-webkit-transform: translateY(-2px);
		        transform: translateY(-2px);
	}
	.open_area .border-box_links .info_area .s_txt {
		width: 80px;
		font-size: var(--fz13);
		line-height: 1.4615384615;
		margin-bottom: 0;
	}
	.open_area .border-box_links .info_area .s_txt .icon {
		margin-right: 0.5rem;
		-webkit-transform: translateY(2px);
		        transform: translateY(2px);
	}
	.open_area .border-box_links .info_area .b_txt {
		-webkit-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
		font-size: var(--fz20);
		line-height: 1.45;
		text-align: right;
	}
}
/* ==========================================================================
	seminar-link_area
========================================================================== */
.seminar-link_area {
	margin-top: 20rem;
}
.seminar-link_area a {
	display: block;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	width: 100%;
	height: 560px;
	background: var(--theme-color);
	overflow: hidden;
}
@media screen and (min-width: 801px) {
	.seminar-link_area a:hover {
		background: var(--base-color-black);
	}
}
.seminar-link_area .slide_area {
	position: absolute;
	left: 10px;
	height: 100%;
	width: 48.7179487179%;
	overflow: hidden;
	pointer-events: none;
}
.seminar-link_area .text_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 50.641025641%;
	padding: 0 3rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #fff;
}
.seminar-link_area .text_area div {
	display: inline-block;
}
.seminar-link_area .text_area h2 {
	position: relative;
	padding-top: 35px;
	font-size: var(--fz40);
	line-height: 1.45;
	letter-spacing: 0.03em;
	margin-bottom: 2rem;
}
.seminar-link_area .text_area h2:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 160px;
	height: 39px;
	background: url(../img/about/staff/seminar-link_bubble.png);
	background-size: cover;
}
.seminar-link_area .text_area .tags {
	margin-bottom: 2rem;
}
.seminar-link_area .text_area .tags p {
	display: inline-block;
	margin-right: 10px;
	font-size: var(--fz13);
	line-height: 1.4615384615;
	font-weight: 500;
	padding: 6.5px 10px;
	border: 1px solid #fff;
}
.seminar-link_area .text_area .n_txt {
	margin-bottom: 2rem;
}
.seminar-link_area .text_area .link_btn:before {
	border: 1px solid #fff;
}

@media screen and (min-width: 951px) {
	.seminar-link_area .slider {
		position: absolute;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		bottom: 0;
		left: 0;
		width: calc(50% - 5px);
		height: 100%;
	}
	.seminar-link_area .slider.slider02 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		bottom: auto;
		top: 0;
		left: auto;
		right: 0;
	}
	.seminar-link_area .slider-list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		margin: 0;
		padding: 0;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-animation: loop-slideY 80s infinite linear;
		        animation: loop-slideY 80s infinite linear;
	}
	.seminar-link_area .slider02 .slider-list {
		-webkit-animation: loop-slideY-rev 95s infinite linear;
		        animation: loop-slideY-rev 95s infinite linear;
	}
	.seminar-link_area .slider-item {
		width: 100%;
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 950px) {
	.seminar-link_area a {
		display: block;
		width: 100%;
		height: auto;
		padding-top: 1rem;
	}
	.seminar-link_area .slide_area {
		position: relative;
		left: 0;
		height: 325px;
		width: 100%;
	}
	.seminar-link_area .slider {
		position: relative;
		position: absolute;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		height: 160px;
		top: 0;
		left: 0;
	}
	.seminar-link_area .slider.slider02 {
		bottom: 0;
		top: auto;
		left: auto;
		right: 0;
	}
	.seminar-link_area .slider-list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-animation: loop-slide 70s infinite linear;
		        animation: loop-slide 70s infinite linear;
	}
	.seminar-link_area .slider02 .slider-list {
		-webkit-animation: loop-slide-rev 60s infinite linear;
		        animation: loop-slide-rev 60s infinite linear;
	}
	.seminar-link_area .slider-item {
		width: auto;
		height: 160px;
		margin-bottom: 0;
		margin-right: 10px;
	}
	.seminar-link_area .slider-item img {
		width: auto;
		height: 100%;
	}
	.seminar-link_area .text_area {
		width: 100%;
		padding: 5rem 3rem;
	}
}
@media screen and (max-width: 800px) {
	.seminar-link_area {
		margin-top: clamp(72px, 32vw, 153.6px);
	}
	.seminar-link_area a {
		padding-top: 0.5rem;
		padding-bottom: 4rem;
	}
	.seminar-link_area .slider-item {
		margin-right: 5px;
	}
	.seminar-link_area .text_area {
		display: block;
		width: 88.0597014925%;
		margin: 4rem auto 0;
		padding: 0;
	}
	.seminar-link_area .text_area h2 {
		padding-top: 35px;
		font-size: var(--fz32);
		line-height: 1.4375;
		margin-bottom: 2rem;
	}
	.seminar-link_area .text_area .tags {
		margin-bottom: 2rem;
	}
	.seminar-link_area .text_area .tags p {
		padding: 5px 10px;
	}
}
/* ==========================================================================
	area
========================================================================== */
.area {
	position: relative;
	width: clamp(835.7142857143px, 92.8571428571vw, 1782.8571428571px);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: clamp(96px, 9.5238095238vw, 204.8px);
}
.area .text_area {
	position: absolute;
	right: 0;
	top: 0;
	width: 32.3717948718%;
	z-index: 20;
}
.area h2 {
	margin-bottom: 4rem;
}
.area .n_txt {
	letter-spacing: 0;
	--lh: calc(28/16);
	margin-bottom: 4rem;
}
.area .img {
	width: 100%;
}

@media screen and (max-width: 1050px) {
	.area {
		width: 95%;
		margin-left: 5%;
		overflow: hidden;
	}
	.area .text_area {
		position: relative;
		width: 95%;
		right: auto;
	}
	.area .img {
		width: 146%;
		margin-top: 4rem;
	}
}
@media screen and (max-width: 800px) {
	.area h2 {
		margin-bottom: 2rem;
	}
	.area .n_txt {
		line-height: 1.7142857143;
		margin-bottom: 2rem;
	}
}
/* ==========================================================================
	footer
========================================================================== */
.footer {
	padding-top: 20rem;
	padding-bottom: 6rem;
	background: var(--base-bg-color);
}
.footer .info_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.footer .links {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 36.7948717949%;
	min-width: 370px;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	counter-reset: section;
}
.footer .links .column {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}
.footer .links .block {
	margin-bottom: 40px;
	padding-left: 28px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.footer .links .block > .mincho {
	position: relative;
	font-size: var(--fz20);
	font-weight: 600;
	--b_color: #000;
	display: inline;
	background-image: -webkit-gradient(linear, left top, right top, from(var(--b_color)), to(var(--b_color)));
	background-image: linear-gradient(90deg, var(--b_color), var(--b_color));
	background-repeat: no-repeat;
	background-position: 0px 90%;
	background-size: 0 1px;
	-webkit-transition: background 0.4s ease;
	transition: background 0.4s ease;
}
@media screen and (min-width: 801px) {
	.footer .links .block > .mincho:hover {
		background-size: 100% 1px;
	}
}
.footer .links .block > .mincho::before {
	counter-increment: section;
	content: "(" counter(section, decimal-leading-zero) ") ";
	position: absolute;
	left: -28px;
	top: 1rem;
	font-family: "Spectral", serif;
	font-size: var(--fz11);
	font-weight: 500;
}
.footer .links .block ul {
	list-style: none;
	margin-top: 1.8rem;
	padding: 0;
}
.footer .links .block ul li {
	margin-bottom: 1px;
}
.footer .links .block ul a {
	font-size: var(--fz14);
	line-height: 1.5714285714;
	--b_color: #000;
	display: inline;
	background-image: -webkit-gradient(linear, left top, right top, from(var(--b_color)), to(var(--b_color)));
	background-image: linear-gradient(90deg, var(--b_color), var(--b_color));
	background-repeat: no-repeat;
	background-position: 0px 90%;
	background-size: 0 1px;
	-webkit-transition: background 0.4s ease;
	transition: background 0.4s ease;
}
@media screen and (min-width: 801px) {
	.footer .links .block ul a:hover {
		background-size: 100% 1px;
	}
}
.footer .info {
	width: 32.4358974359%;
	min-width: 450px;
}
.footer .info .big_link {
	position: relative;
	display: block;
	width: 100%;
	height: 240px;
	padding: 3rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border: 1px solid var(--base-color-black);
	margin-bottom: 2rem;
}
@media screen and (min-width: 801px) {
	.footer .info .big_link:hover {
		background: var(--base-bg-color03);
	}
	.footer .info .big_link.-c_black:hover {
		background: var(--theme-color);
	}
}
.footer .info .big_link.-c_black {
	background: var(--base-color-black);
	color: #fff;
}
.footer .info .big_link.-c_black .arrow path {
	fill: #fff;
}
.footer .info .big_link h4 {
	font-size: var(--fz26);
	letter-spacing: 0;
	margin-bottom: 1.2rem;
}
.footer .info .big_link .en-mincho {
	font-size: var(--fz14);
	font-weight: 500;
	letter-spacing: 0.02em;
}
.footer .info .big_link .img {
	position: absolute;
	width: 90px;
	right: 3rem;
	top: 3rem;
	opacity: 0.6;
}
.footer .info .big_link .arrow {
	display: block;
	position: absolute;
	width: 16px;
	right: 3rem;
	bottom: 3rem;
}
.footer .tell_area {
	position: relative;
	margin-top: 4rem;
}
.footer .tell_area h4 {
	position: relative;
	font-size: var(--fz20);
	font-weight: 500;
	padding-left: 34px;
	margin-bottom: 1.4rem;
}
.footer .tell_area h4:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: -2px;
	width: 24px;
	height: 24px;
	background: url(../img/common/icon-tel.svg);
	background-size: cover;
}
.footer .tell_area dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.footer .tell_area dl dt {
	font-size: var(--fz13);
	line-height: 1.3846153846;
	font-weight: 500;
	letter-spacing: normal;
}
.footer .tell_area dl dt span {
	font-weight: 500;
}
.footer .tell_area dl dd .en-mincho {
	font-size: var(--fz32);
	letter-spacing: 0.02em;
	line-height: 1.53125;
}
.footer .btm_area {
	position: relative;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.footer .btm_area .big_logo {
	max-width: 901px;
	width: 65%;
	padding-top: 23px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.footer .btm_area .r_area {
	width: 32.4358974359%;
}
.footer .btm_area .r_area .small_logo {
	width: 160px;
	margin-bottom: 2rem;
}
.footer .btm_area .r_area .s_txt {
	font-size: var(--fz13);
	letter-spacing: 0;
	line-height: 1.5384615385;
	margin-bottom: 2rem;
}
.footer .btm_area .r_area a {
	display: block;
	width: 24px;
}
.footer .btm_area .r_area a svg path {
	fill: var(--color);
}
@media screen and (min-width: 801px) {
	.footer .btm_area .r_area a:hover {
		opacity: 0.6;
	}
}
.footer .copy {
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	right: 0;
	bottom: 0;
	width: 60px;
	font-size: 11px;
	line-height: 1.8181818182;
	text-align: right;
}

@media screen and (max-width: 1000px) {
	.footer .info {
		min-width: 10px;
		width: calc(100% - 400px);
	}
}
@media screen and (max-width: 840px) {
	.footer .links {
		display: none;
	}
	.footer .info {
		width: 100%;
		max-width: 550px;
		margin: 0 auto 80px;
	}
}
@media screen and (max-width: 800px) {
	.footer {
		padding-top: clamp(48px, 21.3333333333vw, 102.4px);
		padding-bottom: clamp(36px, 16vw, 76.8px);
	}
	.footer .info_area {
		display: block;
	}
	.footer .info {
		width: 100%;
		min-width: 10px;
	}
	.footer .info .big_link {
		height: 220px;
		padding: 3rem 2rem;
		margin-bottom: 1rem;
	}
	.footer .info .big_link h4 {
		font-size: var(--fz26);
		margin-bottom: 1rem;
	}
	.footer .info .big_link .en-mincho {
		font-size: var(--fz14);
	}
	.footer .info .big_link .img {
		right: 2rem;
		top: 3rem;
	}
	.footer .info .big_link .arrow {
		display: block;
		position: absolute;
		width: 16px;
		right: 3rem;
		bottom: 2rem;
	}
	.footer .tell_area {
		max-width: 380px;
		margin: 4rem auto 0;
	}
	.footer .tell_area h4 {
		display: table;
		width: auto;
		font-size: var(--fz20);
		padding-left: 34px;
		margin: 0 auto 2.4rem;
	}
	.footer .tell_area h4:before {
		top: 1px;
	}
	.footer .tell_area dl {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	.footer .tell_area dl dt {
		font-size: var(--fz13);
		letter-spacing: 0;
		line-height: 1.2307692308;
	}
	.footer .tell_area dl dt span {
		display: none;
	}
	.footer .tell_area dl dd .en-mincho {
		font-size: var(--fz24);
		letter-spacing: 0.02em;
		line-height: 1.5416666667;
	}
	.footer .btm_area {
		display: block;
	}
	.footer .btm_area .big_logo {
		width: 100%;
		padding-top: 0;
		margin-bottom: 2rem;
	}
	.footer .btm_area .r_area {
		width: 79.4029850746%;
		margin: 0 auto;
	}
	.footer .btm_area .r_area .small_logo {
		width: 160px;
		margin: 0 auto 2rem;
		margin-bottom: 2rem;
	}
	.footer .btm_area .r_area .s_txt {
		display: block;
		font-size: var(--fz13);
		margin: 0 auto 2rem;
	}
	.footer .btm_area .r_area a {
		width: 24px;
		margin: 0 auto 40px;
	}
	.footer .copy {
		position: relative;
		display: block;
		text-align: center;
		right: auto;
		bottom: auto;
		width: 100%;
		font-size: 11px;
		line-height: 1.8181818182;
	}
}
/* ==========================================================================
	inview
========================================================================== */
.inview.bt_one,
.inview.bt > * {
	opacity: 0;
	-webkit-transform: translateY(20px);
	        transform: translateY(20px);
	-webkit-transition: opacity 1.3s var(--easeOutQuad), -webkit-transform 1.3s var(--easeOutQuad);
	transition: opacity 1.3s var(--easeOutQuad), -webkit-transform 1.3s var(--easeOutQuad);
	transition: opacity 1.3s var(--easeOutQuad), transform 1.3s var(--easeOutQuad);
	transition: opacity 1.3s var(--easeOutQuad), transform 1.3s var(--easeOutQuad), -webkit-transform 1.3s var(--easeOutQuad);
	-webkit-transition-delay: 0.2s;
	        transition-delay: 0.2s;
}

.inview.bt.move > * {
	opacity: 100;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}
.inview.bt.move > *:nth-child(1) {
	-webkit-transition-delay: 0.2s;
	        transition-delay: 0.2s;
}
.inview.bt.move > *:nth-child(2) {
	-webkit-transition-delay: 0.4s;
	        transition-delay: 0.4s;
}
.inview.bt.move > *:nth-child(3) {
	-webkit-transition-delay: 0.6s;
	        transition-delay: 0.6s;
}
.inview.bt.move > *:nth-child(4) {
	-webkit-transition-delay: 0.8s;
	        transition-delay: 0.8s;
}
.inview.bt.move > *:nth-child(5) {
	-webkit-transition-delay: 1s;
	        transition-delay: 1s;
}
.inview.bt.move > *:nth-child(6) {
	-webkit-transition-delay: 1.2s;
	        transition-delay: 1.2s;
}
.inview.bt.move > *:nth-child(7) {
	-webkit-transition-delay: 1.4s;
	        transition-delay: 1.4s;
}
.inview.bt.move > *:nth-child(8) {
	-webkit-transition-delay: 1.6s;
	        transition-delay: 1.6s;
}
.inview.bt.move > *:nth-child(9) {
	-webkit-transition-delay: 1.8s;
	        transition-delay: 1.8s;
}
.inview.bt.move > *:nth-child(10) {
	-webkit-transition-delay: 2s;
	        transition-delay: 2s;
}
.inview.bt.move > *:nth-child(11) {
	-webkit-transition-delay: 2.2s;
	        transition-delay: 2.2s;
}
.inview.bt.move > *:nth-child(12) {
	-webkit-transition-delay: 2.4s;
	        transition-delay: 2.4s;
}
.inview.bt.move > *:nth-child(13) {
	-webkit-transition-delay: 2.6s;
	        transition-delay: 2.6s;
}

.inview.bt_one.move {
	opacity: 100;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.inview.op {
	opacity: 0;
	visibility: hidden;
}
.inview.op.move {
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity 0.8s;
	transition: opacity 0.8s;
}

/* ==========================================================================
	text
========================================================================== */
.tit_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-bottom: clamp(24px, 2.380952381vw, 51.2px);
}
.tit_area .titles {
	position: relative;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	margin-right: 5rem;
}
.tit_area .text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	max-width: 768px;
}
.tit_area .n_txt {
	letter-spacing: 0;
}

@media screen and (max-width: 1150px) {
	.tit_area {
		display: block;
		margin-bottom: 4rem;
	}
	.tit_area .titles {
		width: 100%;
		margin-bottom: 2rem;
	}
	.tit_area .text {
		width: 100%;
		max-width: 100%;
	}
}
.c_tit {
	font-size: var(--fz36);
	line-height: 1.4444444444;
	font-weight: 600;
	text-align: center;
	letter-spacing: -0.03em;
	margin-bottom: 4rem;
}

@media screen and (max-width: 800px) {
	.c_tit {
		font-size: var(--fz20);
		line-height: 1.45;
		margin-bottom: 2.7rem;
	}
}
.en_tit {
	position: relative;
	display: block;
	font-size: var(--fz20);
	line-height: 1;
	margin-bottom: 1rem;
	letter-spacing: 0.02em;
}
.en_tit.-large {
	font-size: var(--fz24);
	margin-bottom: 3rem;
}
.en_tit.-large:after {
	content: "";
	display: inline-block;
	width: 120px;
	height: 1px;
	background: var(--base-color-black);
	margin-left: 20px;
	-webkit-transform: translateY(-5px);
	        transform: translateY(-5px);
}
.en_tit.-small {
	font-size: var(--fz16);
	margin-bottom: 2rem;
}

.con-tit {
	font-size: var(--fz48);
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.4166666667;
}
.con-tit.-large {
	font-size: var(--fz56);
	font-weight: 500;
}
.con-tit.-midium {
	font-size: var(--fz40);
}
.con-tit.-small {
	font-size: var(--fz36);
}
.con-tit.-center {
	text-align: center;
}

.n_txt {
	position: relative;
	font-size: var(--fz16);
	letter-spacing: 0.03em;
	line-height: 2;
	/*
	@include lhCrop();
	*/
}
.n_txt.-xlrge {
	font-size: var(--fz20);
}
.n_txt.-large {
	font-size: var(--fz18);
}
.n_txt.-regular {
	font-size: var(--fz15);
}
.n_txt.-midium {
	font-size: var(--fz14);
	line-height: 1.7142857143;
}
.n_txt.-small,
.n_txt .s_txt {
	font-size: var(--fz13);
	line-height: 2.1538461538;
}
.n_txt.-center {
	text-align: center;
}

.lg_txt {
	position: relative;
	color: #666;
	position: relative;
	/*
	overflow: hidden;
	*/
	line-height: calc(var(--lh) * 1em);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
}
.lg_txt::before {
	content: "";
	display: block;
	height: 0;
	width: 0;
	/*
	margin-top: calc((1 - var(--lh)) * 0.5em);
	*/
	margin-top: calc((1 - var(--lh)) * 0.5em);
}
.lg_txt::after {
	content: "";
	display: block;
	height: 0;
	width: 0;
	margin-bottom: calc((1 - var(--lh)) * 0.5em);
}

.b_txt {
	position: relative;
	font-weight: 700;
	position: relative;
	/*
	overflow: hidden;
	*/
	line-height: calc(var(--lh) * 1em);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
}
.b_txt::before {
	content: "";
	display: block;
	height: 0;
	width: 0;
	/*
	margin-top: calc((1 - var(--lh)) * 0.5em);
	*/
	margin-top: calc((1 - var(--lh)) * 0.5em);
}
.b_txt::after {
	content: "";
	display: block;
	height: 0;
	width: 0;
	margin-bottom: calc((1 - var(--lh)) * 0.5em);
}

@media screen and (max-width: 800px) {
	.en_tit {
		font-size: var(--fz16);
		margin-bottom: 1.5rem;
	}
	.en_tit.-large {
		font-size: var(--fz15);
		margin-bottom: 2rem;
	}
	.en_tit.-large:after {
		width: 80px;
		margin-left: 20px;
		-webkit-transform: translateY(-5px);
		        transform: translateY(-5px);
	}
	.en_tit.-small {
		font-size: var(--fz16);
		margin-bottom: 2rem;
	}
	.con-tit {
		font-size: var(--fz32);
		line-height: 1.125;
		margin-bottom: 2rem;
	}
	.con-tit.-midium {
		font-size: var(--fz28);
	}
	.con-tit.-small {
		font-size: var(--fz32);
	}
	.n_txt {
		font-size: var(--fz14);
		line-height: 1.7142857143;
	}
	.n_txt.-xlrge {
		font-size: var(--fz16);
	}
	.n_txt.-large {
		font-size: var(--fz16);
	}
	.n_txt.-regular {
		font-size: var(--fz14);
		line-height: 1.7142857143;
	}
	.n_txt.-midium {
		font-size: var(--fz13);
		line-height: 1.5384615385;
	}
	.n_txt .s_txt {
		font-size: var(--fz13);
		line-height: 2.1538461538;
	}
}
/* ==========================================================================
	layout
========================================================================== */
.inr {
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
.inr.-w1035 {
	width: clamp(554.4642857143px, 61.6071428571vw, 1182.8571428571px);
	min-width: 700px;
}
.inr.-w1296 {
	width: clamp(694.2857142857px, 77.1428571429vw, 1481.1428571429px);
}
@media screen and (max-width: 1000px) {
	.inr.-w1296 {
		width: 89.3%;
	}
}
.inr.-w1400 {
	width: clamp(750px, 83.3333333333vw, 1600px);
}
@media screen and (max-width: 1000px) {
	.inr.-w1400 {
		width: 89.3%;
	}
}
.inr.-w1440 {
	width: clamp(771.4285714286px, 85.7142857143vw, 1645.7142857143px);
}
@media screen and (max-width: 1000px) {
	.inr.-w1440 {
		width: 89.3%;
	}
}
.inr.-w1560 {
	width: clamp(835.7142857143px, 92.8571428571vw, 1782.8571428571px);
}
@media screen and (max-width: 930px) {
	.inr.-w1560 {
		width: 89.3%;
	}
}
.inr.-w1600 {
	width: clamp(857.1428571429px, 95.2380952381vw, 1828.5714285714px);
}
@media screen and (max-width: 930px) {
	.inr.-w1600 {
		width: 89.3%;
	}
}
.inr.-w1640 {
	width: clamp(878.5714285714px, 97.619047619vw, 1874.2857142857px);
}
@media screen and (max-width: 975px) {
	.inr.-w1640 {
		width: 89.3%;
	}
}
.inr.-w90 {
	width: 90%;
	max-width: 1728px;
	margin: 0 auto;
}

@media screen and (max-width: 800px) {
	.inr.-w1035 {
		min-width: 10px;
		width: 89.3%;
	}
	.inr.-w1296 {
		width: 89.3333333333%;
	}
}
.-c_white {
	--color: #fff;
}

.-c_black {
	--color: var(--base-color-black);
}

.-c_theme {
	--color: var(--theme-color);
}

.works_link {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 20px 1fr 20px 1fr;
	grid-template-columns: repeat(3, 1fr);
	gap: 70px 20px;
}
.works_link a {
	display: block;
}
@media screen and (min-width: 801px) {
	.works_link a:hover .img img {
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
	.works_link a:hover .tit {
		background-size: 100% 1px;
	}
}
.works_link .img {
	position: relative;
	aspect-ratio: 507/343;
	overflow: hidden;
	margin-bottom: 8px;
}
.works_link .img img {
	-webkit-transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic), -webkit-transform 0.8s var(--easeOutCubic);
}
.works_link .en-mincho {
	display: block;
	font-size: var(--fz16);
	font-weight: 500;
	line-height: 2.125;
}
.works_link .tit {
	position: relative;
	display: inline;
	font-weight: 600;
	font-size: var(--fz20);
	line-height: 1.3;
	--b_color: var(--theme-color);
	background-image: -webkit-gradient(linear, left top, right top, from(var(--b_color)), to(var(--b_color)));
	background-image: linear-gradient(90deg, var(--b_color), var(--b_color));
	background-repeat: no-repeat;
	background-position: 0px 90%;
	background-size: 100% 1px;
	-webkit-transition: background 0.6s var(--easeOutCubic);
	transition: background 0.6s var(--easeOutCubic);
	background-size: 0 1px;
}
.works_link .tags {
	margin-top: 1rem;
}
.works_link .tags span {
	display: inline-block;
	font-size: var(--fz14);
	font-weight: 500;
	margin-right: 10px;
	margin-bottom: 10px;
	opacity: 0.6;
}

@media screen and (min-width: 501px) and (max-width: 900px) {
	.works_link {
		-ms-grid-columns: 1fr 20px 1fr;
		grid-template-columns: repeat(2, 1fr);
		gap: 70px 20px;
	}
}
@media screen and (max-width: 800px) {
	.works_link {
		display: block;
	}
	.works_link a {
		margin-bottom: clamp(30px, 13.3333333333vw, 64px);
	}
	.works_link .img {
		aspect-ratio: 335/220;
		margin-bottom: 9px;
	}
	.works_link .en-mincho {
		font-size: var(--fz14);
	}
	.works_link .tit {
		font-size: var(--fz18);
		line-height: 1.3333333333;
		margin-bottom: 13px;
	}
	.works_link .tags span {
		font-size: var(--fz13);
		line-height: 1.4615384615;
	}
}
.floor-info {
	width: 100%;
}
.floor-info dl {
	border-top: 1px solid var(--base-border-color02);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.floor-info dl:last-child {
	border-bottom: 1px solid var(--base-border-color02);
}
.floor-info dt,
.floor-info dd {
	padding: 1.5rem 0;
	border-top: 1px solid #ccc;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.floor-info dt {
	width: var(--dt_w);
	font-size: var(--fz14);
	line-height: 1.4285714286;
}
.floor-info dd {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-size: var(--fz14);
	line-height: 1.4285714286;
	margin-left: 2rem;
}
.floor-info dt:first-of-type,
.floor-info dd:first-of-type {
	border-top: none;
}

.build-info {
	position: relative;
	z-index: 10;
}
.build-info dl {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	z-index: 10;
}
.build-info dl dt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 6rem;
	height: 2.4rem;
	font-size: var(--fz13);
	border: 1px solid var(--base-border-color02);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 1.2rem;
}
.build-info dl dd {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	margin-left: 2rem;
	font-size: var(--fz15);
	line-height: 1.4666666667;
	margin-bottom: 1.2rem;
}

.business-link_list {
	padding-top: 8rem;
}
.business-link_list h2 {
	font-size: var(--fz32);
	line-height: 1.4375;
	text-align: center;
	margin-bottom: 4rem;
}
.business-link_list ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 4rem 1fr 4rem 1fr;
	grid-template-columns: repeat(3, 1fr);
	gap: 4rem;
}
.business-link_list .img {
	margin-bottom: 2rem;
	overflow: hidden;
}
.business-link_list .img img {
	-webkit-transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic), -webkit-transform 0.8s var(--easeOutCubic);
}
.business-link_list h3 {
	font-size: var(--fz20);
	line-height: 1.45;
	font-weight: 700;
	margin-bottom: 2rem;
}
.business-link_list .n_txt {
	margin-bottom: 2rem;
}
.business-link_list .link_btn {
	padding: 13px 20px 14px;
}
.business-link_list + .kikurashi_link {
	margin-top: 4rem;
}
@media screen and (min-width: 801px) {
	.business-link_list a:hover .img img {
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
}

@media screen and (max-width: 800px) {
	.business-link_list {
		padding-top: clamp(24px, 10.6666666667vw, 51.2px);
	}
	.business-link_list h2 {
		font-size: var(--fz24);
		line-height: 1.4583333333;
	}
	.business-link_list ul {
		display: block;
	}
	.business-link_list ul li + li {
		margin-top: 5rem;
	}
	.business-link_list .img {
		margin-bottom: 1.5rem;
	}
	.business-link_list h3 {
		margin-bottom: 1rem;
	}
	.business-link_list .n_txt {
		margin-bottom: 1.5rem;
	}
	.business-link_list .link_btn {
		padding: 13px 20px;
	}
	.business-link_list + .kikurashi_link {
		margin-top: 4rem;
	}
}
.kikurashi_link a {
	display: block;
	width: clamp(750px, 90%, 1035px);
	padding: 4rem 2rem;
	border: 1px solid var(--base-border-color02);
	border-radius: 5px;
	margin: 16rem auto 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.kikurashi_link a .flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 3.3rem 4rem;
}
.kikurashi_link a .logo-img {
	width: 180px;
}
.kikurashi_link a .logo-txt {
	width: 200px;
	margin-left: 2rem;
}
.kikurashi_link a .text {
	width: 270px;
}
@media screen and (min-width: 801px) {
	.kikurashi_link a:hover {
		border-color: var(--theme-color);
	}
}

@media screen and (max-width: 800px) {
	.kikurashi_link a {
		width: 89.3333333333%;
		padding: 4rem 3rem;
		margin-top: clamp(48px, 21.3333333333vw, 102.4px);
	}
	.kikurashi_link a .flex {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		text-align: center;
		gap: 2rem;
	}
	.kikurashi_link a .logo-txt {
		width: 200px;
		margin-left: 0;
		margin-top: 2rem;
	}
	.kikurashi_link a .text {
		width: 100%;
	}
}
.concept-details {
	position: relative;
	padding-top: 4rem;
	border-top: 1px solid var(--base-border-color02);
}
.concept-details h2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: var(--fz56);
	line-height: 1.4464285714;
	font-weight: 500;
	letter-spacing: -0.03em;
	margin-bottom: 8rem;
}
.concept-details h2 span {
	font-size: var(--fz20);
	font-weight: 500;
	letter-spacing: 0.02em;
}
.concept-details h2 br {
	display: none;
}
.concept-details ul {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 2rem 1fr 2rem 1fr 2rem 1fr;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}
.concept-details ul li {
	counter-increment: section;
}
.concept-details ul a {
	display: block;
	background: var(--base-bg-color07);
	padding: 2rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.concept-details ul a .img {
	overflow: hidden;
	margin-bottom: 2rem;
}
.concept-details ul a .img img {
	-webkit-transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic), -webkit-transform 0.8s var(--easeOutCubic);
}
@media screen and (min-width: 801px) {
	.concept-details ul a:hover {
		background: var(--theme-color);
		color: #fff;
	}
	.concept-details ul a:hover p .arrow {
		--color: #fff;
	}
	.concept-details ul a:hover .img img {
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
}
.concept-details ul p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: relative;
	font-size: var(--fz18);
	line-height: 1.4444444444;
	padding-right: 15px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.concept-details ul p::before {
	content: "(" counter(section, decimal-leading-zero) ")";
	font-size: 11px;
	line-height: 1.4545454545;
	margin-right: 0.8rem;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}
.concept-details ul p .arrow {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 11px;
	height: 8px;
}

@media screen and (max-width: 1050px) {
	.concept-details h2 br {
		display: block;
	}
	.concept-details ul {
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 800px) {
	.concept-details {
		padding-top: 2rem;
	}
	.concept-details h2 {
		display: block;
		font-size: var(--fz28);
		line-height: 1.4285714286;
		letter-spacing: 0;
		margin-bottom: 4rem;
	}
	.concept-details h2 span {
		display: block;
		font-size: var(--fz16);
		letter-spacing: 0;
		margin-top: 1.5rem;
	}
	.concept-details ul {
		display: block;
	}
	.concept-details ul li + li {
		margin-top: 2rem;
	}
	.concept-details ul a {
		padding: 1rem;
	}
	.concept-details ul a .img {
		margin-bottom: 1rem;
	}
	.concept-details ul p {
		padding-right: 15px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
}
/* ==========================================================================
	slider
========================================================================== */
.s-slider {
	position: relative;
	overflow: hidden;
}
.s-slider .swiper-pagination {
	position: relative;
	margin-top: 24px;
	text-align: right;
}
.s-slider .swiper-pagination > *:last-child {
	margin-right: 0 !important;
}
.s-slider .swiper-pagination-bullet {
	background: none;
	border: 1px solid var(--base-border-color05);
	opacity: 1;
	margin: 0 2.5px;
}
.s-slider .swiper-pagination-bullet-active {
	background: #000;
	margin: 0 2.5px;
}

@media screen and (max-width: 800px) {
	.s-slider.center-slider {
		overflow: visible;
	}
}
/* ==========================================================================
	kiji_area
========================================================================== */
.kiji_area {
	width: 75.6493506494%;
	max-width: calc(100% - 273px);
	padding-top: 3rem;
}
.kiji_area_titles {
	padding-bottom: 4rem;
	border-bottom: 1px solid var(--base-border-color02);
}
.kiji_area_titles .day {
	display: inline-block;
	font-size: var(--fz16);
	margin-right: 2rem;
}
.kiji_area_titles .cate {
	display: inline-block;
	font-size: var(--fz12);
	line-height: 1.4166666667;
	font-weight: 500;
	padding: 2px 20px 5px;
	background: var(--theme-color);
	border-radius: 12px;
	color: #fff;
}
@media screen and (min-width: 800px) {
	.kiji_area_titles .cate:hover {
		background: #fff;
		color: var(--theme-color);
	}
}
.kiji_area_titles h2 {
	display: block;
	font-size: var(--fz36);
	line-height: 1.4444444444;
	margin-top: 2rem;
	font-weight: 500;
}
.kiji_area_detail {
	padding-top: 12rem;
}
.kiji_area_detail > *:first-child {
	margin-top: 0 !important;
}
.kiji_area_detail .ez-toc-counter {
	position: relative;
	background: var(--base-bg-color07);
	padding: 4rem;
}
.kiji_area_detail .ez-toc-counter .ez-toc-title {
	font-weight: 700;
}
.kiji_area_detail .ez-toc-counter nav ul {
	margin-top: 2rem;
	counter-reset: number;
}
.kiji_area_detail .ez-toc-counter nav ul li:before {
	counter-increment: number;
	content: counter(number) ".";
	font-weight: 700;
	color: var(--theme-color);
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: auto;
	margin-right: 1rem;
}
.kiji_area_detail .wp-image {
	margin-top: 4rem;
}
.kiji_area_detail .wp-image + .wp-image {
	margin-top: 3rem;
}
.kiji_area_detail .wp-caption {
	max-width: 100%;
}
.kiji_area_detail .column-images {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 2rem 1fr;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
	margin-top: 6rem;
}
.kiji_area_detail .column-images .wp-image {
	margin-top: 0;
}
.kiji_area_detail::where(img[class*=wp-image-]) {
	height: auto;
	max-width: 100%;
}
.kiji_area_detail p {
	font-size: var(--fz20);
	line-height: 1.8;
	font-weight: 500;
}
.kiji_area_detail > p {
	margin-top: 3rem;
}
.kiji_area_detail a:not([class]) {
	font-size: var(--fz20);
	line-height: 1.45;
	font-weight: 500;
	background-image: -webkit-gradient(linear, left top, left bottom, from(var(--base-border-color02)), to(var(--base-border-color02)));
	background-image: linear-gradient(var(--base-border-color02), var(--base-border-color02));
	background-size: 100% 1px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	-webkit-transition: background-size 0.3s ease;
	transition: background-size 0.3s ease;
}
@media screen and (min-width: 801px) {
	.kiji_area_detail a:not([class]):hover {
		color: var(--theme-color);
	}
}
.kiji_area_detail .kiji-link_btn {
	position: relative;
	display: table;
	padding: 14px 130px 14px 30px;
	font-size: var(--fz16);
	line-height: 2.25;
	font-weight: 700;
	color: #fff;
	background: var(--theme-color);
	border-radius: 32px;
	margin-top: 3rem;
}
.kiji_area_detail .kiji-link_btn .arrow {
	content: "";
	display: block;
	position: absolute;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 16px;
	height: 11px;
	-webkit-transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic), -webkit-transform 0.8s var(--easeOutCubic);
}
@media screen and (min-width: 801px) {
	.kiji_area_detail .kiji-link_btn:hover {
		background: #000;
	}
	.kiji_area_detail .kiji-link_btn:hover .arrow {
		-webkit-transform: translateX(5px);
		        transform: translateX(5px);
	}
}
.kiji_area_detail h2 {
	position: relative;
	font-size: var(--fz36);
	line-height: 1.4444444444;
	font-weight: 700;
	padding-bottom: 1.5rem;
	margin-top: 7rem;
}
.kiji_area_detail h2:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 60px;
	height: 4px;
	background-color: var(--theme-color);
}
.kiji_area_detail h2:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--base-border-color02);
}
.kiji_area_detail h2 + *,
.kiji_area_detail h2 + p {
	margin-top: 3rem;
}
.kiji_area_detail h3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	font-size: var(--fz24);
	line-height: 1.4583333333;
	font-weight: 700;
	margin-top: 4rem;
}
.kiji_area_detail h3:before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 10px;
	margin-top: 9.5px;
	border-radius: 5px;
	background-color: var(--theme-color);
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}
.kiji_area_detail h3 + * {
	margin-top: 2rem;
}
.kiji_area_detail h4 {
	font-size: var(--fz22);
	line-height: 1.4545454545;
	color: var(--theme-color);
	font-weight: 700;
	margin-top: 4rem;
}
.kiji_area_detail h4 + * {
	margin-top: 2rem;
}
.kiji_area_detail ul {
	position: relative;
	margin-top: 3rem;
}
.kiji_area_detail ul li {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	font-size: var(--fz20);
	line-height: 1.8;
	font-weight: 500;
	margin-bottom: 1rem;
}
.kiji_area_detail ul li:last-child {
	margin-bottom: 0;
}
.kiji_area_detail ul li:before {
	content: "・";
	display: inline-block;
	font-size: var(--fz20);
	line-height: 1.8;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 20px;
}
.kiji_area_detail ol {
	position: relative;
	counter-reset: number;
	margin-top: 3rem;
}
.kiji_area_detail ol li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 0.5rem;
	margin-bottom: 1rem;
	font-size: var(--fz20);
	line-height: 1.8;
	font-weight: 500;
	margin-bottom: 2rem;
}
.kiji_area_detail ol li:last-child {
	margin-bottom: 0;
}
.kiji_area_detail ol li:before {
	counter-increment: number;
	content: counter(number) ".";
	font-size: var(--fz20);
	line-height: 1.8;
	font-weight: 500;
	font-weight: 700;
	color: var(--theme-color);
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 20px;
}
.kiji_area_detail .wp-caption {
	margin-bottom: 0;
}
.kiji_area_detail .wp-caption a {
	margin-bottom: 0;
}
.kiji_area_detail .wp-caption-text {
	display: block;
	font-size: var(--fz12);
	line-height: 1.25;
	color: #999;
	margin-top: 1.2rem;
}
.kiji_area_detail hr {
	opacity: 0.843;
	margin: 8rem 0;
}
.kiji_area_detail blockquote {
	background: var(--theme-color02);
	padding: 2.4rem 1.8rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-top: 4rem;
}
.kiji_area_detail blockquote p {
	position: relative;
	font-size: var(--fz20);
	line-height: 1.8;
	font-weight: 500;
	margin-top: 0 !important;
	font-style: italic;
}

@media screen and (max-width: 800px) {
	.kiji_area {
		width: 100%;
		max-width: 100%;
		padding-top: 6rem;
	}
	.kiji_area_titles {
		padding-bottom: 2rem;
	}
	.kiji_area_titles .day {
		font-size: var(--fz14);
	}
	.kiji_area_titles .cate {
		padding: 2px 15px 3px;
	}
	.kiji_area_titles h2 {
		font-size: var(--fz24);
		line-height: 1.4583333333;
	}
	.kiji_area_detail {
		padding-top: 6rem;
	}
	.kiji_area_detail .ez-toc-counter {
		padding: 2rem;
	}
	.kiji_area_detail .wp-image {
		margin-top: 3rem;
	}
	.kiji_area_detail .wp-image + .wp-image {
		margin-top: 2rem;
	}
	.kiji_area_detail .column-images {
		-ms-grid-columns: 1fr;
		grid-template-columns: repeat(1, 1fr);
		gap: 1rem;
		margin-top: 4rem;
	}
	.kiji_area_detail .column-images.-Y {
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr);
	}
	.kiji_area_detail p {
		font-size: var(--fz15);
		line-height: 1.6;
	}
	.kiji_area_detail > p {
		margin-top: 2rem;
	}
	.kiji_area_detail a:not([class]) {
		font-size: var(--fz15);
	}
	.kiji_area_detail .kiji-link_btn {
		padding: 6px 95px 6px 30px;
		font-size: var(--fz15);
		line-height: 2.4;
		margin-top: 3rem;
	}
	.kiji_area_detail h2 {
		font-size: var(--fz24);
		line-height: 1.4583333333;
		padding-bottom: 1rem;
		margin-top: 5rem;
	}
	.kiji_area_detail h2:before {
		width: 40px;
	}
	.kiji_area_detail h3 {
		font-size: var(--fz20);
		line-height: 1.45;
		margin-top: 3rem;
	}
	.kiji_area_detail h3:before {
		width: 15px;
		height: 15px;
		margin-right: 10px;
		margin-top: 9px;
	}
	.kiji_area_detail h3 + * {
		margin-top: 2rem;
	}
	.kiji_area_detail h4 {
		font-size: var(--fz17);
		line-height: 1.4705882353;
		margin-top: 3rem;
	}
	.kiji_area_detail h4 + * {
		margin-top: 2rem;
	}
	.kiji_area_detail ul {
		margin-top: 3rem;
	}
	.kiji_area_detail ul li {
		font-size: var(--fz15);
		line-height: 1.6;
		margin-bottom: 1rem;
	}
	.kiji_area_detail ul li:before {
		width: 18px;
		font-size: var(--fz15);
		line-height: 1.6;
	}
	.kiji_area_detail ol {
		margin-top: 3rem;
	}
	.kiji_area_detail ol li {
		margin-bottom: 1rem;
		font-size: var(--fz15);
		line-height: 1.6;
		margin-bottom: 1rem;
	}
	.kiji_area_detail ol li:before {
		font-size: var(--fz15);
		line-height: 1.6;
		width: 18px;
	}
	.kiji_area_detail .wp-caption-text {
		font-size: var(--fz11);
		margin-top: 0.8rem;
	}
	.kiji_area_detail hr {
		margin: 4rem 0;
	}
	.kiji_area_detail blockquote {
		background: var(--theme-color02);
		padding: 1.8rem 1.5rem;
		margin-top: 3rem;
	}
	.kiji_area_detail blockquote p {
		font-size: var(--fz15);
		line-height: 1.6;
	}
}
/* ==========================================================================
	wp関連
========================================================================== */
.pagination {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 2rem;
	--color: #fff;
	--t-color: #000;
}
.pagination > * {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 48px;
	height: 48px;
	background: var(--color);
	border-radius: 50%;
	font-size: var(--fz20);
	font-weight: 500;
	color: var(--t-color);
}
.pagination .current {
	--color: var(--theme-color);
	--t-color: #fff;
	pointer-events: none;
}
.pagination .icon {
	width: 16px;
	height: 11px;
}
.pagination .icon img {
	-o-object-fit: contain;
	   object-fit: contain;
	display: block;
}
.pagination .page-next .icon {
	-webkit-transform: var(--hanten);
	        transform: var(--hanten);
}
@media screen and (min-width: 801px) {
	.pagination a:hover {
		--color: var(--theme-color);
		--t-color: #fff;
	}
	.pagination a:hover .svg path {
		fill: #fff;
	}
}

@media screen and (max-width: 800px) {
	.pagination {
		gap: 1rem;
	}
	.pagination > * {
		width: 40px;
		height: 40px;
	}
	.pagination .page-next .icon {
		-webkit-transform: var(--hanten);
		        transform: var(--hanten);
	}
}
@media screen and (max-width: 800px) and (min-width: 801px) {
	.pagination a:hover {
		--color: var(--theme-color);
		--t-color: #fff;
	}
	.pagination a:hover .svg path {
		fill: #fff;
	}
}
.d-pagination {
	position: relative;
	width: 100%;
	padding: 2rem 0;
	border-top: 1px solid var(--base-border-color02);
	border-bottom: 1px solid var(--base-border-color02);
	margin-top: 12rem;
}
.d-pagination .link {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.d-pagination .link .img {
	position: relative;
	width: 80px;
	height: 80px;
	overflow: hidden;
}
.d-pagination .link .img .fit_img {
	-o-object-position: top center;
	   object-position: top center;
	-webkit-transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic), -webkit-transform 0.8s var(--easeOutCubic);
}
.d-pagination .link .text {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	margin-left: 2rem;
}
.d-pagination .link .en-mincho {
	position: relative;
	padding-left: 26px;
	font-size: var(--fz16);
	color: var(--base-color-black03);
	-webkit-transition: color 0.4s var(--easeOutCubic);
	transition: color 0.4s var(--easeOutCubic);
}
.d-pagination .link .icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: absolute;
	left: 0;
	top: 0;
	width: 16px;
	height: 16px;
	border: 1px solid var(--theme-color);
	border-radius: 50%;
	-webkit-transition: background 0.4s var(--easeOutCubic);
	transition: background 0.4s var(--easeOutCubic);
}
.d-pagination .link .name {
	font-size: var(--fz16);
	line-height: 1.25;
	font-weight: 500;
	margin-top: 10px;
	-webkit-transition: color 0.4s var(--easeOutCubic);
	transition: color 0.4s var(--easeOutCubic);
	max-width: 190px;
}
.d-pagination .link.-next {
	left: auto;
	right: 0;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}
.d-pagination .link.-next .icon svg {
	-webkit-transform: var(--hanten);
	        transform: var(--hanten);
}
.d-pagination .link.-next .text {
	margin-left: 0;
	margin-right: 2rem;
}
.d-pagination .link.-next .en-mincho {
	padding-right: 25px;
	text-align: right;
}
.d-pagination .link.-next .icon {
	left: auto;
	right: 0;
}
.d-pagination .link.-next .name {
	text-align: right;
}
@media screen and (min-width: 801px) {
	.d-pagination .link:hover .en-mincho,
	.d-pagination .link:hover .name {
		color: var(--theme-color);
	}
	.d-pagination .link:hover .img .fit_img {
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
	.d-pagination .link:hover .icon {
		background: var(--theme-color);
	}
	.d-pagination .link:hover .icon svg path {
		fill: #fff;
	}
}
.d-pagination .link-ichiran {
	display: block;
	margin: 0 auto;
	border-left: 1px solid var(--base-border-color02);
	border-right: 1px solid var(--base-border-color02);
	width: 120px;
	height: 100px;
	padding-top: 27px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	text-align: center;
}
.d-pagination .link-ichiran .icon {
	display: block;
	margin: 0 auto 10px;
	width: 20px;
	height: 20px;
}
.d-pagination .link-ichiran .icon svg path {
	-webkit-transition: stroke 0.4s var(--easeOutCubic);
	transition: stroke 0.4s var(--easeOutCubic);
}
.d-pagination .link-ichiran p {
	font-size: var(--fz13);
	line-height: 1.2307692308;
	font-weight: 500;
	letter-spacing: -0.06em;
	-webkit-transition: color 0.4s var(--easeOutCubic);
	transition: color 0.4s var(--easeOutCubic);
}
@media screen and (min-width: 801px) {
	.d-pagination .link-ichiran:hover {
		background: var(--base-text-color);
	}
	.d-pagination .link-ichiran:hover .icon svg path {
		stroke: #fff;
	}
	.d-pagination .link-ichiran:hover p {
		color: #fff;
	}
}

@media screen and (max-width: 1000px) {
	.d-pagination .link .img {
		display: none;
	}
	.d-pagination .link {
		max-width: calc(50% - 80px);
	}
}
@media screen and (max-width: 800px) {
	.d-pagination {
		margin-top: 8rem;
		padding: 1rem 0;
		border-top: 1px solid var(--base-border-color02);
		border-bottom: 1px solid var(--base-border-color02);
		margin-top: 12rem;
	}
	.d-pagination .link {
		max-width: calc(50% - 35px);
	}
	.d-pagination .link .img {
		display: none;
	}
	.d-pagination .link .text {
		margin-left: 0;
	}
	.d-pagination .link .text .name {
		display: none;
	}
	.d-pagination .link.-next .text {
		margin-right: 0;
	}
	.d-pagination .link-ichiran {
		height: 60px;
		padding-top: 10px;
	}
	.d-pagination .link-ichiran .icon {
		margin: 0 auto 5px;
	}
	.d-pagination .link-ichiran p {
		font-size: var(--fz13);
		line-height: 1.2307692308;
	}
}
.p-pagination {
	position: relative;
	width: 100%;
	padding: 2rem 0;
	margin-top: 20rem;
}
.p-pagination .link {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 38.4615384615%;
	max-width: calc(50% - 80px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
.p-pagination .link .img {
	position: relative;
	width: 40.5%;
	aspect-ratio: 243/137;
	overflow: hidden;
}
.p-pagination .link .img .fit_img {
	-webkit-transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: -webkit-transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic);
	transition: transform 0.8s var(--easeOutCubic), -webkit-transform 0.8s var(--easeOutCubic);
}
.p-pagination .link .text {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	margin-left: 2rem;
}
.p-pagination .link .en-mincho {
	position: relative;
	font-size: var(--fz16);
	color: var(--base-color-black03);
	-webkit-transition: color 0.4s var(--easeOutCubic);
	transition: color 0.4s var(--easeOutCubic);
}
.p-pagination .link .tit {
	font-size: var(--fz20);
	line-height: 1.8;
	font-weight: 500;
	margin-top: 15px;
	-webkit-transition: color 0.4s var(--easeOutCubic);
	transition: color 0.4s var(--easeOutCubic);
	letter-spacing: 0;
}
.p-pagination .link.-next {
	left: auto;
	right: 0;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}
.p-pagination .link.-next .text {
	margin-left: 0;
	margin-right: 2rem;
}
.p-pagination .link.-next .en-mincho {
	text-align: right;
}
.p-pagination .link.-next .tit {
	text-align: right;
}
@media screen and (min-width: 801px) {
	.p-pagination .link:hover .en-mincho,
	.p-pagination .link:hover .name {
		color: var(--theme-color);
	}
	.p-pagination .link:hover .img .fit_img {
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
	.p-pagination .link:hover .icon {
		background: var(--theme-color);
	}
	.p-pagination .link:hover .icon svg path {
		fill: #fff;
	}
}
.p-pagination .link-ichiran {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin: 0 auto;
	width: 17.9487179487%;
	min-width: 150px;
	height: 64px;
	border-radius: 32px;
	border: 2px solid var(--theme-color);
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.p-pagination .link-ichiran p {
	font-size: var(--fz20);
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--theme-color);
	-webkit-transition: color 0.4s var(--easeOutCubic);
	transition: color 0.4s var(--easeOutCubic);
}
@media screen and (min-width: 801px) {
	.p-pagination .link-ichiran:hover {
		background: var(--theme-color);
	}
	.p-pagination .link-ichiran:hover p {
		color: #fff;
	}
}

@media screen and (max-width: 1050px) {
	.p-pagination {
		position: relative;
		width: 100%;
		padding: 2rem 0;
		margin-top: 12rem;
	}
	.p-pagination .link {
		position: relative;
		width: 100%;
		max-width: 100%;
		padding-bottom: 3rem;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	.p-pagination .link:first-child {
		border-bottom: 1px solid var(--base-border-color02);
	}
	.p-pagination .link .img {
		width: 38.8059701493%;
	}
	.p-pagination .link.-next {
		left: auto;
		right: auto;
	}
	.p-pagination .link + .link {
		padding: 2.5rem 0;
	}
	.p-pagination .link-ichiran {
		width: 280px;
		margin-top: 4rem;
	}
}
@media screen and (max-width: 800px) {
	.p-pagination {
		position: relative;
		width: 100%;
		padding: 0;
		margin-top: 8rem;
	}
	.p-pagination .link .tit {
		font-size: var(--fz16);
		line-height: 1.5;
		margin-top: 7px;
	}
	.p-pagination .link br {
		display: none;
	}
	.p-pagination .link-ichiran {
		width: 65.671641791%;
		max-width: 280px;
		min-width: 220px;
		height: 48px;
		margin-top: 4rem;
	}
	.p-pagination .link-ichiran p {
		font-size: var(--fz16);
		line-height: 2;
	}
}
.beer-handle {
	width: 64px;
	height: 64px;
	background: #fff !important;
}

/* ==========================================================================
	parts
========================================================================== */
.link_btn {
	position: relative;
	display: inline-block;
	width: var(--W);
	height: var(--H);
	color: #fff;
	padding: 10px 20px 11px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.link_btn:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: var(--color);
	-webkit-transition: background 0.6s var(--easeOutQuad);
	transition: background 0.6s var(--easeOutQuad);
	border-radius: 30px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.link_btn p {
	-webkit-transition: color 0.6s var(--easeOutQuad);
	transition: color 0.6s var(--easeOutQuad);
}
.link_btn span {
	position: relative;
	--lh: 1;
	position: relative;
	/*
	overflow: hidden;
	*/
	line-height: calc(var(--lh) * 1em);
	padding-top: 0.1px;
	padding-bottom: 0.1px;
	font-size: var(--fz15);
	font-weight: 500;
	z-index: 5;
	-webkit-transition: color 0.6s var(--easeOutQuad);
	transition: color 0.6s var(--easeOutQuad);
}
.link_btn span::before {
	content: "";
	display: block;
	height: 0;
	width: 0;
	/*
	margin-top: calc((1 - var(--lh)) * 0.5em);
	*/
	margin-top: calc((1 - var(--lh)) * 0.5em);
}
.link_btn span::after {
	content: "";
	display: block;
	height: 0;
	width: 0;
	margin-bottom: calc((1 - var(--lh)) * 0.5em);
}
.link_btn span.vm {
	display: inline-block;
	width: 71px;
}
.link_btn.vm span {
	display: inline-block;
	width: 71px;
}
.link_btn svg > * {
	-webkit-transition: fill 0.6s var(--easeOutQuad);
	transition: fill 0.6s var(--easeOutQuad);
}
.link_btn.-blank {
	padding-right: 40px;
}
.link_btn.-blank:after {
	content: "";
	display: block;
	width: 10px;
	height: 8px;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url(../img/common/icon-blank.png);
	background-size: cover;
	-webkit-transition: background 0.6s var(--easeOutQuad);
	transition: background 0.6s var(--easeOutQuad);
	z-index: 5;
}
.link_btn.-b_blank {
	padding-right: 4rem;
	width: 100%;
	padding: 1.2rem 0 1.2rem 3rem;
}
.link_btn.-b_blank:after {
	content: "";
	display: block;
	width: 16px;
	height: 11px;
	position: absolute;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url(../img/common/icon-blank03.png);
	background-size: cover;
	-webkit-transition: background 0.6s var(--easeOutQuad);
	transition: background 0.6s var(--easeOutQuad);
	z-index: 5;
}
.link_btn.-b_blank span {
	font-size: var(--fz16);
	line-height: 2.25;
}
.link_btn.-b_arrow {
	padding-right: 4rem;
	padding: 1.2rem 0 1.2rem 3rem;
}
.link_btn.-b_arrow .arrow {
	display: block;
	position: absolute;
	width: 16px;
	height: 11px;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
	-webkit-transition: -webkit-transform 0.6s var(--easeOutQuad);
	transition: -webkit-transform 0.6s var(--easeOutQuad);
	transition: transform 0.6s var(--easeOutQuad);
	transition: transform 0.6s var(--easeOutQuad), -webkit-transform 0.6s var(--easeOutQuad);
}
.link_btn.-b_arrow span {
	font-size: var(--fz16);
	line-height: 2.25;
}
.link_btn.-mail {
	padding: 1.2rem 0 1.2rem 9rem;
	width: 100%;
}
.link_btn.-mail .mail {
	display: block;
	position: absolute;
	left: 3rem;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 20px;
	height: 14px;
}
.link_btn.-mail span {
	font-size: var(--fz16);
	line-height: 2.25;
}
.link_btn.-xxlarge {
	padding: 30px 60px;
	--W: 508px;
	text-align: center;
	max-width: 100%;
}
.link_btn.-xxlarge span {
	font-size: var(--fz20);
}
.link_btn.-xxlarge:before {
	border-radius: 40px;
}
.link_btn.-xlarge {
	padding: 20px 60px;
}
.link_btn.-xlarge span {
	font-size: var(--fz16);
}
.link_btn.-large {
	padding: 19px 30px;
}
.link_btn.-large span {
	font-size: var(--fz18);
}
.link_btn.-big {
	padding: 22px 78px;
	text-align: center;
}
.link_btn.-big:before {
	border-radius: 45px;
}
.link_btn.-big span {
	position: relative;
	display: block;
	font-size: var(--fz15);
	line-height: 1.0666666667;
	font-weight: 700;
	z-index: 5;
	margin-bottom: 0.5rem;
}
.link_btn.-big p {
	position: relative;
	display: block;
	font-size: var(--fz24);
	line-height: 1;
	font-weight: 700;
	z-index: 5;
}
.link_btn.-mid {
	padding: 28px 48px;
	text-align: center;
}
.link_btn.-mid:before {
	border-radius: 45px;
}
.link_btn.-mid p {
	position: relative;
	font-size: var(--fz18);
	line-height: 1.3333333333;
	font-weight: 700;
	letter-spacing: 0;
	z-index: 5;
}
.link_btn.-c_white svg > * {
	fill: #000;
}

.arrow path {
	fill: var(--color);
}

@media screen and (min-width: 801px) {
	a:hover .link_btn {
		--color: #fff;
		color: var(--theme-color);
	}
	a:hover .link_btn.-c_theme:before {
		border-color: var(--base-border-color);
	}
	a:hover .link_btn.-c_theme .svg > path {
		fill: var(--theme-color);
	}
	a:hover .link_btn.-c_theme.-blank:after {
		background-image: url(../img/common/icon-blank02.png);
	}
	a:hover .link_btn.-c_white {
		--color: #000;
	}
	a:hover .link_btn.-c_white .svg > path {
		fill: #fff;
	}
	a:hover .link_btn.-b_blank, a:hover .link_btn.-b_arrow, a:hover .link_btn.-mail {
		--color: #000;
		color: #fff;
	}
	a:hover .link_btn.-b_blank:before, a:hover .link_btn.-b_arrow:before, a:hover .link_btn.-mail:before {
		background: #000;
	}
	a:hover .link_btn.-b_blank .svg > path, a:hover .link_btn.-b_arrow .svg > path, a:hover .link_btn.-mail .svg > path {
		fill: #fff;
	}
	a:hover .link_btn.-b_blank .arrow, a:hover .link_btn.-b_arrow .arrow, a:hover .link_btn.-mail .arrow {
		-webkit-transform: translateX(3px);
		        transform: translateX(3px);
	}
}
@media screen and (max-width: 800px) {
	.link_btn {
		padding: 10px 10px 11px;
		text-align: center;
	}
	.link_btn span {
		font-size: var(--fz14);
	}
	.link_btn.vm {
		padding: 9px 20px 10px;
	}
	.link_btn.vm span {
		display: inline-block;
		width: 63px;
	}
	.link_btn.-blank {
		padding: 8px 40px 12px 20px;
	}
	.link_btn.-b_blank {
		width: 100%;
		padding: 0.4rem 0;
	}
	.link_btn.-b_blank:after {
		display: none;
	}
	.link_btn.-b_blank span {
		font-size: var(--fz15);
		line-height: 2.4;
	}
	.link_btn.-b_arrow {
		padding: 0.4rem 0;
	}
	.link_btn.-b_arrow .arrow {
		display: none;
	}
	.link_btn.-b_arrow span {
		font-size: var(--fz15);
		line-height: 2.4;
	}
	.link_btn.-mail {
		padding: 0.4rem 0;
		width: 100%;
	}
	.link_btn.-mail .mail {
		display: none;
	}
	.link_btn.-mail span {
		font-size: var(--fz15);
		line-height: 2.4;
	}
	.link_btn.-xxlarge {
		padding: 20px;
		--w: 100%;
	}
	.link_btn.-xxlarge span {
		font-size: var(--fz18);
	}
	.link_btn.-large {
		padding: 12px 17px 13px;
	}
	.link_btn.-large span {
		font-size: var(--fz16);
	}
	.link_btn.-big {
		padding: 14px 0px 17px;
		width: 100%;
	}
	.link_btn.-big span {
		font-size: var(--fz13);
		line-height: 1;
		margin-bottom: 0.3rem;
	}
	.link_btn.-big p {
		font-size: var(--fz20);
	}
	.link_btn.-mid {
		padding: 19px 48px;
		width: 100%;
	}
}
.big-link_btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 89.3333333333%;
	max-width: 1034px;
	height: 160px;
	background: var(--theme-color);
	color: #fff;
	margin: 16rem auto 0;
	border-radius: 80px;
	-webkit-transition: background 0.6s var(--easeOutQuad);
	transition: background 0.6s var(--easeOutQuad);
}
.big-link_btn p {
	font-size: var(--fz36);
	font-weight: 700;
	line-height: 1;
	margin-bottom: 1.5rem;
}
.big-link_btn span {
	display: block;
	font-size: var(--fz15);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
}
.big-link_btn.-v2 {
	width: 100%;
	max-width: 100%;
	height: 120px;
	margin-top: 8rem;
}
.big-link_btn.-v2 p {
	font-size: var(--fz30);
	margin-bottom: 0;
}
@media screen and (min-width: 801px) {
	.big-link_btn:hover {
		background: #fff;
		color: var(--theme-color);
	}
}

@media screen and (max-width: 800px) {
	.big-link_btn {
		height: 90px;
		margin: 8rem auto 0;
		text-align: center;
	}
	.big-link_btn p {
		font-size: var(--fz18);
		line-height: 1.2222222222;
		margin-bottom: 0.5rem;
	}
	.big-link_btn span {
		font-size: var(--fz13);
		line-height: 1.2307692308;
	}
	.big-link_btn.-v2 {
		width: 100%;
		max-width: 100%;
		height: 60px;
		margin-top: 6rem;
	}
	.big-link_btn.-v2 p {
		font-size: var(--fz16);
		margin-bottom: 0;
	}
}
.terms_list li {
	display: inline-block;
	margin: 0 1rem 1rem 0;
}
.terms_list li a {
	display: inline-block;
	padding: 9px 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-size: var(--fz15);
	font-weight: 500;
	background: #fff;
	border-radius: 20px;
}
.terms_list li a.active {
	pointer-events: none;
	background: var(--theme-color);
	color: #fff;
}
@media screen and (min-width: 801px) {
	.terms_list li a:hover {
		background: var(--theme-color);
		color: #fff;
	}
}

@media screen and (max-width: 800px) {
	.terms_list li {
		margin: 0 0.5rem 0.5rem 0;
	}
	.terms_list li a {
		padding: 9px 15px;
		font-size: var(--fz14);
	}
}
.hv_ul {
	position: relative;
}
.hv_ul:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	-webkit-transform: scaleX(0);
	        transform: scaleX(0);
	-webkit-transform-origin: left;
	        transform-origin: left;
	background: var(--ul_color);
	-webkit-transition: -webkit-transform 0.6s var(--easeOutCubic);
	transition: -webkit-transform 0.6s var(--easeOutCubic);
	transition: transform 0.6s var(--easeOutCubic);
	transition: transform 0.6s var(--easeOutCubic), -webkit-transform 0.6s var(--easeOutCubic);
}

@media screen and (min-width: 801px) {
	a:hover .h.hv_ul::after,
	a.hv_ul:hover::after {
		-webkit-transform: scaleX(1);
		        transform: scaleX(1);
		-webkit-transform-origin: left;
		        transform-origin: left;
	}
	a .hv_ul:after,
	a.hv_ul::after {
		-webkit-transform-origin: right;
		        transform-origin: right;
	}
}
.parallax-wrap {
	position: relative;
	overflow: hidden;
}

.parallax-item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
	-webkit-transition: -webkit-transform 0.3s ease-out;
	transition: -webkit-transform 0.3s ease-out;
	transition: transform 0.3s ease-out;
	transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
	will-change: transform;
}

.fit_img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	background-position: center center;
	background-size: cover;
	z-index: 1;
	-webkit-transition: -webkit-transform ease 0.4s;
	transition: -webkit-transform ease 0.4s;
	transition: transform ease 0.4s;
	transition: transform ease 0.4s, -webkit-transform ease 0.4s;
}

.img_area {
	z-index: 10;
}

.v_txt {
	-ms-writing-mode: tb-rl;
	    writing-mode: vertical-rl;
	-webkit-font-feature-settings: normal;
	        font-feature-settings: normal;
	vertical-align: top;
	display: inline-block;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

@media screen and (max-width: 800px) {
	.pc_off {
		display: block !important;
	}
	.sp_off {
		display: none !important;
	}
	.spv_txt {
		-ms-writing-mode: tb-rl;
		    writing-mode: vertical-rl;
		-webkit-font-feature-settings: normal;
		        font-feature-settings: normal;
		vertical-align: top;
		display: inline-block;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		-o-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
	}
	.spy_txt {
		-ms-writing-mode: lr-tb;
		    writing-mode: horizontal-tb;
		-webkit-font-feature-settings: normal;
		        font-feature-settings: normal;
		vertical-align: baseline;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		-o-writing-mode: horizontal-tb;
	}
}
/*# sourceMappingURL=common.css.map */