@charset "UTF-8";





/*DMS使用ここから---------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* リセットここから----------------------------------------------------------------- */

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html, body {
	margin: 0;
	padding: 0;
}

img {
	border: 0;
}

img, input {
	vertical-align: middle;
}

h1, h2, h3, h4, h5, h6, address {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
}

div, blockquote, p, pre, ul, ol, li, dl, dt, dd {
	margin: 0;
	padding: 0;
	border: 0;
}

li,ol{
	list-style:none;
}

table, caption, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	border-collapse:collapse;
}

hr {
	margin: 0;
	padding: 0;
	font-size: 100%;
}

iframe {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

form, fieldset, input, button, select, optgroup, option, textarea, label, legend {
	margin: 0;
	padding: 0;
	font-size: 100%;
}

span, em, strong, dfn, code, samp, kbd, var, cite, abbr, acronym, q, br, ins, del, a, img, object {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: inherit;
	font-size: 100%;
}

a {
	text-decoration: none;
}

button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

/* リセットここまで----------------------------------------------------------------- */










/* PCとSP切り替えここから----------------------------------------------------------------- */

.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

@media screen and (max-width:767px) {

.pc {
	display: none !important;
}

.sp {
	display: block !important;
}

} 

/* PCとSP切り替えここまで----------------------------------------------------------------- */










/* 共通ここから----------------------------------------------------------------- */

section * {
    font-size: 16px;
}

section {
	padding: 5% 0;
}

section small {
	font-size: 14px;
}

section img {
	width: 100%;
}

.wrap {
	max-width: 1500px;
	margin: auto;
	padding: 0 5%;
}

/* 共通ここまで----------------------------------------------------------------- */


@media screen and (max-width:767px) {

/* 共通ここから----------------------------------------------------------------- */

section * {
    font-size: 14px;
}

section {
	padding: 10% 0;
}

section small {
	font-size: 12px;
}

/* 共通ここまで----------------------------------------------------------------- */

}






.copy-0002 {
	margin: 0;
}






section * {
	font-family: "Noto Sans JP", sans-serif;
}

.bg_wrap {
	background: linear-gradient(
		to right,
		#a40a0b 0%,
		#a52328 50%,
		#ba262b 100%
	);
}

.top,
.bottom {
	padding: 70px 7%;
}

.content_wrap {
    position: relative;
	padding: 12px;
    border-radius: 25px;
    background: #fff;
    border: 8px solid #fff;
    box-shadow:
        0 0 15px rgba(255, 80, 40, 0.9),
        0 0 35px rgba(180, 20, 10, 0.6);
}

.content_wrap::before {
    content: "";
    position: absolute;
    inset: 7px;
    border: 6px solid #9a5b22;
    border-radius: 17px;
    pointer-events: none;
    box-shadow:
        inset 0 0 8px rgba(255, 190, 90, 0.9),
        0 0 4px rgba(255, 190, 90, 0.8);
}

.content_wrap::after {
    content: "";
    position: absolute;
    inset: 15px;
    border-radius: 12px;
    pointer-events: none;
    box-shadow:
        inset 0 8px 15px rgba(255, 190, 80, 0.45),
        inset 0 0 12px rgba(255, 210, 120, 0.35);
}




.h_border {
	display: flex;
	justify-content: center;
}

.h_border .text {
	display: inline-block;
	position: relative;
	font-size: 32px;
	font-weight: 900;
	letter-spacing: 0.15em;
	padding-left: 5px;
	margin-bottom: 50px;
	color: #970000;
}

.h_border .text::after {
	position: absolute;
	content: "";
	width: 80px;
	height: 5px;
    bottom: -15px;
    left: 50%;
    background-color: #970000;
}

.recommend_wrap {
    margin: 70px 0 50px;
}

.recommend_wrap .text_wrap {
    position: relative;
    padding: 30px 3% 30px 110px;
    width: 95%;
    margin-left: auto;
}

.recommend_wrap .text_wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    clip-path: polygon(
        0 0,
        100% 0,
        100% calc(100% - 35px),
        calc(100% - 35px) 100%,
        0 100%
    );
    z-index: 0;
}

.recommend_wrap .text_wrap::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 35px;
    height: 35px;
    clip-path: polygon(
        0 0,
        100% 0,
        0 100%
    );
    z-index: 1;
}

.recommend_wrap .text_wrap > * {
    position: relative;
    z-index: 2;
}

.recommend_wrap .text_wrap > p {
	position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: -30px;
    left: -45px;
    width: 115px;
    height: 115px;
    border-radius: 50%;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    transform: rotate(-10deg);
    text-align: center;
    z-index: 3;
}

.recommend_wrap .text_wrap li {
	position: relative;
	font-size: 18px;
	font-weight: 800;
	margin-top: 10px;
}

.recommend_wrap .text_wrap li:first-child {
	margin-top: 0;
}

.recommend_wrap .text_wrap li::before {
	position: absolute;
	content: "◆";
	top: 3px;
	left: -20px;
	font-size: 14px;
}

.recommend_wrap .text_wrap li small {
	display: block;
	font-weight: 600;
	margin-top: 5px;
}







/*----------------------------
mv
------------------------------*/

#mv {
	padding: 0;
}







/*----------------------------
openig
------------------------------*/

#openig {
	background-image: url(../img/pc/opening_bg.png);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: bottom;
	padding: 0;
}

#openig h2 {
	font-size: 32px;
	font-weight: 500;
	color: #fff;
	text-align: center;
	margin-bottom: 80px;
}

#openig ul {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

#openig ul li {
	width: 24%;
	text-align: center;
}

#openig ul li p {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	padding: 20px 10px;
    width: 100%;
    max-width: 200px;
	font-weight: 600;
	border-radius: 12px;
	background-color: #fff;
	text-align: center;
}

#openig ul li p::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 34%;
	border-style: solid;
	border-width: 20px 10px 0 10px;
	border-color: #ffffff transparent transparent;
	translate: -50% 100%;
	transform: skew(26deg);
	transform-origin: top;
}











/*----------------------------
plan
------------------------------*/

#plan {
	padding-top: 0;
}

#plan .induction_text {
	margin-bottom: 70px;
	padding: 35px 0 55px;
	background: linear-gradient(
    to bottom,
    #730000 0%,
    #5d0000 45%,
    #160000 100%
);

clip-path: polygon(
    0 0,
    100% 0,
    100% 55%,
    50% 100%,
    0 55%
);
}

#plan .induction_text p {
	text-align: center;
	color: #fff;
	font-size: 28px;
	font-weight: 600;
}

#plan .top_text,
#plan .top_text span {
	font-size: 28px;
	font-weight: 600;
}

#plan .top_text {
	text-align: center;
}

#plan .top_text .span_wrap {
	position: relative;
}

#plan .top_text .span_wrap > span {
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 45%;
	white-space: nowrap;
}

#plan .top_text .span_text {
	font-size: 110%;
	color: #ac1e23;
}

#plan .bottom {
	background-color: #efe8e5;
}

#plan .bottom li {
	margin-top: 50px;
}

#plan .bottom li:first-child {
	margin-top: 0;
}

#plan .recommend_wrap .text_wrap > p {
    background-color: #811a28;
}

#plan .recommend_wrap .text_wrap::before {
    background-color: #e6dcd0;
}

#plan .recommend_wrap .text_wrap::after {
    background-color: #e8b9ab;
}

#plan .recommend_wrap .text_wrap li {
	color: #970000;
}












/*----------------------------
back
------------------------------*/

#back {
	padding-top: 0;
}

#back .top .text_wrap {
	text-align: center;
}

#back .top .text_wrap .text_01 {
	font-size: 24px;
	font-weight: 600;
}

#back .top .text_wrap .text_02 {
	font-weight: 600;
	margin-top: 20px;
}

#back .top .text_wrap small {
	display: block;
	margin-top: 10px;
	text-align: right;
}

#back .bottom {
	background-color: #f8e7eb;
}















/*----------------------------
else
------------------------------*/

#else {
    background: linear-gradient(
        to right,
        #000000 0%,
        #260000 10%,
        #680000 25%,
        #8f0000 50%,
        #680000 75%,
        #260000 90%,
        #000000 100%
    );
}

#else .h2_wrap {
	display: flex;
	justify-content: center;
}

#else .h2_wrap .text {
	position: relative;
	display: inline-block;
	position: relative;
	font-size: 32px;
	font-weight: 900;
	letter-spacing: 0.15em;
	padding-left: 5px;
	margin-bottom: 50px;
	color: #fff;
}

#else .h2_wrap .text::before,
#else .h2_wrap .text::after {
	position: absolute;
	content: "◆";
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
}

#else .h2_wrap .text::before {
	left: -40px;
}

#else .h2_wrap .text::after {
	right: -40px;
}

#else .top {
	background-color: #cfe3ed;
}

#else .top .h_border .text {
	color: #00334e;
}

#else .top .h_border .text::after {
	background-color: #00334e;
}

#else .top .top_text {
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 50px;
	color: #00334e;
	text-align: center;
}

#else .recommend_wrap .text_wrap > p {
    background-color: #00334e;
}

#else .recommend_wrap .text_wrap::before {
    background-color: #fff;
}

#else .recommend_wrap .text_wrap::after {
    background-color: #bccee3;
}

#else .recommend_wrap .text_wrap li {
	color: #00334e;
}

#else .button_wrap {
	margin-top: 80px;
}

#else .button_wrap a {
	display: block;
	max-width: 1000px;
	margin: auto;
	transition: 0.3s;
}

#else .button_wrap a:hover {
	opacity: 0.7;
}

#else .bottom_text {
	font-size: 24px;
	color: #fff;
	line-height: 2;
	margin-top: 50px;
	text-align: center;
}










/*----------------------------
link
------------------------------*/

#link ul {
	display: flex;
	justify-content: center;
	gap: 4%;
}

#link ul li a {
	position: relative;
	display: inline-block;
	background: linear-gradient(
    to bottom,
    #3d3d42 0%,
    #29292d 35%,
    #525252 55%,
    #18181c 75%,
    #080809 100%
	);
	font-size: 20px;
	font-weight: 600;
	color: #fff;
	padding: 30px 60px 30px 90px;
	transition: 0.3s;
}

#link ul li a::before {
	position: absolute;
	content: "";
	background-size: contain;
	background-repeat: no-repeat;
	width: 60px;
	height: 60px;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}

#link ul .no1 a::before {
	background-image: url(../img/pc/icon_01.png);
}

#link ul .no2 a::before {
	background-image: url(../img/pc/icon_02.png);
}

#link ul li a:hover {
	opacity: 0.7;
}










/*----------------------------
アニメーション
------------------------------*/

.scroll_01 {
    opacity: 0;
    transform: translateY(20px);
    transition: 1s;
}

.scroll_01.anim {
    opacity: 1;
    transform: translateY(0);
}

#openig ul li:nth-child(1) p {
    transition-delay: 0s;
}

#openig ul li:nth-child(2) p {
    transition-delay: 0.5s;
}

#openig ul li:nth-child(3) p {
    transition-delay: 1s;
}

#openig ul li:nth-child(4) p {
    transition-delay: 1.5s;
}





.scroll_02::after {
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    transition: transform 0.7s ease;
}

.scroll_02.anim::after {
    transform: translateX(-50%) scaleX(1);
}







@media screen and (max-width:767px) {




.content_wrap {
    padding: 5px;
    border-radius: 10px;
    border: 0;
}

.content_wrap::before {
    inset: 3px;
    border: 3px solid #9a5b22;
    border-radius: 8px;
}

.content_wrap::after {
    inset: 5px;
    border-radius: 8px;
    box-shadow: inset 0 0px 7px rgba(255, 190, 80, 0.45), inset 0 0 12px rgba(255, 210, 120, 0.35);
}



.top, .bottom {
    padding: 40px 5%;
}

.h_border .text {
    font-size: 22px;
	letter-spacing: 0.05em;
    margin-bottom: 30px;
}

.h_border .text::after {
    width: 60px;
    height: 4px;
    bottom: -10px;
}


.recommend_wrap {
    margin: 50px 0 20px;
}

.recommend_wrap .text_wrap {
    padding: 40px 4% 30px;
    width: 100%;
}

.recommend_wrap .text_wrap > p {
    top: -13px;
    left: -4px;
    width: 140px;
    height: 35px;
    border-radius: 0;
    font-size: 14px;
    transform: rotate(-6deg);
}

.recommend_wrap .text_wrap li {
    font-size: 15px;
    margin-top: 3px;
	margin-left: 16px;
}

.recommend_wrap .text_wrap li::before {
    left: -16px;
    font-size: 12px;
}

.recommend_wrap .text_wrap li small {
    position: relative;
    left: -16px;
	margin-top: 8px;
}






/*----------------------------
openig
------------------------------*/

#openig {
	padding-bottom: 40px;
}

#openig h2 {
    font-size: 20px;
	margin-top: 30px;
    margin-bottom: 30px;
}

#openig ul {
	display: block;
}

#openig ul li {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	align-items: center;
	width: 100%;
	margin-top: 20px;
}


#openig ul li:first-child {
	margin-top: 0;
}

#openig ul li p {
	width: 65%;
	max-width: none;
	padding: 20px 16px;
	text-align: left;
	margin-bottom: 0;
	margin-left: 20px;
}

#openig ul li p::after {
	top: 41%;
	bottom: auto;
	left: 0;
	border-width: 0 20px 20px 0;
	border-color: transparent #fff transparent transparent;
	translate: -100% calc(-50% - 0.4px);
	transform: skew(0, -45deg);
	transform-origin: right;
}

#openig ul li img {
	width: 25%;
	object-fit: contain;
}

#plan .induction_text {
    margin-bottom: 40px;
    padding: 20px 0 40px;
}

#plan .induction_text p {
    font-size: 15px;
}











/*----------------------------
plan
------------------------------*/

#plan .top_text {
	margin-bottom: 10px;
}

#plan .top_text,
#plan .top_text span {
    font-size: 20px;
}

#plan .top_text .span_wrap > span {
    bottom: -10px;
	font-size: 50%;
}

#plan .top_text .span_text {
	font-size: 100%;
    line-height: 2.5;
}

#plan .bottom li {
	margin-top: 30px;
}








/*----------------------------
back
------------------------------*/

#back .top .text_wrap .text_01 {
    font-size: 15px;
}






/*----------------------------
else
------------------------------*/

#else .h2_wrap .text {
	font-size: 22px;
	margin-bottom: 30px;
}

#else .h2_wrap .text::before,
#else .h2_wrap .text::after {
    font-size: 14px;
}

#else .h2_wrap .text::before {
    left: -25px;
}

#else .h2_wrap .text::after {
    right: -25px;
}

#else .top .top_text {
    font-size: 20px;
	margin-bottom: 30px;
}

#else .button_wrap {
    margin-top: 40px;
}

#else .bottom_text {
    font-size: 14px;
    margin-top: 30px;
}









/*----------------------------
link
------------------------------*/

#link {
    padding-bottom: 15%;
}

#link ul {
	display: block;
}

#link ul li {
	margin-top: 20px;
}

#link ul li:first-child {
	margin-top: 0;
}

#link ul li a {
	width: 100%;
	font-size: 18px;
	padding: 25px 0px 25px 85px;
}

#link ul li a::before {
	width: 50px;
	height: 50px;
}






/*----------------------------
アニメーション
------------------------------*/

#openig ul li .scroll_01 {
    transform: translateX(-20px);
}

#openig ul li .scroll_01.anim {
    transform: translateX(0);
}

#openig ul li p {
    transition-delay: 0s !important;
}

}

/*DMS使用ここまで---------------------------------------------*/