@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
main,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	vertical-align: baseline;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
	display: block;
}
:root {
	scroll-behavior: initial;
}
html {
	text-size-adjust: 100%;
	color: #333;
	font-size: 62.5%;
	font-family: "Hiragino Kaku Gothic ProN", 游ゴシック体, "Yu Gothic", YuGothic,
		Meiryo, sans-serif;
	font-weight: 400;
	font-style: normal;
}

body {
	font-size: 1.6rem;
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'Yu Gothic', YuGothic, 'MS PGothic', Osaka, arial, sans-serif;
}

body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}

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

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: none;
}

input,
textarea {
	margin: 0;
	padding: 0;
}

input::-webkit-input-placeholder,
input:-moz-placeholder,
textarea::-webkit-input-placeholder,
textarea:-moz-placeholder {
	color: #888;
}

textarea,
select,
input[type="button"],
input[type="submit"],
input[type="search"],
input[type="reset"] {
	-webkit-appearance: none;
}

ol,
ul {
	list-style: none;
}

strong {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

caption,
th {
	text-align: left;
}

a:focus {
	outline: none;
}

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

img {
	max-width: 100%;
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}

/* link */
a {
	color: #333;
	text-decoration: none;
	outline: none;
}

a:visited {
	color: #333;
	text-decoration: none;
	outline: none;
}

a:hover {
	color: #333;
	text-decoration: underline;
	outline: none;
}

a:active {
	color: #333;
	text-decoration: none;
	outline: none;
}

/* margin-top */
.mt00 {
	margin-top: 0px !important;
}

.mt05 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt55 {
	margin-top: 55px !important;
}

.mt60 {
	margin-top: 60px !important;
}

/* margin-right */
.mr00 {
	margin-right: 0px !important;
}

.mr05 {
	margin-right: 5px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mr45 {
	margin-right: 45px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mr55 {
	margin-right: 55px !important;
}

.mr60 {
	margin-right: 60px !important;
}

/* margin-bottom */
.mb00 {
	margin-bottom: 0px !important;
}

.mb05 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

/* margin-left */
.ml00 {
	margin-left: 0px !important;
}

.ml05 {
	margin-left: 5px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.ml45 {
	margin-left: 45px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.ml55 {
	margin-left: 55px !important;
}

.ml60 {
	margin-left: 60px !important;
}

/* padding-top */
.pt00 {
	padding-top: 0px !important;
}

.pt05 {
	padding-top: 5px !important;
}

.pt08 {
	padding-top: 8px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pt55 {
	padding-top: 55px !important;
}

.pt60 {
	padding-top: 60px !important;
}

/* padding-right */
.pr00 {
	padding-right: 0px !important;
}

.pr05 {
	padding-right: 5px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pr25 {
	padding-right: 25px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.pr35 {
	padding-right: 35px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pr45 {
	padding-right: 45px !important;
}

.pr50 {
	padding-right: 50px !important;
}

.pr55 {
	padding-right: 55px !important;
}

.pr60 {
	padding-right: 60px !important;
}

/* padding-bottom */
.pb00 {
	padding-bottom: 0px !important;
}

.pb05 {
	padding-bottom: 5px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.pb55 {
	padding-bottom: 55px !important;
}

.pb60 {
	padding-bottom: 60px !important;
}

.pb80 {
	padding-bottom: 80px !important;
}

/* padding-left */
.pl00 {
	padding-left: 0px !important;
}

.pl05 {
	padding-left: 5px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.pl25 {
	padding-left: 25px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.pl35 {
	padding-left: 35px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.pl45 {
	padding-left: 45px !important;
}

.pl50 {
	padding-left: 50px !important;
}

.pl55 {
	padding-left: 55px !important;
}

.pl60 {
	padding-left: 60px !important;
}

/* float */
.fl {
	float: left;
}

.fr {
	float: right;
}

/* clearfix */
.cf:before,
.cf:after {
	content: "";
	display: table;
}

.cf:after {
	clear: both;
}

/*IE6,7対策 （haslayout対策）*/
.cf {
	*zoom: 1;
}

/* 変数 */
.mypink {
	color: #fb637e;
}

.mywhite {
	color: #fff;
}

/*mixin*/
/*印刷用*/
@media print {
	body {
		-webkit-print-color-adjust: exact;
	}
	.pagetop {
		display: none;
	}
}
/*===================================================================
    Transformicons
===================================================================*/
.tcon {
	appearance: none;
	border: none;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2.25em;
	transition: 0.3s;
	user-select: none;
	width: 2.25em;
	background: transparent;
	outline: none;
	display: flex;
	flex-direction: column;
}
.tcon > * {
	display: block;
}
.tcon:hover,
.tcon:focus {
	outline: none;
}
.tcon::-moz-focus-inner {
	border: 0;
}

.tcon-menu__lines {
	display: inline-block;
	height: 0.3rem;
	width: 2.7rem;
	border-radius: 0;
	transition: 0.3s;
	background: #000;
	position: relative;
}
#header.top .tcon-menu__lines {
	background: #fff;
}
#header.nav_active .tcon-menu__lines {
	background: #fff;
}
.tcon-menu__lines::before,
.tcon-menu__lines::after {
	display: inline-block;
	height: 0.3rem;
	width: 2.7rem;
	border-radius: 0;
	transition: 0.3s;
	background: #000;
	content: "";
	position: absolute;
	left: 0;
	transform-origin: 0.1607142857em center;
	width: 100%;
}
#header.top .tcon-menu__lines::before,
#header.top .tcon-menu__lines::after {
	background: #fff;
}
.tcon-menu__lines::before {
	top: 0.8rem;
}
.tcon-menu__lines::after {
	top: -0.8rem;
}
.tcon-transform .tcon-menu__lines {
	transform: scale3d(0.8, 0.8, 0.8);
}
@media only screen and (min-width: 960px) {
	.tcon:hover .tcon-menu__lines {
		background: #fff;
	}
	.tcon:hover .tcon-menu__lines::before,
	.tcon:hover .tcon-menu__lines::after {
		background: #fff;
	}
}
.tcon-menu--xcross {
	width: auto;
}
.tcon-menu--xcross.tcon-transform .tcon-menu__lines {
	background: transparent;
}
.tcon-menu--xcross.tcon-transform .tcon-menu__lines::before,
.tcon-menu--xcross.tcon-transform .tcon-menu__lines::after {
	transform-origin: 50% 50%;
	top: 0;
	width: 2.25em;
}
.tcon-menu--xcross.tcon-transform .tcon-menu__lines::before {
	transform: rotate3d(0, 0, 1, 45deg);
}
.tcon-menu--xcross.tcon-transform .tcon-menu__lines::after {
	transform: rotate3d(0, 0, 1, -45deg);
}
.tcon-visuallyhidden {
	border: 0;
	margin: 8px 0 0 0;
	color: #000;
	height: 0.5rem;
	font-size: 1.2rem;
	font-weight: bold;
}
#header.top .tcon-visuallyhidden {
	color: #fff;
}
#header.nav_active .tcon-visuallyhidden {
	color: #fff;
}
#header.nav_active .tcon-visuallyhidden {
	color: #fff;
}
.tcon-visuallyhidden:active,
.tcon-visuallyhidden:focus {
	clip: auto;
	overflow: visible;
	position: static;
	width: auto;
}
/* ----------loading--------------------------------------------------------------------*/
/* ローディングの背景部分のCSS */
.loader {
	background: #fff;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
}

/* ローディングのアニメーション部分のCSS (https://projects.lukehaas.me/css-loaders/) */
.loader-animation {
	font-size: 11px;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	position: absolute;
	text-indent: -9999em;
	-webkit-animation: load5 1.1s infinite ease;
	animation: load5 1.1s infinite ease;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	left: 50%;
	top: 50%;
	margin-top: 0.5rem;
	margin-left: -0.5rem;
}

@-webkit-keyframes load5 {
	0%,
	100% {
		box-shadow: 0em -2.6em 0em 0em #789de2,
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.2),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.2),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.2),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.5),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.7);
	}
	12.5% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.7),
			1.8em -1.8em 0 0em #789de2, 2.5em 0em 0 0em rgba(120, 157, 226, 0.2),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.2),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.2),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.5);
	}
	25% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.5),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.7), 2.5em 0em 0 0em #789de2,
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.2),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.2),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2);
	}
	37.5% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.2),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.5),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.7), 1.75em 1.75em 0 0em #789de2,
			0em 2.5em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.2),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2);
	}
	50% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.2),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.5),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.7), 0em 2.5em 0 0em #789de2,
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.2),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2);
	}
	62.5% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.2),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.2),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.5),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.7), -1.8em 1.8em 0 0em #789de2,
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2);
	}
	75% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.2),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.2),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.2),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.5),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.7), -2.6em 0em 0 0em #789de2,
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2);
	}
	87.5% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.2),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.2),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.2),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.5),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.7), -1.8em -1.8em 0 0em #789de2;
	}
}
@keyframes load5 {
	0%,
	100% {
		box-shadow: 0em -2.6em 0em 0em #789de2,
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.2),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.2),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.2),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.5),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.7);
	}
	12.5% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.7),
			1.8em -1.8em 0 0em #789de2, 2.5em 0em 0 0em rgba(120, 157, 226, 0.2),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.2),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.2),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.5);
	}
	25% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.5),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.7), 2.5em 0em 0 0em #789de2,
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.2),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.2),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2);
	}
	37.5% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.2),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.5),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.7), 1.75em 1.75em 0 0em #789de2,
			0em 2.5em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.2),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2);
	}
	50% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.2),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.5),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.7), 0em 2.5em 0 0em #789de2,
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.2),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2);
	}
	62.5% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.2),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.2),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.5),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.7), -1.8em 1.8em 0 0em #789de2,
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2);
	}
	75% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.2),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.2),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.2),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.5),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.7), -2.6em 0em 0 0em #789de2,
			-1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2);
	}
	87.5% {
		box-shadow: 0em -2.6em 0em 0em rgba(120, 157, 226, 0.2),
			1.8em -1.8em 0 0em rgba(120, 157, 226, 0.2),
			2.5em 0em 0 0em rgba(120, 157, 226, 0.2),
			1.75em 1.75em 0 0em rgba(120, 157, 226, 0.2),
			0em 2.5em 0 0em rgba(120, 157, 226, 0.2),
			-1.8em 1.8em 0 0em rgba(120, 157, 226, 0.5),
			-2.6em 0em 0 0em rgba(120, 157, 226, 0.7), -1.8em -1.8em 0 0em #789de2;
	}
}
/* ----------peopleの切り替えmediaQuery内では動かないため--------------------------------------------------------------------*/
@keyframes album {
	0% {
		opacity: 1;
	}
	40% {
		opacity: 1;
	}
	45% {
		opacity: 0;
	}
	95% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* ----------共通css（レスポンシブ関係なく）-------------------------------------------------- */
@media only screen and (max-width: 959px) {
	.sp-min {
		display: none;
	}

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.textC {
		text-align: center;
		display: block;
	}

	/* ----------トップページ---------------------------------------------------------------------*/
	.cta-section {
		width: 100%;
		margin: 0;
		padding: 0;
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 100;
	}

	/* 各リンクアイテム */
	.cta-item {
		position: relative;
		flex: 1;
		height: 68px;
		text-decoration: none;
		color: inherit;
		display: block;
		background-size: cover;
		/* 背景画像を全体にフィット */
		background-position: center;
		/* 背景画像の位置を中央に */
	}

	.cta-item.contact {
		background-image: url('/common/img/bg_cv-contact.jpg');
	}

	.cta-item.requirements {
		display: none;
	}

	.cta-item.entry {
		background-image: url('/common/img/bg_cv-entry_sp.jpg');
	}

	/* オーバーレイ */
	.cta-item .cta-overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #fff;
		/* デフォルト白背景 */
		mix-blend-mode: multiply;
		/* 乗算効果 */
		z-index: 1;
	}

	.cta-item.entry .cta-overlay {
		background-color: #D6A804;
		/* 黄色背景 */
	}

	/* テキスト部分 */
	.cta-item .cta-text {
		position: absolute;
		top: 53%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 2;
		text-align: center;
		color: #fff;
	}

	.cta-item .cta-text img {
		display: block;
		/* 画像をブロック要素として扱う */
		margin: 0 auto;
		/* 水平中央揃え */
	}
	.cta-item .cta-text.entry img {
		width: 110px;
		height: 20px;
		object-fit: cover;
	}

	.cta-item .cta-text p {
		font-size: 1.2rem;
		margin: 5px 0 0;
		/* 画像との間に余白 */
	}

	.cta-item .cta-text p.reqText {
		color: #000;
	}

	/* 矢印部分 */
	.cta-item::after {
		content: '';
		position: absolute;
		width: 35px;
		/* 矢印の横棒の長さ */
		height: 7px;
		/* 矢印の斜め線の長さ */
		border-bottom: solid 1px #000;
		/* 横線の色 */
		border-right: solid 1px #000;
		/* 斜め線の色 */
		transform: skew(45deg);
		/* 斜めに傾ける */
		top: 43%;
		/* 垂直位置調整 */
		right: 21.5%;
		/* 右端の位置調整 */
	}

	.cta-item.entry::after {
		border-bottom-color: #fff;
		/* ENTRY側の矢印色を白に変更 */
		border-right-color: #fff;
		z-index: 99;
	}

	/* ----------header---------------------------------------------------------------------*/
	#header {
		background-color: white;
		width: 100%;
		padding: 0 0 0 20px;
		height: 76px;
		position: fixed;
		display: flex;
		align-items: center;
		justify-content: space-between;
		z-index: 999;
		flex-direction: row;
	}
	#header .headerWrap {
		width: 100%;
		text-align: center;
		display: inline-flex;
		align-items: center;
	}
	#header .headerWrap h1 {
		margin: 0;
		padding: 0;
	}
	#header .headerWrap p {
		font-size: 12px;
	}
	#header .headerWrap h1 a {
		display: flex;
		justify-content: center;
	}
	#header .headerWrap h1 a img {
		max-height: 37px;
		margin: 0px;
	}
	#header .ham-btn {
		display: flex;
		align-items: center;
		z-index: 9999;
	}
	#header .ham-btn .tcon-menu--xcross {
		margin-right: 0.6rem;
		min-width: 60px;
		min-height: 60px;
		font-size: 1.1rem;
	}
	#header .h_nav {
		width: 100%;
		height: 100vh;
		padding: 4.3em 2.2727272727em;
		background-color: #000;
		box-sizing: border-box;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 3;
		transition-duration: 0.2s;
		transform-origin: right top;
		transform: scale(0);
		overflow-y: auto;
	}
	#header .h_nav .g_nav {
		display: flex;
		flex-direction: column;
		text-align: center;
	}
	#header .h_nav .g_nav li {
		width: 100%;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.5;
	}
	#header .h_nav .g_nav li a {
		padding: 0.8rem 0 0.8rem;
		display: block;
		color: #fff;
		font-weight: bold;
	}
	#header .h_nav .g_nav li a span.sp {
		display: inline;
	}
	#header .h_nav .g_nav li.item01 {
		order: 1;
	}
	#header .h_nav .g_nav li .tour {
		margin: 16px auto 0;
		padding: 17px 20px 16px;
		width: 201px;
		max-width: 100%;
		background: #fff;
		color: #281C10;
		font-size: 2rem;
		font-weight: bold;
	}
	#header .h_nav .g_nav li .tour.entry {
		margin-top: 11px;
		background: #D6A804;
		color: #fff;
	}
	#header .h_nav .g_nav .sub span {
		padding: 1.5rem 0;
		color: #fff;
		display: block;
	}
	#header .h_nav .g_nav .sub ul {
		display: block;
		padding: 0rem 0 0rem 0;
	}
	#header.nav_active .ham-btn .tcon-menu__lines::after,
	#header.nav_active .ham-btn .tcon-menu__lines::before {
		background-color: #fff;
	}
	#header.nav_active .h_nav {
		transform: scale(1);
	}
	#header .navCv {
		display: none;
	}
	#header .entrybtn {
		color: #eaddb4;
		display: inline-block;
		padding: 0rem 5px;
		background: #363636;
		display: flex;
		cursor: pointer;
		height: 100%;
		font-size: 1.5rem;
		flex-direction: column;
		align-items: center;
		text-align: center;
		justify-content: center;
		transition-duration: 0.2s;
	}
	#header .entrybtn p {
		font-size: 1.3rem;
	}
	#header .entrybtn:hover {
		filter: alpha(opacity=60);
		-moz-opacity: 0.6;
		opacity: 0.6;
		text-decoration: none;
	}

	/* トップページ専用のスタイル */
	#header.top {
		background-color: transparent;
	}

	#header.top .headerWrap h1 a img {
		filter: brightness(0) invert(1);
		/* ロゴを白に */
	}

	#header.top .g_nav li a {
		color: #fff;
	}

	#header.top .contactbtn {
		border-color: #fff;
		color: #fff;
	}

	/* デフォルトスタイル */
	#header {
		background-color: rgba(255, 255, 255, 0.8);
		transition: background-color 0.3s ease, color 0.3s ease;
	}

	#header .headerWrap h1 a img {
		filter: none;
		/* デフォルトの黒ロゴ */
	}

	#header .g_nav li a {
		color: #333;
	}

	#header .contactbtn {
		border-color: #333;
		color: #333;
	}

	/* ----------footer---------------------------------------------------------------------*/
	/* フッター全体 */
	#footer {
		background-color: #000;
		color: #fff;
		padding: 32px 20px 75px;
		font-size: 14px;
	}
	/* コンテンツ幅 */
	#footer .box {
		width: 100%;
		margin: 0 auto;
	}
	#footer .box .listContainer {
		display: block;
	}
	#footer .box .content {
		display: flex;
		flex-direction: column;
		margin-bottom: 0.5rem;
	}
	/* ロゴ部分 */
	#footer .logo {
		margin-bottom: 20px;
		text-align: left;
		/* ロゴを左揃え */
	}
	#footer .logo img {
		display: block;
		width: 117px;
		height: 34px;
	}
	/* リンク部分 */
	#footer .listContainer {
		display: flex;
	}
	#footer .links {
		margin-bottom: 2rem;
		list-style: none;
		padding: 0;
	}
	#footer .links li {
		margin-bottom: 7px;
	}
	#footer .links li:last-child {
		margin-bottom: 0;
	}
	#footer .links a {
		color: #fff;
		font-size: 1.5rem;
		font-weight: bold;
		text-decoration: underline;
	}
	#footer .links a[target="_blank"]::after {
		margin-left: 0.5rem;
		display: inline-block;
		content: '';
		width: 1rem;
		height: 1rem;
		background: url(/common/img/icon_blank.png) no-repeat center center / 100%;
	}
	/* コピーライト部分 */
	#footer .copyright {
		border-top: 1px solid #999;
		padding: 0.7rem 0 0;
		text-align: right;
		font-size: 1rem;
		color: #FFF;
	}
	#fmenu {
		text-align: center;
		font-weight: 100;
		padding: 20px 0;
		background: #f7f7f7;
	}
	#fmenu .list-inline li {
		font-size: 1rem;
		display: inline-block;
		padding: 0.3rem 0.5rem;
	}
	#fmenu .list-inline li::after {
		content: "|";
		color: #b8b7b8;
		margin: 0 0 0 1rem;
	}
	#fmenu .list-inline li:last-child::after {
		content: none;
	}
	#fmenu .sub {
		margin: 0.5rem 0;
	}
	#fmenu .sub li {
		font-size: 1rem;
		display: inline-block;
		padding: 0.3rem 0.5rem;
	}
	#fmenu .sub li::after {
		content: "\30fb";
		color: #b8b7b8;
		margin: 0 0 0 1rem;
	}
	#fmenu .sub li:last-child::after {
		content: none;
	}
	#fmenu a {
		color: #8e8e8e;
		font-weight: 200;
	}

	#pagetop {
		position: fixed;
		bottom: 0px;
		right: 0px;
		z-index: 2;
		color: #fff;
		margin: 0;
	}

	#pagetop a {
		display: block;
		height: 50px;
		width: 50px;
		line-height: 50px;
		color: #fff;
		text-decoration: none;
		font-size: 20px;
		text-align: center;
		/*background: $blue;*/
		background: #cbcbcb;
		cursor: pointer;
		transition: background-color 0.3s ease-out;
	}

	#pagetop a:hover {
		/* background-color: $bluel;*/
		background-color: #e2dfdf;
	}

	/* ---------contents 共通---------------------------------------------------------------------*/
	main {
		z-index: 2;
	}

	article {
		overflow: hidden;
		z-index: 1;
		text-align: center;
		margin: 0 0 0px 0;
		text-align: center;
		padding: 60px 0 0 0;
	}
	article .tit {
		padding: 30px 0 0px 0;
	}
	article .tit span {
		color: #cdab81;
		font-style: oblique;
		display: block;
		font-family: "Noto Serif JP", serif;
		letter-spacing: 0.1rem;
		font-size: 1.5rem;
	}
	article .tit h2 {
		position: relative;
		color: #D6A804;
		letter-spacing: 0.1rem;
		text-align: center;
		display: block;
		padding-bottom: 40px;
		font-size: 2.4rem;
		line-height: 1.4;
		font-family: "Noto Serif JP", serif;
		font-weight: 500;
	}
	article .tit h2::before,
	article .tit h2::after {
		content: "";
		position: absolute;
		background-color: #D6A804;
		width: 50%;
		height: 1px;
		top: 20px;
		transform: translateY(-50%);
	}
	article .tit2 {
		padding: 30px 0 20px 0;
		background: linear-gradient(to bottom, #f7f7f7 70%, #f7f7f7 50%);
	}
	article .tit2 span {
		color: #cdab81;
		font-style: oblique;
		display: block;
		font-family: "Noto Serif JP", serif;
		letter-spacing: 0.1rem;
		font-size: 1.5rem;
	}
	article .tit2 h2 {
		letter-spacing: 0rem;
		text-align: center;
		display: inline-block;
		padding: 10px 0 20px 0;
		font-size: 2rem;
		line-height: 1.8;
		font-family: "Noto Serif JP", serif;
		font-weight: 500;
	}
	article .tit2 h2 strong {
		color: #cdab81;
	}
	article h3 {
		font-size: 2rem;
		margin: 0px 0 25px 0;
		padding: 5px 0 10px 0;
		display: block;
		letter-spacing: 0.1rem;
		font-weight: 400;
		line-height: 1.6;
		position: relative;
	}

	article h4 {
		font-size: 2rem;
		color: #cdab81;
		text-align: center;
		letter-spacing: 0.1rem;
		font-weight: 400;
		line-height: 1.8;
		padding: 1rem 0;
		margin: 2rem 0 1rem 0;
		font-family: "Noto Serif JP", serif;
		display: block;
		border-bottom: 1px solid #cdab81;
	}
	article h5 {
		font-size: 2rem;
		font-weight: 500;
		font-family: "Noto Serif JP", serif;
		padding: 0px 0 0px 0px;
		margin: 40px 0 20px 0;
		display: inline-block;
		position: relative;
	}
	article h5::before {
		position: absolute;
		content: "";
		border: 0;
		center: 0;
		bottom: -1rem;
		width: 100%;
		border-top: 1px solid #cfa972;
	}
	article p {
		font-size: 1.5rem;
		margin: 0px auto 20px auto;
		line-height: 1.8;
	}
	article img {
		width: 100%;
		display: block;
		margin: 0 auto;
	}

	/*詳しく見る*/
	.viewmore {
		margin: 20px auto 20px auto;
		width: 90%;
		display: inline-block;
		border: 1px solid #cdab81;
		padding: 10px 10px;
		position: relative;
		color: #eaddb4;
		background: #363636;
		font-size: 1.5rem;
		font-weight: 400;
		letter-spacing: 0rem;
		vertical-align: middle;
		transition-duration: 0.2s;
	}
	.viewmore:hover {
		text-decoration: none;
		color: #fff;
		filter: alpha(opacity=60);
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	.viewmore:visited {
		color: #fff;
	}
	.viewmore span {
		color: #000;
		padding: 0;
		font-size: 1.3rem;
		letter-spacing: 0.2rem;
	}
	.viewmore .short {
		width: 90% !important;
		margin: 40px auto;
	}

	.viewmore2 {
		display: inline-block;
		background-color: #000;
		color: #fff;
		font-size: 1.63rem;
		line-height: 1;
		padding: 20px 0;
		text-decoration: none;
		text-align: center;
		width: 325px;
		height: 58px;
		position: relative;
		letter-spacing: 0rem;
		vertical-align: middle;
		transition-duration: 0.2s;
	}
	.viewmore2:hover {
		text-decoration: none;
		color: #cdab81;
		filter: alpha(opacity=60);
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	.viewmore2:visited {
		color: #fff;
	}
	.viewmore2 span {
		color: #000;
		padding: 0;
		font-size: 1.3rem;
		letter-spacing: 0.2rem;
	}
	.viewmore2 .short {
		width: 90% !important;
		margin: 40px auto;
	}

	.viewmore2w {
		margin: 10px auto;
		width: 90%;
		display: inline-block;
		border: 1px solid #fff;
		padding: 10px 10px;
		position: relative;
		color: #fff;
		font-size: 1.5rem;
		font-weight: 400;
		letter-spacing: 0rem;
		vertical-align: middle;
		transition-duration: 0.2s;
	}
	.viewmore2w:hover {
		text-decoration: none;
		filter: alpha(opacity=60);
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	.viewmore2w:visited {
		color: #fff;
	}
	.viewmore2w span {
		color: #000;
		padding: 0;
		font-size: 1.3rem;
		letter-spacing: 0.2rem;
	}
	.viewmore2w .short {
		width: 90% !important;
		margin: 40px auto;
	}

	.arrow_vm {
		position: relative;
	}
	.arrow_vm::after {
		content: '';
		position: absolute;
		width: 30px;
		height: 6px;
		border-bottom: solid 1px;
		border-right: solid 1px;
		transform: skew(45deg);
		top: 43%;
		right: 20px;
	}

	.arrow_vm::before {
		/* right: 8px;
     width: 14px;
     height: 1px;
     background: $blue;*/
	}

	.arrow_vm::after {
		/* right: 8px;
     width: 6px;
     height: 6px;
     border-top: 1px solid $blue;
     border-right: 1px solid $blue;
     transform: rotate(45deg);*/
	}




	.form-control-lg {
		padding: 1rem 1rem;
	}
	.form-select-lg {
		padding: 1rem 1rem;
	}

	/*エントリーボタン*/
	#entryWrap {
		width: 100%;
		background: #363636;
		padding: 25px 0 35px 0;
		position: relative;
		z-index: 1;
	}
	#entryWrap p {
		font-size: 1.25rem;
		display: block;
		margin: 0 1rem 1rem 1rem;
		width: auto;
		color: #fff;
	}
	#entryWrap .tit {
		font-size: 3rem;
		font-weight: 500;
		color: #fff;
		letter-spacing: 0.1rem;
		display: block;
		margin: 0px 0 10px 0;
		font-family: "Noto Serif JP", serif;
	}
	#entryWrap .end {
		background: #fff;
		width: 90%;
		display: block;
		margin: 0 auto;
		padding: 0px 0;
		position: relative;
	}
	#entryWrap .end span {
		color: #fb637e;
		font-size: 1.5rem;
		letter-spacing: 0.2rem;
	}
	#entryWrap a {
		width: 90%;
		border: 1px solid #eaddb4;
		display: block;
		margin: 30px auto 0 auto;
		padding: 2rem 0;
		position: relative;
		transition-duration: 0.2s;
		cursor: pointer;
	}
	#entryWrap a:hover {
		text-decoration: none;
		opacity: 0.7;
	}
	#entryWrap a::after {
		content: "→";
		font-size: 2rem;
		/*font-family: FontAwesome;*/
		position: absolute;
		top: calc(50% - 1.5rem);
		right: 1.2%;
		color: #eaddb4;
	}
	#entryWrap a span {
		color: #eaddb4;
		font-size: 1.8rem;
		letter-spacing: 0.1rem;
	}
	#entryWrap .btn-type1 {
		background-color: #363636;
		color: #fff;
		text-align: center;
		padding: 1rem 1.25rem;
		width: 100%;
		max-width: 500px;
		font-size: 20px;
		font-size: 1.25rem;
	}

}

/* ---------募集要項---------------------------------------------------------------------*/
#requirements article {
	background-color: #F5F4EE;
}
#requirements section {
	margin: 0 auto 5rem;
	padding: 0;
	width: 97.8rem;
	max-width: calc(100% - 2rem);
}
#requirements .tit .box {
	width: 97.8rem;
	max-width: calc(100% - 2rem);
	margin: 0 auto;
	padding: 0;
}
#requirements .tit {
	background-image: url(../img/requirements/bg_head_pc-requirements.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 16.3rem;
	padding: 4rem 1rem 0;
	text-align: left;
}
#requirements .tit img {
	width: 470px;
	height: 43px;
	display: block;
	margin: 0 0 10px;
}
#requirements .tit h2 {
	margin-top: 1.4rem;
	position: inherit;
	color: #000000;
	letter-spacing: 0.1rem;
	text-align: left;
	display: block;
	padding-bottom: 0;
	font-size: 2rem;
	line-height: 1.4;
	font-family: sans-serif;
	font-weight: normal;
}
#requirements h2::before,
#requirements h2::after {
	content: none;
}
#requirements .archiveList {
	margin: 4.5rem auto 5rem;
	width: 97.8rem;
	max-width: calc(100% - 2rem);
	display: flex;
	gap: 0.5rem;
}
#requirements .archiveList li {
	width: calc((100% - 2rem)/5);
}
#requirements .archiveList .thin a {
	letter-spacing: -0.35rem;
}
#requirements .archiveList a {
	display: block;
	height: 100%;
	background: #D1AE82;
	font-size: 1.9rem;
	font-weight: 600;
	color: #fff;
	width: 100%;
	padding: 0.8rem 0;
}
#requirements .headLine01 {
	margin-bottom: 1rem;
	padding: 0;
	color: #281C10;
	text-align: left;
	font-weight: bold;
}
#requirements table {
	margin: 0 0 10px;
}
#requirements table tr:last-child th,
#requirements table tr:last-child td {
	border-bottom: none;
}
#requirements table th,
#requirements table td {
	color: #333;
	text-align: left;
	vertical-align: middle;
	font-size: 1.6rem;
	font-weight: normal;
	border-bottom: 1px dotted #CCCCCC;
	line-height: 1.75;
}
#requirements table th {
	background: #EDEBDE;
	width: 21%;
	padding: 1.1rem 1.5rem;
	font-weight: normal;
}
#requirements table .vTop {
	vertical-align: top;
}
#requirements table td {
	background: #fff;
	padding: 1rem 4.2rem 0.8rem;
}
#requirements table td sup {
	font-size: 60%;
}
#requirements table td small {
	margin-top: 0.2rem;
	display: block;
	font-size: 1.2rem;
}
#requirements table a {
	color: #cdab81;
}
#requirements .mesBtn {
	margin: 0px 0 30px;
}
#requirements section.cta-section {
	margin: 8.5rem 0 0;
	padding: 0;
	width: 100%;
	max-width: 100%;
}
@media only screen and (min-width: 960px) {
	#requirements table td span.pc {
		display: inline;
	}
}
@media only screen and (max-width: 959px) {
	#requirements article {
		padding-top: 76px;
	}
	#requirements section {
		margin: 3rem 2rem 5rem;
		padding: 0;
		width: auto;
	}
	#requirements .tit {
		background-image: url(../img/requirements/bg_head_sp-requirements.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		height: 105px;
		padding: 30px 0 0;
		text-align: left;
	}
	#requirements .tit img {
		width: 267px;
		height: 25px;
		margin: 0 auto 7px;
	}
	#requirements .tit h2 {
		margin-top: 0;
		color: #000;
		font-size: 1.2rem;
		text-align: center;
	}
	#requirements .archiveList {
		margin: 2rem 2rem 4rem;
		width: auto;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 10px 0;
	}
	#requirements .archiveList li {
		width: 48%;
	}
	#requirements .archiveList a {
		padding: 0.8rem;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		font-size: 1.5rem;
		text-wrap: pretty;
		text-decoration: none;
	}
	#requirements .headLine01 {
		color: #281C10;
	}
	#requirements table th {
		padding: 1rem 1.5rem;
		width: 100%;
		display: block;
	}
	#requirements table td {
		padding: 1rem 1.5rem;
		width: 100%;
		display: block;
	}
	#requirements table tr:last-child th {
		border-bottom: 1px dotted #CCCCCC;
	}
	#requirements section.cta-section {
		margin-top: 13.5rem;
	}
}


/* ---------エントリーフォーム---------------------------------------------------------------------*/


.table-style01 {
	border-bottom: 1px solid #ccc;
	font-size: 90%;
	width: 100%;
	word-break: break-all;
}
.table-style01 th {
	white-space: nowrap;
	vertical-align: top;
	border-top: 1px solid #ccc;
	padding: 8px 10px;
	font-weight: normal;
	background: #F0EEDE;
}
.table-style01 td {
	padding: 8px 0 8px 20px;
	border-top: 1px solid #ccc;
	vertical-align: top;
}
.table-style01 td.month {
	padding-left: 15px;
	white-space: nowrap;
}


/* ----------infograph---------------------------------------------------------------------*/
/*スクロールフェードイン下から*/
.fadein {
	transform: translateY(30px);
	opacity: 0;
	visibility: hidden;
	transition: transform 1s, opacity 1s, visibility 1s;
}
.is-fadein {
	transform: translateX(0);
	opacity: 1;
	visibility: visible;
}


.instami {
	font-size: 1.5rem;
	padding: 2rem;
	font-weight: bold;
}

.instafollowBtn {
	display: block;
	padding: 1rem;
	font-size: 1.5rem;
	border: 1px solid #cdab81;
	color: #cdab81;
	transition-duration: 0.2s;
	margin: 1rem auto 3rem auto;
	width: 90%;
	cursor: pointer;
}
.instafollowBtn:hover {
	text-decoration: none;
	background: #cdab81;
	opacity: 0.7;
	color: #fff;
}

/* IEハック用mixin */
.textL {
	text-align: left;
}

/*学術・技術指導の取り組み*/

/* ----------サンクスページ（/contact/・/entry/共通）---------------------------------------------------------------------*/
#thanks article {
	background-color: #F5F4EE;
	height: 75vh;
}
#thanks section {
	margin: 84px 40px;
}


@media only screen and (max-width: 480px) {
	.sp-min {
		display: block;
	}

	.arrow_vm::after {
		width: 31px;
		top: 40%;
	}
	article .tit h2 {
		font-size: 18px;
		padding-bottom: 16px;
	}
	article .tit h2::before,
	article .tit h2::after {
		top: 13px;
	}
	article .works .tit h2::before {
		left: -50px;
	}
	article .about .tit h2::after {
		right: -95px;
	}
	article .movie .tit h2::before {
		left: -100px;
	}
	.cta-item .cta-text p {
		font-size: 12px;
		margin: 2px 0 -2px;
	}
	.cta-item::after {
		width: 19px;
		height: 4px;
		top: 30px;
		right: 60px;
	}
	.textC {
		margin: 0 20px;
	}
	.viewmore2 {
		width: 100%;
	}

	/* お問い合わせ・エントリーページ 候補日ボックスの幅調整 */
	.col-4 {
		flex: 0 0 auto;
		width: 50%;
	}
	#thanks section {
		margin: 50px 20px;
	}
}


@media print, screen and (min-width: 960px) {
	.sp-min {
		display: none;
	}

	.sp {
		display: none;
	}

	.pc {
		display: block;
	}

	.textC {
		text-align: left;
		display: block;
	}

	/* ----------header---------------------------------------------------------------------*/
	#header {
		background-color: white;
		width: 100%;
		padding: 0px 2.3rem;
		height: 80px;
		position: fixed;
		display: flex;
		align-items: center;
		justify-content: space-between;
		z-index: 999;
		flex-direction: row;
	}
	#header .headerWrap {
		width: auto;
		text-align: left;
		display: inline-flex;
		align-items: center;
	}
	#header .headerWrap h1 {
		margin: 0 10px 0 0;
		padding: 0;
	}
	#header .headerWrap h1 a {
		display: flex;
		justify-content: center;
	}
	#header .headerWrap h1 a img {
		max-height: 50px;
		margin: 0px;
	}
	#header .headerWrap p {
		font-weight: bold;
	}
	#header .h_nav {
		display: flex;
		justify-content: flex-end;
		flex-grow: 3;
	}
	#header .h_nav .g_nav {
		display: flex;
		flex-wrap: wrap;
		font-size: 1.3rem;
		padding: 0 1.8rem 0 0;
	}
	#header .h_nav .g_nav li {
		padding: 0.4rem 1.5rem;
		cursor: pointer;
	}
	#header .h_nav .g_nav li a {
		font-weight: normal;
		font-size: 1.5rem;
		line-height: 1.5;
		display: block;
		white-space: nowrap;
		transition-duration: 0.2s;
		letter-spacing: -0.1rem;
	}
	#header .h_nav .g_nav .sub {
		position: relative;
	}
	#header .h_nav .g_nav .sub span {
		padding: 0;
		margin: 0;
	}
	#header .h_nav .g_nav .sub ul {
		display: none;
	}
	#header .h_nav .g_nav .sub:hover ul {
		display: block;
		position: absolute;
		padding: 0 1rem;
		top: 25px;
		left: -25px;
		background: #fff;
		display: flex;
	}
	#header .h_nav .g_nav .sub:hover ul li {
		padding: 1rem 1rem;
	}

	#header .navCv {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}

	#header .requiBtn,
	#header .contactbtn,
	#header .entrybtn {
		display: inline-block;
		padding: 0rem 2%;
		display: flex;
		cursor: pointer;
		height: 44px;
		width: 168px;
		flex-direction: column;
		align-items: center;
		text-align: center;
		justify-content: center;
		transition-duration: 0.2s;
	}

	#header .contactbtn {
		border: solid 1px #333;
		color: #333;
	}

	#header .entrybtn {
		background-color: #D6A804;
		color: #fff;
	}

	#header .requiBtn {
		color: #393939;
		background: #fff;
	}
	#header .requiBtn p,
	#header .contactbtn p,
	#header .entrybtn p {
		font-size: 1.6rem;
		font-weight: bold;
	}

	#header .requiBtn:hover,
	#header .contactbtn:hover,
	#header .entrybtn:hover {
		opacity: 0.6;
		text-decoration: none;
	}

	/* トップページ専用のスタイル */
	#header.top {
		background-color: transparent;
	}

	#header.top .headerWrap h1 a img {
		filter: brightness(0) invert(1);
		/* ロゴを白に */
	}

	#header.top .g_nav li a {
		color: #fff;
	}

	#header.top .contactbtn {
		color: #fff;
	}

	/* デフォルトスタイル */
	#header {
		background-color: rgba(255, 255, 255, 0.8);
		transition: background-color 0.3s ease, color 0.3s ease;
	}

	#header .headerWrap h1 a img {
		filter: none;
		/* デフォルトの黒ロゴ */
	}

	#header .g_nav li a {
		color: #000;
	}

	#header .contactbtn {
		border-color: #019EE5;
		background-color: #019EE5;
		color: #FFF;
	}

	/* ----------footer---------------------------------------------------------------------*/
	/* フッター全体 */
	#footer {
		background-color: #000;
		color: #fff;
		padding-top: 4.4rem;
		font-size: 14px;
	}

	/* コンテンツ幅 */
	#footer .box {
		width: 97.8rem;
		margin: 0 auto;
		max-width: calc(100% - 2rem);
	}

	#footer .box .content {
		display: flex;
		margin-bottom: 50px;
	}

	/* ロゴ部分 */
	#footer .logo {
		margin: 4px 90px 0 0;
		text-align: left;
		/* ロゴを左揃え */
	}

	#ooter .logo img {
		display: block;
	}

	/* リンク部分 */
	#footer .listContainer {
		display: flex;
	}
	#footer .links {
		list-style: none;
		padding: 0;
		margin-right: 2rem;
	}

	#footer .links li {
		margin-bottom: 0.7rem;
	}

	#footer .links li:last-child {
		margin-bottom: 0;
	}

	#footer .links a {
		color: #fff;
		font-weight: 600;
		font-size: 1.5rem;
		text-decoration: underline;
		letter-spacing: -0.08rem;
	}
	#footer .links01 li a {
		font-weight: normal;
	}
	#footer .links a[target="_blank"]::after {
		margin-left: 0.5rem;
		display: inline-block;
		content: '';
		width: 1rem;
		height: 1rem;
		background: url(/common/img/icon_blank.png) no-repeat center center / 100%;
	}
	#footer .links a:hover {
		text-decoration: none;
	}

	/* コピーライト部分 */
	#footer .copyright {
		border-top: 1px solid #999;
		padding: 0.4rem 0.5rem;
		text-align: right;
		font-size: 1.2rem;
		color: #FFF;
	}

	#fmenu {
		text-align: center;
		font-weight: 100;
		padding: 20px 0;
		background: #f7f7f7;
	}
	#fmenu .list-inline li {
		font-size: 1.5rem;
		display: inline-block;
		padding: 0.8rem 0.5rem;
	}
	#fmenu .list-inline li::after {
		content: "|";
		color: #b8b7b8;
		margin: 0 0 0 1rem;
	}
	#fmenu .list-inline li:last-child::after {
		content: none;
	}
	#fmenu .sub {
		margin: 0.5rem 0;
	}
	#fmenu .sub li {
		font-size: 1.5rem;
		display: inline-block;
		padding: 0.8rem 0.5rem;
	}
	#fmenu .sub li::after {
		content: "\30fb";
		color: #b8b7b8;
		margin: 0 0 0 1rem;
	}
	#fmenu .sub li:last-child::after {
		content: none;
	}
	#fmenu a {
		color: #8e8e8e;
		font-weight: 200;
	}

	#pagetop {
		position: fixed;
		bottom: 0px;
		right: 0px;
		z-index: 2;
		color: #fff;
		margin: 0;
	}

	#pagetop a {
		display: block;
		height: 50px;
		width: 50px;
		line-height: 50px;
		color: #fff;
		text-decoration: none;
		font-size: 20px;
		text-align: center;
		/*background: $blue;*/
		background: #cbcbcb;
		cursor: pointer;
		transition: background-color 0.3s ease-out;
	}

	#pagetop a:hover {
		/* background-color: $bluel;*/
		background-color: #e2dfdf;
	}

	/* ---------contents 共通---------------------------------------------------------------------*/
	main {
		z-index: 2;
	}

	article {
		overflow: hidden;
		z-index: 1;
		text-align: center;
		margin: 0 0 0px 0;
		text-align: center;
		padding: 80px 0px 0px 0px;
	}
	article .tit {
		padding: 30px 0 20px 0;
	}
	article .tit span {
		color: #cdab81;
		font-style: oblique;
		display: block;
		font-family: "Noto Serif JP", serif;
		letter-spacing: 0.1rem;
		font-size: 1.5rem;
	}
	article .tit h2 {
		position: relative;
		color: #D6A804;
		letter-spacing: 0.1rem;
		text-align: center;
		display: block;
		padding-bottom: 40px;
		font-size: 2.4rem;
		line-height: 1.4;
		font-family: "Noto Serif JP", serif;
		font-weight: 500;
	}
	article .tit h2::before,
	article .tit h2::after {
		content: "";
		position: absolute;
		background-color: #D6A804;
		width: 50%;
		height: 1px;
		top: 20px;
		transform: translateY(-50%);
	}
	article .works .tit h2::before {
		left: -70px;
	}
	article .works .tit h2::after {
		content: none;
	}
	article .about .tit h2::before {
		content: none;
	}
	article .about .tit h2::after {
		right: -140px;
	}
	article .movie .tit h2::before {
		left: -145px;
	}
	article .movie .tit h2::after {
		content: none;
	}
	article .tit2 {
		padding: 30px 0 20px 0;
	}
	article .tit2 span {
		color: #cdab81;
		font-style: oblique;
		display: block;
		font-family: "Noto Serif JP", serif;
		letter-spacing: 0.1rem;
		font-size: 1.5rem;
	}
	article .tit2 h2 {
		letter-spacing: 0rem;
		text-align: center;
		display: inline-block;
		padding: 20px 0 40px 0;
		font-size: 2.2rem;
		line-height: 1.8;
		font-family: "Noto Serif JP", serif;
		font-weight: 500;
	}
	article .tit2 h2 strong {
		color: #cdab81;
	}
	article h3 {
		font-size: 2.6rem;
		margin: 0 0 50px 0;
		padding: 10px 0 20px 0;
		display: block;
		letter-spacing: 0.1rem;
		font-weight: 400;
		line-height: 1.6;
		position: relative;
	}

	article h4 {
		font-size: 2.2rem;
		color: #cdab81;
		text-align: center;
		letter-spacing: 0.1rem;
		font-weight: 400;
		line-height: 1.8;
		padding: 1rem 0;
		margin: 4rem 0 2rem 0;
		font-family: "Noto Serif JP", serif;
		display: block;
		border-bottom: 1px solid #cdab81;
	}
	article h5 {
		font-size: 2.5rem;
		font-weight: 500;
		font-family: "Noto Serif JP", serif;
		padding: 0px 0 0px 0px;
		margin: 40px 0;
		display: inline-block;
		position: relative;
	}
	article h5::before {
		position: absolute;
		content: "";
		border: 0;
		center: 0;
		bottom: -1rem;
		width: 100%;
		border-top: 1px solid #cfa972;
	}
	article img {
		width: auto;
		display: block;
		margin: 0 auto;
	}

	/*詳しく見る*/
	.viewmore {
		margin: 20px auto;
		width: auto;
		display: inline-block;
		border: 1px solid #363636;
		padding: 10px 30px 10px 20px;
		position: relative;
		color: #eaddb4;
		background: #363636;
		font-size: 1.6rem;
		font-weight: 400;
		letter-spacing: 0rem;
		vertical-align: middle;
		transition-duration: 0.2s;
	}
	.viewmore:hover {
		text-decoration: none;
		color: #fff;
		filter: alpha(opacity=60);
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	.viewmore:visited {
		color: #fff;
	}
	.viewmore span {
		color: #000;
		padding: 0;
		font-size: 1.5rem;
		letter-spacing: 0.2rem;
	}
	.viewmore .short {
		width: 80% !important;
		margin: 40px auto;
	}
	.viewmore2 {
		display: inline-block;
		background-color: #000;
		color: #fff;
		font-size: 1.63rem;
		line-height: 1;
		padding: 20px 0;
		text-decoration: none;
		text-align: center;
		width: 325px;
		height: 58px;
		position: relative;
		letter-spacing: 0rem;
		vertical-align: middle;
		transition-duration: 0.2s;
	}
	.viewmore2:hover {
		text-decoration: none;
		color: #cdab81;
		filter: alpha(opacity=60);
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	.viewmore2:visited {
		color: #fff;
	}
	.viewmore2 span {
		color: #000;
		padding: 0;
		font-size: 1.5rem;
		letter-spacing: 0.2rem;
	}
	.viewmore2 .short {
		width: 80% !important;
		margin: 40px auto;
	}

	.viewmore2w {
		margin: 10px auto;
		width: auto;
		display: inline-block;
		border: 1px solid #fff;
		padding: 10px 40px 10px 30px;
		position: relative;
		color: #fff;
		font-size: 1.6rem;
		font-weight: 400;
		letter-spacing: 0rem;
		vertical-align: middle;
		transition-duration: 0.2s;
	}
	.viewmore2w:hover {
		text-decoration: none;
		filter: alpha(opacity=60);
		-moz-opacity: 0.6;
		opacity: 0.6;
	}
	.viewmore2w:visited {
		color: #fff;
	}
	.viewmore2w span {
		color: #000;
		padding: 0;
		font-size: 1.5rem;
		letter-spacing: 0.2rem;
	}
	.viewmore2w .short {
		width: 80% !important;
		margin: 40px auto;
	}

	.arrow_vm {
		position: relative;
	}
	/* 擬似要素で矢印を作成 */
	.arrow_vm::after {
		content: '';
		position: absolute;
		width: 30px;
		height: 6px;
		border-bottom: solid 1px;
		border-right: solid 1px;
		transform: skew(45deg);
		top: 43%;
		right: 20px;
	}

	.arrow_vm::before {
		/* right: 8px;
     width: 14px;
     height: 1px;
     background: $blue;*/
	}

	.arrow_vm::after {
		/* right: 8px;
     width: 6px;
     height: 6px;
     border-top: 1px solid $blue;
     border-right: 1px solid $blue;
     transform: rotate(45deg);*/
	}

	/*エントリーボタン*/
	#entryWrap {
		width: 100%;
		background: #363636;
		padding: 50px 0 70px 0;
		position: relative;
		z-index: 1;
	}
	#entryWrap p {
		font-size: 1.6rem;
		display: block;
		margin: 0 auto 20px auto;
		width: 1000px;
		color: #fff;
	}
	#entryWrap .tit {
		font-size: 4rem;
		font-weight: 500;
		color: #fff;
		letter-spacing: 0.1rem;
		display: block;
		margin: 0px 0 20px 0;
		font-family: "Noto Serif JP", serif;
	}
	#entryWrap .end {
		background: #fff;
		width: 50%;
		display: block;
		margin: 0 auto;
		padding: 0px 0;
		position: relative;
	}
	#entryWrap .end span {
		color: #fb637e;
		font-size: 1.8rem;
		letter-spacing: 0.2rem;
	}
	#entryWrap a {
		width: 55%;
		border: 1px solid #eaddb4;
		display: block;
		margin: 0 auto;
		padding: 2rem 0;
		position: relative;
		transition-duration: 0.2s;
		cursor: pointer;
	}
	#entryWrap a:hover {
		text-decoration: none;
		opacity: 0.7;
	}
	#entryWrap a::after {
		content: "→";
		font-size: 2rem;
		/*font-family: FontAwesome;*/
		position: absolute;
		top: calc(50% - 1.5rem);
		right: 1.2%;
		color: #eaddb4;
	}
	#entryWrap a span {
		color: #eaddb4;
		font-size: 2rem;
		letter-spacing: 0.1rem;
	}






	/* ---------エントリーフォーム---------------------------------------------------------------------*/
	.form-control,
	.mfp_element_select-one {
		box-shadow: initial;
	}
	.form-control-lg {
		padding: 1rem 1rem;
	}
	.form-select-lg {
		padding: 1rem 1rem;
	}
	form#mailformpro label.mfp_not_checked,
	form#mailformpro label.mfp_checked {
		border: initial;
		padding: 0;
		background-color: initial;
		box-shadow: initial;
	}
	.form-check .form-check-input {
		float: inherit;
	}
	.mfp_element_all {
		max-width: 100%;
	}
	div.mfp_err {
		background-position: 0px 6px;
	}
	.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover,
	.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev {
		margin: 20px auto 20px auto;
		width: 90%;
		display: inline-block;
		border: 1px solid #cdab81;
		padding: 10px 10px;
		position: relative;
		color: #eaddb4;
		background: #363636;
		font-size: 1.5rem;
		font-weight: 400;
		letter-spacing: 0rem;
		vertical-align: middle;
		transition-duration: 0.2s;
		text-shadow: none;
		box-shadow: none;
	}
	.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover {
		opacity: .8;
	}

	.table-style01 {
		border-bottom: 1px solid #ccc;
		font-size: 90%;
		width: 100%;
	}
	.table-style01 th {
		white-space: nowrap;
		vertical-align: top;
		border-top: 1px solid #ccc;
		padding: 8px 10px;
		font-weight: normal;
		background: #F0EEDE;
	}
	.table-style01 td {
		padding: 8px 0 8px 20px;
		border-top: 1px solid #ccc;
		vertical-align: top;
	}
	.table-style01 td.month {
		padding-left: 15px;
		white-space: nowrap;
	}
	@media (max-width: 767px) {
		.table-style01.spblock {
			display: block;
		}
		.table-style01.spblock tbody,
		.table-style01.spblock th,
		.table-style01.spblock td {
			display: block;
		}
		.table-style01.spblock th {
			margin-top: -1px;
		}
		.table-style01.spblock td {
			border: none;
			padding: 5px 10px 0 !important;
			font-weight: bold;
		}
		.table-style01.spblock td:last-child {
			padding: 5px 10px !important;
			border-bottom: 1px dotted #ccc;
			font-weight: normal;
		}
	}



	/* ----------infograph---------------------------------------------------------------------*/
	/*スクロールフェードイン下から*/
	.js-scroll-fade {
		opacity: 0;
		/*transform: translate3d(0, -10px, 0);
				transform:translateY(10px);*/
		transition: opacity 0.5s ease-out;
	}

	.animated {
		opacity: 1 !important;
		/*transform:translateY(0px);
        transform: translate3d(0, 0, 0)!important;*/
	}


	.instami {
		font-size: 1.6rem;
		padding: 2rem;
		font-weight: bold;
	}

	.instafollowBtn {
		display: block;
		padding: 1rem;
		font-size: 1.6rem;
		border: 1px solid #cdab81;
		color: #cdab81;
		transition-duration: 0.2s;
		margin: 1rem auto 3rem auto;
		width: 100%;
		cursor: pointer;
	}
	.instafollowBtn:hover {
		text-decoration: none;
		background: #cdab81;
		opacity: 0.7;
		color: #fff;
	}

	/* IEハック用mixin */
	.textL {
		text-align: left;
	}

	/* セクション全体 */
	.cta-section {
		display: flex;
		/* 横並び */
		width: 100%;
		/* ウィンドウ幅いっぱい */
		margin: 0;
		padding: 0;
	}

	/* 各リンクアイテム */
	.cta-item {
		position: relative;
		flex: 1;
		/* 均等幅 */
		height: 156px;
		/* 高さを指定 */
		text-decoration: none;
		color: inherit;
		display: block;
		background-size: cover;
		/* 背景画像を全体にフィット */
		background-position: center;
		/* 背景画像の位置を中央に */
		transition: 0.2s;
	}

	.cta-item.requirements {
		background-image: url('/common/img/bg_cv-requirements.jpg');
	}

	.cta-item.requirements .cta-text {
		color: #333333;
	}

	.cta-item.entry {
		background-image: url('/common/img/bg_cv-entry.jpg');
	}

	/* オーバーレイ */
	.cta-item .cta-overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #fff;
		/* デフォルト白背景 */
		mix-blend-mode: multiply;
		/* 乗算効果 */
		z-index: 1;
	}

	.cta-item.entry .cta-overlay {
		background-color: #D6A804;
		/* 黄色背景 */
	}

	/* テキスト部分 */
	.cta-item .cta-text {
		position: absolute;
		top: 50%;
		left: 10%;
		width: 80%;
		transform: translate(0, -50%);
		z-index: 2;
		text-align: center;
		color: #fff;
	}
	.cta-item.entry .cta-text {
		top: 57%;
	}

	.cta-item .cta-text p {
		font-size: 1.6rem;
		margin: 10px 0 0;
		/* 画像との間に余白 */
	}

	.cta-item .cta-text p.reqText {
		color: #333;
		font-size: 1.4rem;
	}
	.cta-item .cta-text p.reqText span {
		color: #393939;
		display: block;
		font-size: 4.2rem;
		font-weight: 600;
		line-height: 1.2;
	}

	/* 矢印部分 */
	.cta-item::after {
		content: '';
		position: absolute;
		width: 35px;
		/* 矢印の横棒の長さ */
		height: 8px;
		/* 矢印の斜め線の長さ */
		border-bottom: solid 2px #000;
		/* 横線の色 */
		border-right: solid 2px #000;
		/* 斜め線の色 */
		transform: skew(45deg);
		/* 斜めに傾ける */
		top: 43%;
		/* 垂直位置調整 */
		right: 21.5%;
		/* 右端の位置調整 */
	}

	.cta-item.entry::after {
		border-bottom-color: #fff;
		/* ENTRY側の矢印色を白に変更 */
		border-right-color: #fff;
		z-index: 99;
		right: 28%;
		/* 右端の位置調整 */
	}

	/* ----------エントリー サンクスページ---------------------------------------------------------------------*/
	#thanks article {
		background-color: #F5F4EE;
		height: 75vh;
	}
	#thanks section {
		margin: 84px auto 40px auto;
	}

}
@media (hover: hover) {
	.cta-item:hover {
		opacity: 0.6;
	}
}
@media print, screen and (min-width: 960px) and (max-width: 1130px) {
	#header {
		padding: 0 0.8rem;
	}
	#header .h_nav .g_nav li {
		padding: 0.4rem 0.5rem;
	}
	#header .requiBtn,
	#header .contactbtn,
	#header .entrybtn {
		width: 12rem;
	}
	.cta-item::after,
	.cta-item.entry::after {
		right: 18%;
	}
}

/* -------------------------------------
top
--------------------------------------*/
#top #mv {
	position: relative;
	background: url(../img/top/fv.jpg) no-repeat center center / cover;
	z-index: 1;
}
#top #mv .cont {
	width: 100%;
	height: calc(100svh - 40px);
	min-height: 460px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
}
/* #top #mv .bg-movie {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
#top #mv .bg-movie::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	opacity: 0.6;
	content: '';
	z-index: 1;
}
#top #mv .bg-movie video {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
} */
#top #mv h2 {
	margin-bottom: min(22.13svh, 170px);
	width: 100%;
	padding: 0 1em;
	text-align: center;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-size: 6.7rem;
	line-height: 1;
	position: relative;
	z-index: 2;
	text-wrap: pretty;
}
#top #mv .btnList {
	margin-bottom: 47px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 21px 20px;
	position: relative;
	z-index: 2;
}
#top #mv .btnList li {
	width: 418px;
	display: flex;
	justify-content: center;
}
/* #top #mv .btnList li:nth-child(1) {
	width: 100%;
} */
#top #mv .btnList li a {
	width: 100%;
	max-width: 418px;
	display: block;
	transition: 0.2s;
}
#top #mv .btnList li img {
	width: 100%;
}
@media (hover: hover) {
	#top #mv .btnList li a:hover {
		opacity: 0.6;
	}
}
#top .newsBox {
	background: #fff;
}
#top .newsBox .ticker-wrap {
	width: 100%;
	height: 40px;
	display: flex;
}
#top .newsBox .ticker-head {
	width: 112px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	background: #D1AE82;
}
#top .newsBox .ticker {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
	padding: 6px 12px 4px;
	display: flex;
	align-items: center;
	flex: 1;
}
#top .newsBox .ticker ul {
	width: 100%;
}
#top .newsBox .ticker li a {
	display: flex;
	align-items: center;
	font-size: 1.6rem;
	gap: 20px;
}
#top .newsBox .ticker-item .ticker-wrap {
	transition: transform 5s linear;
}
#top .newsBox .ticker li .ticker-date {
	flex-shrink: 0;
	white-space: nowrap;
}
#top .newsBox .ticker li .ticker-title {
	min-width: 0;
	flex: 1;
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#top .newsBox .ticker-new {
	animation: blink 1s ease-in-out infinite alternate;
}
#top .newsBox .fadeInDown {
	opacity: 0;
}
#top .newsBox .fadeInDown.run {
	animation: fadeInDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
#top .newsBox .fadeOutDown {
	opacity: 1;
}
#top .newsBox .fadeOutDown.run {
	animation: fadeOutDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}

@keyframes fadeInDown {
	0% {
		opacity: 0;
		transform: translateY(-30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes fadeOutDown {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	100% {
		opacity: 0;
		transform: translateY(30px);
	}
}
@keyframes blink {
	0%,
	100% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}
#top .content {
	margin: 0 auto;
	width: 978px;
	max-width: 95%;
}
#top .vision {
	padding: 50px 0 73px;
	position: relative;
	background: url(../img/top/bg02.png) no-repeat right bottom / 625px, linear-gradient(#fff 0%, #f3f0ec 100%);
}
#top .vision::before {
	width: calc(100% + 48px);
	max-width: 1414px;
	height: 527px;
	position: absolute;
	left: 50%;
	top: -63px;
	transform: translateX(-50%);
	background: url(../img/top/bg01.png) no-repeat left top / 509px;
	content: '';
	mix-blend-mode: multiply;
}
#top .vision .content {
	position: relative;
	z-index: 1;
}
#top .vision h2 {
	margin: 0 auto 16px;
	padding-bottom: 18px;
	text-align: center;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	font-size: 4.4rem;
	width: fit-content;
	border-bottom: 5px solid #D1AE82;
}
#top .vision h2 .lg {
	font-weight: 700;
	font-size: 5.6rem;
}
#top .vision .cTxt {
	margin-bottom: 25px;
	font-size: 1.7rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.47;
}
#top .vision .cTxt01 {
	margin-bottom: 61px;
}
#top .advantages h3 {
	margin-bottom: 27px;
	padding: 0;
	font-size: 2.6rem;
	font-weight: bold;
	font-family: inherit;
	letter-spacing: 0;
}
#top .advantages .textList {
	margin-bottom: 34px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 18px 13px;
}
#top .advantages .textList li {
	padding: 16px 24px 15px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	background: linear-gradient(#d1ae82 0%, #cb995c 100%);
}
#top .advantages .textList .item01,
#top .advantages .textList .item03 {
	width: 246px;
}
#top .advantages .textList .item02,
#top .advantages .textList .item04 {
	width: 413px;
}
#top .advantages .textList .item05 {
	width: 280px;
}
#top .advantages .textList li p {
	font-size: 3.3rem;
	font-weight: bold;
	line-height: 1.18;
}
#top .advantages .bnr {
	margin: 0 auto;
	max-width: 571px;
}
#top .bgWrap01 {
	padding: 115px 0 80px;
	position: relative;
	color: #fff;
	background: #D1AE82;
}
#top .heading {
	margin-bottom: 32px;
}
#top .heading .imgtext {
	position: absolute;
	right: 0;
	top: 0;
}
#top .heading .imgtext img {
	width: auto;
	max-width: 100%;
	max-height: 103px;
}
#top .heading h2 {
	margin-bottom: 10px;
	font-size: 26px;
	font-weight: bold;
}
#top .heading h2:last-child {
	margin-bottom: 0;
}
#top .heading .lead {
	font-size: 1.7rem;
	font-weight: bold;
}
#top .works {
	margin-bottom: 78px;
}
#top .works table {
	width: 100%;
	border-collapse: collapse;
}
#top .works th,
#top .works td {
	padding: 11px 16px 10px;
	vertical-align: middle;
	text-align: left;
	color: #333333;
	font-size: 1.6rem;
	line-height: 1.72;
	background: #fff;
	box-sizing: border-box;
	border-bottom: 1px dotted #CCCCCC;
}
#top .works th {
	padding-right: 10px;
	width: 21.1%;
	background: #EDEBDE;
}
#top .works td {
	padding-left: 42px;
}
#top .works .moreBtn {
	margin-top: 45px;
}
#top .voice .heading {
	margin-bottom: 19px;
}
#top .voice .heading h2 {
	color: #F7F7F7;
}
#top .voiceList {
	margin: 0 auto 44px;
	max-width: 934px;
	display: flex;
	flex-wrap: wrap;
	gap: 38px 4.07%;
}
#top .voiceList li {
	padding: 10px 10px 14px;
	box-sizing: border-box;
	width: 30.62%;
	position: relative;
	border-radius: 4px;
	background: #fff;
}
#top .voiceList li .leadBox {
	padding-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#top .voiceList li .leadBox .photo {
	width: 42px;
}
#top .voiceList li .leadBox .photo img {
	width: 100%;
}
#top .voiceList li .leadBox h3 {
	margin: 3px 0 0;
	padding: 0;
	width: 68.5%;
	max-width: calc(100% - 60px);
	color: #CFAA38;
	font-weight: 600;
	font-size: min(4.267vw, 1.6rem);
	font-family: "Noto Serif JP", serif;
	text-align: left;
	letter-spacing: -0.02em;
}
#top .voiceList li .innerBox {
	margin: 0 7px 19px;
	padding-top: 6px;
	color: #333333;
	text-align: left;
	font-family: "Noto Serif JP", serif;
	letter-spacing: -0.02em;
	border-top: 1px solid #CCCCCC;
}
#top .voiceList li .subTtl {
	margin-bottom: 15px;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.2;
}
#top .voiceList li .text {
	position: relative;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1.32;
}
#top .voiceList li .text::after {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.52) 67%, #fff 100%);
	content: '';
}
#top .voiceList li .btn {
	padding: 0;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
#top .voiceList li .btn a {
	box-sizing: border-box;
	padding: 3px 3px 4px;
	width: 163px;
	max-width: 90%;
	display: block;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 1.6rem;
	text-align: center;
	text-decoration: none;
	background: #281C10;
	transition: 0.2s;
}
@media (hover: hover) {
	#top .voiceList li .btn a:hover {
		opacity: 0.6;
	}
}
#top .moreBtn {
	display: flex;
	justify-content: center;
}
#top .moreBtn a {
	padding: 14px;
	width: 325px;
	box-sizing: border-box;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	text-decoration: none;
	background: #281C10;
	transition: 0.2s;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media (hover: hover) {
	#top .moreBtn a:hover {
		opacity: 0.6;
	}
}
#top .moreBtn a span {
	padding: 0 46px;
	display: inline-block;
	background: url(../img/top/arrow01.png) no-repeat right center / 24px;
}
#top .topStaffImg img {
	width: 100%;
}
#top .bgWrap02 {
	padding: 126px 0 150px;
	position: relative;
	background: url(../img/top/bg02.png) no-repeat right bottom / 625px, linear-gradient(#fff 0%, #f3f0ec 100%);
}
#top .about {
	margin-bottom: 75px;
}
#top .about .heading {
	margin-bottom: 43px;
}
#top .about .heading .imgtext {
	left: 0;
	right: auto;
	top: -1px;
}
#top .about .textList {
	margin-bottom: 11px;
	display: flex;
	flex-wrap: wrap;
	gap: 39px 3.995%;
}
#top .about .textList li {
	padding: 10px;
	width: 30.67%;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	text-align: left;
	color: #333333;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
#top .about .textList li .lead {
	margin: 0 19px 23px;
	padding-bottom: 4px;
	color: #000000;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.38;
	border-bottom: 1px solid #DDDDDD;
}
#top .about .textList li .subBox {
	padding-bottom: 19px;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
#top .about .textList li .subBox .text01 {
	font-size: 5.4rem;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}
#top .about .textList li .subBox .text01 .num {
	color: #D6B12B;
	font-size: min(15vw, 16.5rem);
	font-weight: bold;
	line-height: 0.85;
}
#top .about .textList li .subBox .text01 .sm {
	font-size: 3.9rem;
	font-weight: bold;
}
#top .about .textList li .subBox .text02 {
	margin-bottom: 5px;
	display: flex;
	flex-direction: column;
	gap: 8px 0;
	line-height: 1;
	color: #000;
	font-size: 2.2rem;
	font-weight: bold;
}
#top .about .textList li .subBox .text02 .num {
	color: #D6B12B;
	font-size: min(7vw, 7.5rem);
	font-weight: bold;
	letter-spacing: -0.01em;
}
#top .about .textList li .subBox .text02 .subTxt01 {
	margin: 0 0 2px 10px;
	font-weight: bold;
}
#top .about .textList li .subBox .text02 .subTxt02 {
	margin-left: auto;
	margin-right: 5px;
	font-weight: bold;
}
#top .about .textList li .subBox .text03 {
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
}
#top .about .textList li .subBox .text03 .num {
	color: #D6B12B;
	font-weight: bold;
	font-size: min(6.66vw, 9.1rem);
	letter-spacing: 0.01em;
}
#top .about .note {
	margin-bottom: 46px;
	text-align: left;
	font-size: 1.2rem;
	font-weight: normal;
}
#top .about .btn {
	display: flex;
	justify-content: center;
	gap: 20px;
}
#top .about .btn a {
	box-sizing: border-box;
	padding: 14px 15px;
	width: 437px;
	max-width: 100%;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	background: #281C10;
	transition: 0.2s;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media (hover: hover) {
	#top .about .btn a:hover {
		opacity: 0.6;
	}
}
#top .about .btn a span {
	padding: 0 30px;
	font-weight: bold;
	display: inline-block;
	background: url(../img/top/icon01.png) no-repeat right center / 18px;
}
#top .clinics h2 {
	margin-bottom: 48px;
	font-size: 2.4rem;
	font-weight: bold;
	font-family: "Noto Serif JP", serif;
	color: #281C10;
}
#top .clinics .coming {
	font-size: 1.7rem;
	font-weight: bold;
	color: #393939;
	text-align: center;
}
#top .clinicsList {
	margin: 0 auto 53px;
	max-width: 732px;
	display: flex;
	flex-wrap: wrap;
	gap: 36px 11px;
}
#top .clinicsList li {
	width: calc((100% - 22px) / 3);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	flex-direction: column;
}
#top .clinicsList li .wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex: 1;
	text-decoration: none;
	background: #fff;
	border: 1px solid #D1AE82;
	transition: 0.2s;
}
@media (hover: hover) {
	#top .clinicsList li a.wrap:hover {
		opacity: 0.6;
	}
}
#top .clinicsList li .photo {
	width: 100%;
	position: relative;
}
#top .clinicsList li .photo img {
	width: 100%;
	aspect-ratio: 236/145;
	object-fit: cover;
}
#top .clinicsList li .en {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: -3px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-size: 2rem;
	letter-spacing: 0.3em;
	line-height: 1;
}
#top .clinicsList li .textBox {
	padding: 20px 10px 10px;
	flex: 1;
}
#top .clinicsList li .textBox h3 {
	margin: 0 0 20px;
	padding: 0;
	text-align: center;
	position: relative;
	color: #000;
	font-size: 2.2rem;
	font-family: "Noto Serif JP", serif;
	font-weight: bold;
	letter-spacing: 0.2em;
}
#top .clinicsList li .textBox h3::after {
	content: '';
	width: 78px;
	height: 2px;
	position: absolute;
	left: 50%;
	bottom: -5px;
	transform: translateX(-50%);
	background: #D1AE82;
}
#top .clinicsList li .textBox p {
	font-size: 13px;
	font-weight: normal;
	line-height: 1.3;
	color: #281C10;
}
#top .clinicsList li .mapLink {
	margin-top: 9px;
	width: calc(100% - 24px);
}
#top .clinicsList li .mapLink a {
	padding: 5px 4px;
	display: block;
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-size: 1.3rem;
	line-height: 1.1;
	font-weight: normal;
	transition: 0.2s;
	border-radius: 50px;
	background: #D1AE82;
}
@media (hover: hover) {
	#top .clinicsList li .mapLink a:hover {
		opacity: 0.6;
	}
}
#top .movie {
	padding: 114px 0 62px;
	position: relative;
}
#top .movie .heading {
	margin-bottom: 45px;
}
#top .movie .heading .imgtext {
	left: 0;
	right: auto;
}
#top .movie .movieList {
	margin-bottom: 82px;
	margin-right: -27px;
}
#top .movie .movieList .slick-slide {
	height: auto;
}
#top .movie .movieList .slick-slide > div {
	margin-right: 27px;
	width: 308px;
}
#top .movie .movieList li {
	width: 100%;
	position: relative;
	vertical-align: top;
}
#top .movie .movieList li a {
	display: block;
	position: relative;
	transition: 0.2s;
}
#top .movie .movieList li a::before {
	margin-top: 10px;
	width: 22px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: url(../img/top/play.png) no-repeat center center / 100%;
	aspect-ratio: 1;
	content: '';
	z-index: 1;
}
@media (hover: hover) {
	#top .movie .movieList li a:hover {
		opacity: 0.6;
	}
}
#top .movie .movieList li img {
	width: 100%;
}
#top .movie .movieList .slick-dots {
	box-sizing: border-box;
	padding-right: 27px;
	width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 11px;
	position: absolute;
	left: 0;
	bottom: -37px;
	line-height: 0;
	z-index: 1;
}
#top .movie .movieList .slick-dots li {
	width: 11px;
	background: #F3F0EC;
	border-radius: 100%;
	aspect-ratio: 1;
	cursor: pointer;
}
#top .movie .movieList .slick-dots li.slick-active {
	background: #D1AE82;
}
#top .movie .movieList .slick-dots li button {
	display: none;
}
#top .movie .btn {
	padding: 0;
	display: flex;
	justify-content: center;
}
#top .movie .btn a {
	padding: 15px;
	width: 443px;
	box-sizing: border-box;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	background: #FF0000;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	transition: 0.2s;
}
@media (hover: hover) {
	#top .movie .btn a:hover {
		opacity: 0.6;
	}
}
#top .movie .btn a span {
	padding: 0 26px;
	display: inline-block;
	background: url(../img/top/icon01.png) no-repeat right center / 18px;
}
@media only screen and (min-width: 960px) {
	.modal-video-close-btn:hover {
		opacity: 0.6;
	}
}
@media only screen and (max-width: 959px) {
	#top #mv {
		background: none;
	}
	#top #mv .cont {
		height: initial;
		min-height: 722px;
		display: block;
		background: url(../img/top/fv_sp.jpg) no-repeat center center / cover;
	}
	/* #top #mv .bg-movie {
		height: 71svh;
	} */
	#top #mv h2 {
		margin: -104px 0 0;
		box-sizing: border-box;
		padding: 40px 0 0;
		width: 100%;
		height: 71svh;
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		text-align: center;
		font-size: min(9.33vw, 3.5rem);
		line-height: 1.22;
		overflow: hidden;
	}
	#top #mv h2 span {
		display: block;
		text-align: center;
		padding-left: 0.3em;
		margin-right: -0.3em;
		letter-spacing: -0.02em;
		white-space: nowrap;
	}
	#top #mv .btnList {
		margin: 0;
		padding: 0 20px;
		width: 100%;
		position: absolute;
		left: 0;
		bottom: 26px;
		gap: 11px 0;
		flex-direction: column;
		align-items: center;
	}
	#top #mv .btnList li {
		width: 100%;
		max-width: 336px;
	}
	#top #mv .btnList li a {
		max-width: initial;
		box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	}
	#top .newsBox {
		background: #FFFFFF;
		border-top: 1px solid #707070;
		border-bottom: 1px solid #707070;
	}
	#top .newsBox .ticker-wrap {
		height: 34px;
	}
	#top .newsBox .ticker-head {
		width: 80px;
		font-size: 1.4rem;
	}
	#top .newsBox .ticker {
		padding: 5px 0 5px 12px;
	}
	#top .newsBox .ticker li a {
		font-size: 1.4rem;
		gap: 15px;
	}
	#top .newsBox .ticker li .ticker-title {
		text-decoration: underline;
		text-overflow: clip;
	}
	#top .content {
		margin: 0 20px;
		width: auto;
		max-width: initial;
	}
	#top .vision {
		padding: 24px 0 47px;
		background-size: 232px;
	}
	#top .vision::before {
		width: 100%;
		max-width: 100%;
		background-size: 298px;
		top: -10px;
		background-position: left -24px top -98px;
	}
	#top .vision h2 {
		margin: 0 0 21px;
		padding-bottom: 12px;
		font-size: min(5.6vw, 2.1rem);
		font-weight: bold;
		width: auto;
		border-bottom-width: 2px;
	}
	#top .vision h2 .lg {
		font-size: 2.7rem;
		font-weight: bold;
	}
	#top .vision .cTxt {
		margin: 0 -10px 26px 0;
		font-size: min(4.267vw, 1.6rem);
		line-height: 1.63;
		letter-spacing: -0.01em;
		text-wrap: pretty;
	}
	#top .vision .cTxt01 {
		margin-bottom: 47px;
	}
	#top .advantages h3 {
		margin-bottom: 18px;
		font-size: 1.8rem;
	}
	#top .advantages .textList {
		margin-bottom: 15px;
		justify-content: space-between;
		gap: 6px 0;
	}
	#top .advantages .textList li {
		padding: 10px 5px;
	}
	#top .advantages .textList .item01,
	#top .advantages .textList .item03,
	#top .advantages .textList .item02 {
		width: 100%;
	}
	#top .advantages .textList .item04 {
		padding: 16px 3px 18px;
		width: calc(50% - 4px);
	}
	#top .advantages .textList .item05 {
		padding: 16px 3px 18px;
		width: calc(50% - 3px);
	}
	#top .advantages .textList li p {
		margin: 0;
		font-size: min(6.667vw, 2.5rem);
		line-height: 1.26;
	}
	#top .advantages .textList .item05 p {
		font-size: min(5.067vw, 1.9rem);
		letter-spacing: -0.03em;
		line-height: 1.2;
	}
	#top .advantages .textList .item04 p {
		font-size: min(4vw, 1.5rem);
		letter-spacing: -0.03em;
		line-height: 1.3;
	}
	#top .advantages .bnr {
		width: 100%;
		max-width: 100%;
	}
	#top .bgWrap01 {
		padding: 73px 0 25px;
	}
	#top .heading {
		margin-bottom: 15px;
	}
	#top .heading .imgtext {
		right: auto;
		left: 0;
	}
	#top .heading .imgtext img {
		max-height: 57px;
	}
	#top .heading h2 {
		margin-bottom: 13px;
		font-size: 1.8rem;
	}
	#top .heading h2:last-child {
		margin-bottom: 0;
	}
	#top .heading .lead {
		margin: 0;
		font-size: 1.4rem;
		line-height: 1.3;
	}
	#top .works {
		margin-bottom: 48px;
	}
	#top .works th,
	#top .works td {
		padding: 15px 5px;
		font-size: min(3.733vw, 1.4rem);
		line-height: 1.142;
		vertical-align: top;
	}
	#top .works th {
		padding: 15px 5px;
		width: 32%;
		line-height: 1.142;
		border-style: solid;
		border-color: #ccc;
	}
	#top .works td {
		padding: 13px 10px 13px 15px;
		line-height: 1.42;
	}
	#top .works tr:last-child th,
	#top .works tr:last-child td {
		border-bottom: none;
	}
	#top .works .moreBtn {
		margin-top: 25px;
	}
	#top .voice .heading {
		margin-bottom: 21px;
	}
	#top .voiceList {
		margin-bottom: 24px;
		max-width: 85%;
		gap: 23px 0;
	}
	#top .voiceList li {
		padding: 10px 10px 15px;
		width: 100%;
	}
	#top .voiceList li:nth-child(n+3) {
		display: none;
	}
	#top .voiceList li .innerBox {
		margin: 0 6px 20px;
	}
	#top .voiceList li .text {
		margin: 0;
	}
	#top .moreBtn a {
		padding: 12px 19px 11px;
		width: 295px;
		max-width: 100%;
		font-size: 1.6rem;
	}
	#top .moreBtn a span {
		display: block;
		background: url(../img/top/arrow01_sp.png) no-repeat right top 30% / 32px;
	}
	#top .bgWrap02 {
		padding: 75px 0 39px;
		background: linear-gradient(#fff 0%, #f3f0ec 100%);
	}
	#top .about {
		margin-bottom: 86px;
	}
	#top .about .heading {
		margin-bottom: 17px;
	}
	#top .about .heading .imgtext {
		top: 1px;
	}
	#top .about .heading .imgtext img {
		max-height: 58px;
	}
	#top .about .textList {
		margin: 0 auto 9px;
		width: 89.6%;
		gap: 9px 0;
	}
	#top .about .textList li {
		padding: 6px 10px;
		width: 100%;
		min-height: initial;
	}
	#top .about .textList li .lead {
		margin: 0 19px;
		text-align: center;
	}
	#top .about .textList li .subBox {
		padding-bottom: 0;
	}
	#top .about .textList li .subBox .text01 {
		margin: -4px 0 0;
		font-size: min(11.467vw, 4.3rem);
	}
	#top .about .textList li .subBox .text01 .num {
		font-size: min(25.333vw, 95px);
		line-height: 1;
		vertical-align: -0.05em;
	}
	#top .about .textList li .subBox .text01 .sm {
		font-size: min(7.467vw, 2.8rem);
	}
	#top .about .textList li .subBox .text02 {
		margin: 3px auto 8px;
		width: fit-content;
		font-size: min(6.133vw, 2.3rem);
		display: block;
		flex-wrap: wrap;
		gap: 0;
	}
	#top .about .textList li .subBox .text02 .num {
		font-size: min(15.467vw, 5.8rem);
	}
	#top .about .textList li .subBox .text02 .subTxt01 {
		margin: 0;
		display: inline-block;
	}
	#top .about .textList li .subBox .text02 .subTxt02 {
		margin: 0;
		font-size: min(5.067vw, 1.9rem);
	}
	#top .about .textList li .subBox .text03 {
		margin: 9px 0 7px;
		font-size: min(7.467vw, 2.8rem);
		line-height: 1;
	}
	#top .about .textList li .subBox .text03 .num {
		font-style: normal;
		font-size: min(20vw, 7.5rem);
	}
	#top .about .note {
		margin: 0 auto 25px;
		width: 89.6%;
	}
	#top .about .btn {
		margin: 0 auto;
		padding: 0;
		max-width: 295px;
		flex-direction: column;
		align-items: center;
		gap: 19px;
	}
	#top .about .btn a {
		padding: 12px 10px 11px;
		width: 100%;
		font-size: 1.6rem;
	}
	#top .about .btn a span {
		padding: 0 28px;
		background-size: 16px;
	}
	#top .clinics h2 {
		margin-bottom: 12px;
		font-size: 1.8rem;
		font-family: inherit;
	}
	#top .clinics .coming {
		font-size: 1.4rem;
		line-height: 1.3;
		margin: 0;
	}
	#top .clinicsList {
		margin-bottom: 29px;
		gap: 27px 0;
	}
	#top .clinicsList li {
		width: 100%;
		min-height: initial;
		display: block;
	}
	#top .clinicsList li .photo {
		display: none;
	}
	#top .clinicsList li .textBox {
		padding: 1px 5px 3px;
	}
	#top .clinicsList li .textBox h3 {
		margin: 0 0 15px;
	}
	#top .clinicsList li .textBox p {
		margin: 0;
	}
	#top .clinicsList li .mapLink {
		margin: 9px auto 0;
		width: 213px;
		max-width: 95%;
	}
	#top .clinicsList li .mapLink a {
		padding: 5px;
	}
	#top .movie {
		padding: 70px 0 50px;
	}
	#top .movie .heading {
		margin-bottom: 18px;
	}
	#top .movie .heading .imgtext {
		top: -1px;
	}
	#top .movie .heading .imgtext img {
		max-height: 58px;
	}
	#top .movie .movieList {
		margin: 0 -20px 38px;
	}
	#top .movie .movieList .slick-list {
		padding: 0 13.9vw;
	}
	#top .movie .movieList .slick-slide > div {
		margin: 0 5px;
		width: auto;
	}
	#top .movie .movieList li a::before {
		margin: 2px 0 0;
		width: 34px;
	}
	#top .movie .movieList .slick-dots {
		padding-right: 0;
		bottom: -20px;
		gap: 9px;
	}
	#top .movie .movieList .slick-dots li {
		width: 8px;
	}
	#top .movie .btn a {
		padding: 11px 10px;
		width: 335px;
		max-width: 100%;
		font-size: min(4vw, 1.5rem);
	}
	#top .movie .btn a span {
		padding: 0 20px;
		background-size: 13px;
		text-wrap: pretty;
	}
}
@media only screen and (max-width: 480px) {
	#top #mv .bg-movie {
		height: auto;
		aspect-ratio: 375 / 423;
	}
	#top #mv h2 {
		height: auto;
		aspect-ratio: 375 / 423;
	}
}

/* -------------------------------------
entry
--------------------------------------*/
#entry article {
	background-color: #F5F4EE;
}
#entry section {
	margin: 3.2rem auto 4rem;
	max-width: 97.8rem;
	width: calc(100% - 4rem);
}
#entry .textImg {
	width: 23.2rem;
	height: 4.8rem;
	margin-bottom: 1.8rem;
}
#entry h2 {
	color: #D6A804;
	font-size: 2.4rem;
}
#entry .mi {
	color: #000000;
	line-height: 1.56;
}
#entry .bg-danger {
	margin: -0.1rem 0 0 0 !important;
	background-color: #FE6364 !important;
	padding: 0.4rem 0.7rem 0.2rem !important;
	font-size: 1.3rem;
	line-height: 1 !important;
	float: right;
}
#entry table {
	margin: 0 0 2rem;
	width: 100%;
	border-collapse: collapse;
}
#entry table th,
#entry table td {
	padding: 1.6rem 0;
	border-bottom: 0.1rem solid #DDDDDD;
	border-top: 0.1rem solid #DDDDDD;
	color: #333333;
	text-align: left;
	vertical-align: top;
	font-size: 1.6rem;
	line-height: 1.25;
}
#entry table th {
	font-weight: 700;
	width: 20.2%;
	padding: 3rem 3.2rem 1.6rem 0;
}
#entry table th p {
	margin: 0;
	padding: 0;
	font-weight: inherit;
	font-size: inherit;
}
#entry table a {
	color: #cdab81;
}
#entry form#mailformpro {
	padding: 4.7rem 0;
}
#entry form .form-control {
	width: 100%;
	color: #333;
	max-width: 50rem;
	height: 4.5rem;
	border-radius: 0;
	border: none;
	font-size: 1.6rem;
	appearance: none;
	-webkit-appearance: none;
	background-color: #FFFFFF;
	box-sizing: border-box;
	padding: 0 1.7rem;
}
#entry form textarea.form-control {
	min-height: 12.6rem;
	padding: 1.2rem 1.7rem;
	resize: vertical;
	line-height: 1.5;
}
#entry form input::-webkit-input-placeholder,
#entry form textarea::-webkit-input-placeholder {
	color: #CCCCCC;
	opacity: 1;
}
#entry form input:-moz-placeholder,
#entry form textarea:-moz-placeholder {
	color: #CCCCCC;
	opacity: 1;
}
#entry form input::-moz-placeholder,
#entry form textarea::-moz-placeholder {
	color: #CCCCCC;
	opacity: 1;
}
#entry form input:-ms-input-placeholder,
#entry form textarea:-ms-input-placeholder {
	color: #CCCCCC;
	opacity: 1;
}
#entry form .row {
	margin: 0;
	max-width: 50rem;
	justify-content: space-between;
}
#entry form .row > * {
	margin: 0;
	padding: 0;
	width: 48.6%;
}
#entry form#mailformpro label {
	margin: 0;
	padding: 0;
	display: block;
	width: fit-content;
	border-radius: 0;
}
#entry .checkUl {
	padding: 1.1rem 0 0.6rem;
	margin: 0;
}
#entry .checkUl li {
	margin-bottom: 0.4rem;
}
#entry .checkUl li:last-child {
	margin-bottom: 0;
}
#entry .checkUl input[type="radio"],
#entry .checkUl input[type="checkbox"] {
	display: none;
}
#entry .checkUl input[type="radio"] ~ span,
#entry .checkUl input[type="checkbox"] ~ span {
	padding: 0.4rem 0 0.4rem 3.6rem;
	line-height: 1.7rem;
	border-radius: 0;
	border: none;
	display: inline-block;
	background: url("../img/entry/radio_icon01.png") no-repeat left 1.2rem top 0.4rem;
	background-size: 1.7rem 1.7rem;
	cursor: pointer;
}
#entry .checkUl input[type="radio"]:checked ~ span,
#entry .checkUl input[type="checkbox"]:checked ~ span {
	background-image: url("../img/entry/radio_icon02.png");
}
#entry .checkUl input[type="checkbox"] ~ span {
	padding-left: 3.7rem;
	line-height: 2.4rem;
	background-position: left top 0.2rem;
	background-image: url("../img/entry/check_icon01.png");
	background-size: 2.4rem 2.4rem;
}
#entry .checkUl input[type="checkbox"]:checked ~ span {
	background-image: url("../img/entry/check_icon02.png");
}
#entry .checkUl a {
	color: #333;
	text-decoration: underline;
}
#entry .mesBtn {
	margin: 4.9rem 0 0;
}
#entry .arrow_vm {
	display: inline-block;
	background-color: #D6A804;
	border: none;
	color: #fff;
	font-size: 2rem;
	line-height: 1;
	padding: 1rem;
	text-decoration: none;
	text-align: center;
	width: 27.8rem;
	height: 7.3rem;
	position: relative;
	letter-spacing: 0;
	vertical-align: middle;
	transition-duration: 0.2s;
	font-weight: 700;
}
#entry .arrow_vm::before,
#entry .arrow_vm::after {
	display: none;
}
@media only screen and (min-width: 960px) {
	#entry .checkUl a:hover {
		opacity: 0.7;
	}
	#entry form .midStyle {
		padding-top: 1.6rem;
		vertical-align: middle;
	}
	#entry form .trStyle th,
	#entry form .trStyle td {
		padding-top: 1rem;
		padding-bottom: 1rem;
		vertical-align: middle;
	}
	#entry form .trStyle td {
		padding: 3.1rem 0;
	}
	#entry form .trStyle .bg-danger {
		margin-top: -0.9rem !important;
	}
	#entry .arrow_vm:hover {
		opacity: 0.6;
	}
}
@media only screen and (max-width: 959px) {
	#entry .textImg {
		width: 11.6rem;
		height: 2.4rem;
		margin: 2.7rem auto 0.9rem;
	}
	#entry table th,
	#entry table td {
		margin-bottom: 1.6rem;
		width: 100%;
		float: left;
		padding: 0;
		font-size: 1.4rem;
		border: none;
	}
	#entry table th {
		font-size: 1.6rem;
		margin-bottom: 0.4rem;
	}
	#entry table tr:first-child th {
		padding-top: 2.7rem;
		border-top: 0.1rem solid #DDDDDD;
	}
	#entry table tr:last-child td {
		margin-bottom: 0;
		padding-bottom: 3rem;
		border-bottom: 0.1rem solid #DDDDDD;
	}
	#entry .bg-danger {
		margin: -0.4rem 0 0 1rem !important;
		padding: 0.3rem 0.7rem !important;
		font-size: 1.3rem;
		float: none;
		vertical-align: middle;
		display: inline-block;
	}
	#entry form .form-control {
		font-size: 1.4rem;
		padding: 0 1rem;
		height: 4rem;
		max-width: inherit;
	}
	#entry h2 {
		font-size: 1.2rem;
	}
	#entry .mi {
		font-size: 1.4rem;
		line-height: 1.42;
		text-wrap: pretty;
	}
	#entry section {
		margin: 1.9rem 2rem 4rem;
		width: auto;
	}
	#entry form#mailformpro {
		padding: 1.7rem 0;
	}
	#entry form .row > * {
		width: 47.7%;
	}
	#entry form .spBlock {
		display: block;
	}
	#entry form .spBlock > * {
		width: auto;
	}
	#entry .arrow_vm {
		font-size: 1.7rem;
		padding: 0.5rem;
		width: 24rem;
		height: 5rem;
	}
	#entry form .row {
		max-width: inherit;
	}
}