@charset "UTF-8";
/*
	Theme Name: ゴルフゾン2025
	Description: ゴルフゾン専用のテンプレートファイルです。
	Author: Fellow System
	Version: 2.0
*/
/*******************************************************************************
	サイト名：
	作成会社：Fellow System
--------------------------------------------------------------------------------
 No.│   日付   │区分│						内  容
━━┿━━━━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 001│2022.11│新規│[V1.00]
*******************************************************************************/

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：全部
*******************************************************************************/
/*@import url("https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");*/

html , body {
	height: 100%;
}

body {
	color: #1a1f19;
	font-family: "Noto Sans JP", "sans-serif";
	font-size: 12pt;

	-webkit-text-size-adjust: 100%;
}

.font_sans {
	font-family: "Noto Sans JP", "sans-serif";
}

.font_lato {
	font-family: "Lato", "sans-serif";
}

body.active {
	overflow: hidden;
}


* {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	background: transparent;
	font-size: 100%;
	vertical-align: baseline;
	text-decoration: none;
	outline: 0;
}

figure {
	margin: 0;
}

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

a , a[href^=tel] {
	color: #1a1f19;
}

ul , ol {
	list-style: none;
}

img , video , iframe {
	display: block;
}
img {
	height: auto;
}

.clearfix:after {
	display: block;
	clear: both;
	text-decoration: none;
	content: "";
}

::placeholder {
	font-weight: 500;
}

input:not([type="radio"], [type="checkbox"], [type="file"]) , textarea , select {
	display: block;
	width: 100%;
	padding: 0.5em;
	border-width: 1px;
	border-style: solid;
	border-color: #e6e6e6;
	border-radius: 0;
	outline: none;

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

textarea {
	resize: vertical;
}

input:not([type="submit"]):focus , textarea:focus , select:focus {
	border-width: 2px;
	border-color: #313131;
	border-radius: 5px;
}

select {
	background-repeat: no-repeat;
	background-position: right 10px center;
}

select::-ms-expand {
	display: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"] , input[type="reset"] , input[type="button"] {
	box-sizing: border-box;
	cursor: pointer;

	-webkit-appearance: button;
	appearance: button;
}

input[type="submit"]::-webkit-search-decoration , input[type="reset"]::-webkit-search-decoration , input[type="button"]::-webkit-search-decoration {
	display: none;
}

input[type="submit"]::focus , input[type="reset"]::focus , input[type="button"]::focus {
	outline-offset: -2px;
}

.container {
	position: relative;
	overflow: hidden;
}

/* ローダー */
#loader {
	display: flex;
	position: fixed;
	top: 0;
	z-index: 100000;
	width: 100%;
	height: 100lvh;
	background-color: #25425c;
	transition: all 1s;
}


@media screen and (max-width: 834px) {
	#loader {
		height: 12000px;
	}
}

.load_screen {
	display: flex;
	width: 100%;
	height: 100svh;
	justify-content: center;
	align-items: center;
}

.loaded {
	visibility: hidden;
	opacity: 0;
}

.loader_anime {
	display: flex;
	width: 100px;
	height: 100px;
	justify-content: center;
	align-items: center;
}

.loader_move {
	width: 40px;
	height: 40px;
	border-top: 3px solid #ffffff;
	border-right: 1px solid #25425c;
	border-bottom: 1px solid #25425c;
	border-left: 1px solid #25425c;

/*border-right-color: #000000;
	border-bottom-color: #000000;
	border-left-color: #000000;*/
	border-radius: 50%;
	animation: Load 1s ease infinite;
}

@keyframes Load {
	to {
		transform: rotate(360deg);
	}
}

.container {
	position: relative;
	overflow: hidden;
}

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：共通
*******************************************************************************/

.common_page-title {
	display: flex;
	margin: 0 auto;
	color: #25425c;
	font-size: clamp(1.5rem, 0.153rem + 2.81vw, 2rem);
	text-align: center;
	flex-direction: column;
	align-items: center;
}

.common_page-title span {
	display: block;
	margin-bottom: -3px;
	font-weight: 300;
	font-size: clamp(0.875rem, 0.033rem + 1.75vw, 1.188rem);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}


@media screen and (min-width: 768px) {
	.common_page-title {
		width: 95%;
	}
}

@media screen and (max-width: 767px) {
	.common_page-title {
		width: calc(100% - 60px);
	}
}

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：ヘッダー
*******************************************************************************/
.scroll_range {
	position: relative;
}

.fixed_nav {
	display: flex;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 50%;
	z-index: 3;
	z-index: 10;
	transform: translateX(-50%);

/*max-width: 1880px;*/
	width: 100%;
	height: 100dvh;
	margin: 0 auto;
}
@media screen and (min-width: 783px) {
	.admin-bar .fixed_nav {
		top: 32px;
		max-height: calc(1080px - 32px);
	}
}

@media screen and (max-width: 782px) {
	.admin-bar .fixed_nav {
		top: 46px;
		max-height: calc(1080px - 46px);
	}
}

.fixed_nav.scroll_end {
	position: absolute;
	top: auto;
	bottom: 0;
}
.fixed_nav-list {
	display: flex;
	visibility: visible;
	width: 100%;
	margin-top: auto;
}

.fixed_nav-item a {
	display: flex;
	position: relative;
	width: 100%;
	padding: 10px 0;
	border-width: 2px;
	border-style: solid;
	border-radius: 10px;
	color: #ffffff;
	font-size: clamp(1.125rem, 0.833rem + 0.61vw, 1.563rem);
	justify-content: center;
	align-items: center;
	transition: all 0.6s;
}
#fixed_trial-link a {
	border-color: #800020;
	background-color: #800020;
}

#fixed_trial-link a:hover {
	background-color: #ffffff;
	color: #800020;
}

#fixed_line-link a {
	border-color: #1bc755;
	background-color: #1bc755;
}

#fixed_line-link a:hover {
	background-color: #ffffff;
	color: #1bc755;
}

#fixed_line-link a img {
	width: 35px;
}

.icon-line {
	position: relative;
	color: #1bc755;
	font-size: 35px;
	line-height: 1;
}
.icon-line::before {
	position: relative;
	z-index: 1;
}
.icon-line::after {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 0;
	transform: translate(-50% , -50%);
	width: calc(100% - 5px);
	border-radius: 100%;
	background-color: #ffffff;
	content: "";

	aspect-ratio: 1/1;
}



@media screen and (min-width: 768px) {
	.fixed_nav {
		width: calc(100% - 40px);
	}
	.fixed_nav-list {
		max-width: 60px;
		margin-bottom: clamp(0.625rem, -1.2rem + 3.8vw, 3.125rem);
		margin-left: auto;
		flex-direction: column;

		row-gap: clamp(0.313rem, 0.085rem + 0.97vw, 1.25rem);
	}
	.fixed_nav-item a {
		height: 250px;
		padding: 10px 0;
		border-width: 2px;
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		column-gap: 5px;

		text-orientation: upright;
	}
	#fixed_trial-link a {
		padding-top: 0.59em !important;
		letter-spacing: 0.59em;
	}
	#fixed_line-link a {
		padding-top: 0.2em !important;
		letter-spacing: 0.2em;
	}
}

@media screen and (max-width: 767px) {
	.fixed_nav {
		width: 100%;
	}
	.fixed_nav-item {
		width: 50%;
	}
	.fixed_nav-item a {
		height: 55px;
		border-bottom-right-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
		column-gap: 3px;
	}
}









.header_container {
	display: block;
	position: fixed;
	z-index: 20;
	width: 100%;
	background-color: #ffffff;
}

.header_logo {
	width: fit-content;
}

.header_container.active .header_logo {
	z-index: 9999;
}

.header_logo-contents {
	display: flex;
	padding-left: clamp(0rem, -0.628rem + 1.31vw, 0.938rem);
	column-gap: clamp(0.938rem, 0.519rem + 0.87vw, 1.563rem);
	align-items: center;
}

.header_logo-img {
	max-width: clamp(6.25rem, 2.484rem + 7.85vw, 11.875rem);
	width: 100%;
}

.header_logo-img img {
	width: 100%;
}

.header_logo-contents figcaption {
	font-weight: 500;
	font-size: clamp(0.625rem, 0.416rem + 0.44vw, 0.938rem);
	line-height: clamp(0.938rem, 0.352rem + 1.22vw, 1.813rem);
}


.header_contents {
	display: flex;
	position: relative;
	max-width: 1820px;
	margin: 0 auto;
	background-color: #ffffff;
	justify-content: space-between;
	align-items: center;
}

.header_logo {
	position: relative;
	z-index: 5;
}

.header_menu-nav {
	display: block;
	margin-left: auto;
	font-weight: 500;
	font-size: clamp(0.938rem, 0.81rem + 0.22vw, 1.063rem);
}

.common_menu-list {
	display: flex;
}


.header_menu-nav a , .footer_menu-nav  a {
	transition: all 0.6s;
}
.menu_inner a:hover , .menu_inner .menu-item a:hover span:lang(en) {
	color: #d23823 !important;
	transition: color 0.6s;
}




.header_menu-list {
	position: relative;
	z-index: 5;
	white-space: nowrap;
	column-gap: 45px;
	align-items: center;
}


.header_contact {
	display: block;
	max-width: 150px;
	width: 100%;
	width: clamp(7.5rem, 5.545rem + 3.19vw, 9.375rem);
}

.header_contact a {
	display: flex;
	padding: clamp(0.625rem, 0.593rem + 0.06vw, 0.656rem) clamp(0.813rem, 0.238rem + 1vw, 1.375rem);
	border: 2px solid #25425c;

/*border-image: linear-gradient(to right bottom, #84de63 0%, #078d44 100%);
	border-image-slice: 1;
	background: linear-gradient(to right bottom, #84de63 0%, #078d44 100%);*/
	background-color: #25425c;
	color: #ffffff;
	justify-content: center;
	align-items: center;
	transition: all 0.6s;
}

.header_contact.current-menu-item a , .header_contact.hover_item a {
	background: #ffffff;
	color: #25425c;
}

.header_contact.hover_del a {
	background-color: #25425c;
	color: #ffffff !important;
}



.header_menu-list li:not(.header_contact).current-menu-item a , .header_menu-list li:not(.header_contact).hover_item a {
	color: #d23823;
}

/*.header_menu-list li:not(.header_contact).hover_del a {
	color: #252a3e !important;
}*/

.header_trial {
	display: block;
	max-width: 150px;
	width: 100%;
	width: clamp(7.5rem, 5.545rem + 3.19vw, 9.375rem);
}

.header_trial a {
	display: flex;
	padding: clamp(0.625rem, 0.593rem + 0.06vw, 0.656rem) clamp(0.813rem, 0.238rem + 1vw, 1.375rem);
	border: 2px solid transparent;
	border-image: linear-gradient(to right bottom, #e51c1d 0%, #ffd51f 100%);
	border-image-slice: 1;
	background: linear-gradient(to right bottom, #e51c1d 0%, #ffd51f 100%);
	color: #ffffff;
	justify-content: center;
	align-items: center;
	transition: all 0.6s;
}

.header_trial.current-menu-item a , .header_trial.hover_item a {
	background: #ffffff;
	color: #e51c1d;
}

.header_trial.hover_del a {
	background: linear-gradient(to right bottom, #e51c1d 0%, #ffd51f 100%) !important;
	color: #ffffff !important;
}












.navToggle {
	display: flex;
	position: relative;
	z-index: 9999;
	overflow: hidden;
	width: 50px;
	padding-top: 5px;
	border-radius: 5px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	color: #1c1c1c;
	font-weight: 900;
	font-size: 11px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	cursor: pointer;

	aspect-ratio: 1/1;
}

.navToggle::before {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.85);
	content: "";

	backdrop-filter: blur(30px);
}


.toggle_line {
	position: relative;
	width: 30px;
	height: 20px;
}

.navToggle span {
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: #1c1c1c;
}

.navToggle span:nth-child(1) {
	top: 0;
}

.navToggle span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}

.navToggle span:nth-child(3) {
	bottom: 0;
}

.motion_union span:nth-of-type(1) {
	animation: union-bar01 0.75s forwards;
	-webkit-animation: union-bar01 0.75s forwards;
}

.motion_union span:nth-of-type(2) {
	opacity: 1;
	transition: all 0.25s 0.25s;
}

.motion_union span:nth-of-type(3) {
	animation: union-bar02 0.75s forwards;
	-webkit-animation: union-bar02 0.75s forwards;
}

@keyframes union-bar01 {
	0% {
		transform: translateY(9px) rotate(30deg);
	}

	50% {
		transform: translateY(9px) rotate(0);
	}

	100% {
		transform: translateY(0) rotate(0);
	}
}

@keyframes union-bar02 {
	0% {
		transform: translateY(-9px) rotate(-30deg);
	}

	50% {
		transform: translateY(-9px) rotate(0);
	}

	100% {
		transform: translateY(0) rotate(0);
	}
}

.motion_union.active span:nth-of-type(1) {
	animation: active-union-bar01 0.75s forwards;
	-webkit-animation: active-union-bar01 0.75s forwards;
}

.motion_union.active span:nth-of-type(2) {
	opacity: 0;
}

.motion_union.active span:nth-of-type(3) {
	animation: active-union-bar03 0.75s forwards;
	-webkit-animation: active-union-bar03 0.75s forwards;
}

@keyframes active-union-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}

	50% {
		transform: translateY(9px) rotate(0);
	}

	100% {
		transform: translateY(9px) rotate(30deg);
	}
}

@keyframes active-union-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}

	50% {
		transform: translateY(-9px) rotate(0);
	}

	100% {
		transform: translateY(-9px) rotate(-30deg);
	}
}


.menu_container {
	display: flex;
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9000;
	z-index: -1;
	width: 100%;
	height: 100svh;
	padding: 0 20px;
	background-color: #ffffff;
	background-image: url(./images/menu_bg.png);
	background-repeat: repeat;
	background-position: center top;
	background-size: 1920px 1103px;
	flex-direction: column;
	align-items: center;
	transition: all 0.6s;
}
@media screen and (min-width: 768px) {
	.menu_container {
		padding: calc(80px + 50px) 20px 30px;
	}
}
@media screen and (max-width: 767px) {
	.menu_container {
		padding: calc(60px + 25px) 0 25px;
	}
	.mobile_menu-left , .mobile_menu-right {
		padding: 0 30px;
	}
}

.menu_container.active {
	overflow-y: scroll;
}


/*.menu_container::before {
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 1000000px;
	background-image: url(./images/access_bg-mb.png);
	background-repeat: repeat;
	background-position: center top;
	background-size: 375px 1388px;
	opacity: 0.5;
	content: "";
}*/
@media screen and (min-width: 768px) {
	.menu_container::before {
		top: 80px;
	}
}
@media screen and (max-width: 767px) {
	.menu_container::before {
		top: 60px;
	}
}

.menu_inner {
	display: flex;
	position: relative;
	z-index: 9999;
	max-width: 1000px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	flex-wrap: wrap;
}

/*.mobile_menu-left , .mobile_menu-right {
	padding-left: clamp(0rem, -10.947rem + 22.81vw, 4.063rem);
}*/

@media screen and (min-width: 501px) {
	.mobile_menu-left , .mobile_menu-right {
		width: 50%;
	}
}

@media screen and (max-width: 500px) {
	/*.menu_inner {
		flex-direction: column;
	}*/

	.mobile_menu-left , .mobile_menu-right {
		width: 100%;
	}
	.mobile_menu-right {
		margin-top: 30px;
	}
}


.menu_container.active {
	visibility: visible;
	opacity: 1;
}

.mobile_menu-nav {
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 0 auto;
	font-weight: 500;
	font-size: 15px;
}

.mobile_menu-list {
	flex-direction: column;
	flex-wrap: wrap;
}

.mobile_menu-list .menu-item {
	display: block;
	width: fit-content;
}

.mobile_menu-list .menu-item a {
	display: inline-flex;
	align-items: baseline;
}

.mobile_menu-list .menu-item a span:lang(en) {
	text-transform: uppercase;
}

.mobile_menu-list .menu-item a span {
	display: inline-block;
	white-space: nowrap;
}

.mobile_menu-left .menu-item a {
	font-weight: bold;
	column-gap: 5px;
	flex-wrap: wrap;

	row-gap: 5px;
}

.mobile_menu-left .menu-item a span:lang(en) {
	color: #1c425d;
	font-size: clamp(1.375rem, -0.732rem + 6.74vw, 2.5rem);
	letter-spacing: 0.04em;
}

.mobile_menu-left .menu-item a span:not(:lang(en)) {
	font-size: clamp(0.875rem, 0.524rem + 1.12vw, 1.063rem);
	letter-spacing: 0.09em;
}

.mobile_menu-right .menu-item a {
	flex-direction: column-reverse;

	row-gap: 5px;
}

.mobile_menu-right .menu-item a span:lang(en) {
	display: block;
	width: 100%;
	font-weight: bold;
	font-size: 22px;
	letter-spacing: 0.04em;
}

.mobile_menu-right .menu-item a span:not(:lang(en)) {
	font-weight: 500;
	font-size: 14px;
}

.menu_ex-sns {
	display: flex;
	width: fit-content;
	font-weight: bold;
	column-gap: clamp(0.625rem, 0.04rem + 1.87vw, 0.938rem);
	align-items: center;
}

.menu_ex-sns i {
	font-size: clamp(1.875rem, 0.705rem + 3.75vw, 2.5rem);
}

.menu_ex-sns > span {
	display: inline-block;
	font-size: clamp(0.875rem, 0.758rem + 0.37vw, 0.938rem);
	text-decoration: underline;
}


.menu_foot {
	display: flex;
	width: 100%;
	border-top: 2px solid #1c425d;
	column-gap: clamp(0.938rem, 0.352rem + 1.87vw, 1.25rem);
	flex-direction: row-reverse;
	flex-wrap: wrap;
	align-items: flex-end;
}

.menu_foot img {
	max-width: 240px;
	width: 80%;
}

.menu_foot figcaption {
	display: inline-flex;
	padding-bottom: 10px;
	font-weight: 500;
	font-size: 14px;
	text-align: right;
	flex-direction: column;
	align-items: flex-end;
}

.menu_foot figcaption a {
	margin-top: -3px;
	font-weight: bold;
	font-size: clamp(1.563rem, 0.626rem + 3vw, 2.063rem);
}

@media screen and (min-width: 768px) {
	.mobile_menu-left .mobile_menu-list {
		row-gap: 30px;
	}

	.mobile_menu-left .menu-item a {
		flex-direction: row-reverse;
	}

	.mobile_menu-right .mobile_menu-list {
		row-gap: 25px;
	}

	.menu_ex-sns {
		margin-top: 40px;
	}

	.menu_foot {
		margin-top: 30px;
		padding-top: 30px;
	}
}

@media screen and (max-width: 767px) {
	.mobile_menu-list {
		row-gap: 30px;
	}

	.mobile_menu-left .menu-item a {
		flex-direction: column-reverse;
	}

	.mobile_menu-left .menu-item a span:not(:lang(en)) {
		font-weight: 500;
	}

	.menu_ex-sns {
		margin-top: 30px;
	}

	.menu_foot {
		margin-top: 30px;
		padding: 35px 20px 0;

		row-gap: 35px;
	}
}



/*.mobile_menu-nav > ul > li.menu-item-123::before , .mobile_menu-nav > ul > li.menu-item-252::before {
	display: block;
	position: absolute;
	top: 25px;
	left: 0;
	z-index: 1;
	height: 1px;
	background-color: green;
	content: "";
}

.mobile_menu-nav > ul > li.menu-item-123::before {
	width: 80px;
}

.mobile_menu-nav > ul > li.menu-item-252::before {
	width: 137px;
}

.mobile_menu-nav > ul > li::after {
	display: block;
	position: absolute;
	top: 25px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 1px;
	background-color: #ffffff;
	content: "";
}

.sub-menu {
	display: flex;
	flex-direction: column;

	row-gap: 15px;
}

.mobile_menu-nav .sub-menu {
	padding-top: 23px;
}

@media screen and (min-width: 375px) {
	.mobile_menu-nav .sub-menu {
		height: 90px;
	}
}

.sub-menu li {
	display: flex;
	align-items: center;
}

.sub-menu li::before {
	display: block;
	width: 15px;
	height: 1px;
	margin-right: 10px;
	background-color: #ffffff;
	content: "";
}*/

.main_wrapper {
	position: relative;
}

.page_top-container {
	display: flex;
	visibility: hidden;
	position: absolute;
	bottom: calc(100% - 22.5px);
	left: 50%;
	transform: translateX(-50%);
	max-width: 1000px;
	margin: 0 auto;
	font-size: 45px;
	line-height: 1;
	justify-content: flex-end;
}

.page_top-container a {
	visibility: visible;
	overflow: hidden;
	transform: rotate(-90deg);
	border-radius: 100%;
}

.page_top-container i {
	border-radius: 100%;
	background-color: #252a3e;
}

/*


.page_top-container::after {
	display: block;
	position: absolute;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 2%, #000000 88%, rgba(0, 0, 0, 0) 99.73%, rgba(0, 0, 0, 0) 100%);
	content: "";
}

.page_top-inner {
	display: none;
	visibility: hidden;
	position: fixed;
	bottom: 10px;
	z-index: 10;
	width: 100%;
}

.page_top-inner.scroll_end {
	position: absolute;
	bottom: -1px;
}

.home .page_top-inner {
	position: absolute;
	bottom: -1px;
}


.page_top-inner a {
	display: flex;
	visibility: visible;
	position: absolute;
	bottom: 0;
	left: clamp(12.188rem, -4.928rem + 85.58vw, 97.5rem);
	z-index: 10;
	width: clamp(3.75rem, 3.674rem + 0.32vw, 4.063rem);
	color: #434343;
	font-weight: bold;
	font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
	text-align: center;
	justify-content: center;
	align-items: flex-end;

	aspect-ratio: 13/9;
}

.page_top-inner a:before, .page_top-inner a:after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	border: solid transparent;
	content: "";

	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-position: center top;
	-webkit-mask-position: center top;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}

.page_top-inner a:before {
	background-color: #000000;

	mask-image: url(./images/triangle_border.png);
	-webkit-mask-image: url(./images/triangle_border.png);
}


.page_top-inner.scroll_end a:after {
	background-color: #ffffff;

	mask-image: url(./images/triangle_bg.png);
	-webkit-mask-image: url(./images/triangle_bg.png);
}

.page_top-inner span {
	display: block;
	position: relative;
	z-index: 10;
	width: 100%;
	padding-bottom: 3px;
}

.page_top-inner.scroll_end span::after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 1.8px);
	height: 1px;
	background-color: white;
	content: "";
}
*/



.footer_contact-nav {
	display: block;
	position: relative;
	z-index: 6;
	width: 100%;
	background-color: rgba(37, 66, 92, 0.1);
}

.footer_contact-list {
	display: flex;
	position: relative;
	overflow: hidden;
	max-width: 845px;
	width: 95%;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer_contact-item {
	max-width: 375px;
}
.footer_contact-item dl {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: center;

	row-gap: 20px;
}

.footer_contact-item dt {
	width: 100%;
	font-weight: bold;
	font-size: clamp(1rem, -0.853rem + 3.86vw, 1.688rem);
	line-height: clamp(1.875rem, -1.662rem + 7.37vw, 3.188rem);
	text-align: center;
}
@media screen and (min-width: 768px) {
	.footer_contact-nav {
		padding: 71px 0 85px;
	}
	.footer_contact-list {
		width: 95%;
	}

	.footer_contact-list::before {
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 2px;
		height: 100%;
		border-left: 2px dotted #25425c;
		content: "";
	}
	.footer_contact-item {
		width: 100%;
		padding: 20px 0 60px;
	}
	.footer_contact-item dt {
		padding-bottom: 10px;
		border-bottom: 1px solid #000000;
	}
}
@media screen and (max-width: 767px) {
	.footer_contact-nav {
		padding: 40px 30px 60px;
	}
	.footer_contact-list {
		width: 100%;
		flex-direction: column;
		align-items: center;
	}
	.footer_contact-item {
		width: 100%;
	}.footer_contact-item:nth-of-type(2) {
		margin-top: 40px;
		padding-top: 40px;
		border-top: 2px dotted #25425c;
	}
}



.footer_contact-item dd {
	display: flex;
	max-width: 240px;
	width: 100%;
	flex-direction: column;

	row-gap: 10px;
}

.footer_contact-item dd a {
	display: flex;
	width: 100%;
	padding: 13px 0;
	border: 2px solid;
	color: #ffffff;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0.1em;
	justify-content: center;
	align-items: center;
	transition: all 0.6s;
}

#footer_line-link {
	border: 2px solid #1bc755;
	background-color: #1bc755;
}
#footer_line-link:hover {
	background-color: #ffffff;
	color: #1bc755;
}


#footer_trial-link {
	border: 2px solid #800020;
	background-color: #800020;
}

#footer_trial-link:hover {
	background-color: #ffffff;
	color: #800020;
}

#footer_contact-link {
	border: 2px solid #25425c;
	background-color: #25425c;
}
#footer_contact-link:hover {
	background-color: #ffffff;
	color: #25425c;
}

.footer_container {
	position: relative;
	z-index: 6;
	padding-bottom: 5px;
	background-color: #25425c;
}

.footer_contents {
	display: block;
	max-width: 1740px;
	margin: 0 auto;
}

.footer_inner {
	display: flex;
	max-width: 1245px;
	width: 100%;
	column-gap: 20px;
	justify-content: space-between;
}

.footer_about {
	display: flex;
	min-width: 260px;
	width: fit-content;
	color: #ffffff;
	flex-direction: column;
}

.footer_logo {
	display: flex;
	font-weight: 500;
	font-size: clamp(1.25rem, 0.719rem + 1.11vw, 1.625rem);
	flex-direction: column;

	row-gap: 55px;
}

.footer_logo a {
	display: block;
	width: fit-content;
	color: #ffffff;
}

.footer_logo img {
	max-width: 322px;
	width: 100%;
}

.site_address {
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	line-height: 22px;
}

.site_address dl {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}

.site_address dl dt {
	display: flex;
	width: 2.732em;
}

.site_address dl dt::after {
	content: "：";
}

.site_address dl dd {
	display: flex;
	width: calc(100% - 2.732em);
	color: #ffffff !important;
}
.site_address dl dd a {
	color: #ffffff !important;
}

.footer_menu-nav {
	display: flex;
	max-width: 805px;
	width: 100%;
	font-weight: 500;
	font-size: clamp(0.875rem, 0.344rem + 1.11vw, 1.25rem);
	column-gap: 10px;
	align-items: flex-start;
}

.footer_menu-list {
	width: 100%;
	padding-left: clamp(0.625rem, -0.703rem + 2.77vw, 1.563rem) !important;
	border-left: 3px dotted #ffffff;
	flex-direction: column;
	flex-wrap: wrap;

	row-gap: 25px;
}

@media screen and (min-width: 551px) {
	#menu-footer_top li:nth-last-of-type(-n+3) {
		display: none;
	}
}

.footer_menu-list li a {
	color: #ffffff;
	white-space: nowrap;
}

.footer_menu-list li.current-menu-item a , .footer_menu-list li.hover_item a {
	color: #d23823;
}

.footer_menu-list li.current-menu-item a {
	pointer-events: none;
}

.footer_menu-list li.hover_del a {
	color: #1a1f19;
}




.footer_making {
	display: flex;
	position: relative;
	z-index: 2;
	color: #ffffff;
	font-weight: 400;
	font-size: clamp(0.875rem, 0.521rem + 0.74vw, 1.125rem);
	text-align: center;
	justify-content: center;
	align-items: center;
}



@media screen and (min-width: 981px) {
	.navToggle {
		display: none;
	}
}

@media screen and (max-width: 980px) {
	.header_menu-nav {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.header_container {
		background-color: #ffffff;
	}


	.display_mb {
		display: none !important;
	}

	.header_contents {
		width: 95%;
		height: 80px;
		column-gap: 10px;
	}




	.header_menu-list .menu-item {
		position: relative;
	}

	.header_menu-list .menu-item.header_trial {
		margin-right: 10px;
	}

	.page_top-container {
		width: 95%;
	}




	.form_nav-container {
		padding: 50px 30px;
	}




	.footer_container {
		padding: 50px 0 20px;
	}

	.footer_contents {
		width: 95%;
		margin-bottom: 20px;
	}

	.footer_about {
		min-width: 260px;

		row-gap: 5px;
	}

	.footer_logo {
		row-gap: 45px;
	}



	.site_address br {
		display: none;
	}

	.footer_menu-list {
		padding: 30px 0 20px;
	}

	.footer_menu-list li {
		white-space: nowrap;
	}
}


@media screen and (max-width: 767px) {
	.display_pc {
		display: none !important;
	}


	@media screen and (min-width: 601px) {
		.admin-bar .menu_container {
			height: calc(100svh - 46px);
		}
	}

	@media screen and (max-width: 600px) {
		.admin_position .header_container {
			position: absolute;
		}

		.header_container {
			top: 0;
		}

		.admin_position .menu_container {
			height: calc(100svh - 46px);
		}
	}

	.header_container {
		padding: 0 20px;
	}


	.header_contents {
		width: 100%;
		height: 60px;
	}

	body:not(.home) .main_wrapper {
		padding-top: 80px;
	}




	.form_nav-container {
		padding: 60px 20px;
	}



	.form_nav-container {
		padding: 40px 20px;
	}

	.footer_container {
		padding: 40px 30px 15px;
	}

	.footer_contents {
		width: 100%;
		margin-bottom: 35px;
	}

	.footer_inner {
		flex-direction: column;

		row-gap: 55px;
	}

	.footer_about {
		margin: 0 auto;
		align-items: center;
	}

	.footer_logo {
		align-items: center;

		row-gap: 10px;
	}


	.footer_menu-nav {
		align-items: flex-start;
	}

	@media screen and (max-width: 550px) {
		#menu-foot_center {
			display: none;
		}
	}


	.footer_menu-list li {
		width: fit-content;
	}


	.wrap_menu {
		width: 100px !important;
	}
}

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：共通ボタン
*******************************************************************************/
.common_link {
	display: flex;
	position: relative;
	padding: clamp(0.5rem, -0.174rem + 1.4vw, 0.75rem) clamp(2.188rem, 0.503rem + 3.51vw, 2.813rem);
	border: clamp(0.188rem, -0.149rem + 0.7vw, 0.313rem) solid #252a3e;
	border-radius: 30px;
	background-color: #252a3e;
	color: #ffffff;
	font-weight: 600;
	font-size: clamp(0.875rem, 0.201rem + 1.4vw, 1.125rem);
	justify-content: center;
	align-items: center;
	transition: all 0.6s;
}

.common_link:hover {
	background-color: #ffffff;
	color: #252a3e;
}

.common_link i {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	border-radius: 100%;
	background-color: #ffffff;
	color: #252a3e;
	font-size: clamp(2.188rem, 0.503rem + 3.51vw, 2.813rem);
	line-height: 1;
	transition: all 0.6s;
}

.common_link:hover i {
	left: calc(100% + 1px);
	transform: translate(-100%, -50%);
	background-color: #252a3e;
	color: #ffffff;
}

/*******************************************************************************
	デフォルトセッティング
--------------------------------------------------------------------------------
	適応：共通ボタン
*******************************************************************************/




.back_link {
	display: flex;
	margin-left: auto;
	font-size: clamp(0.938rem, 0.465rem + 0.98vw, 1.125rem);
	column-gap: clamp(0.313rem, -0.474rem + 1.64vw, 0.625rem);
	align-items: center;
}

.icon-back {
	display: block;
	width: 20px;
	background-color: #252a3e;

	mask-size: 100%;
	-webkit-mask-size: 100%;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-position: center;
	mask-image: url(./images/back_link-arrow.webp);
	-webkit-mask-image: url(./images/back_link-arrow.webp);
	aspect-ratio: 20 / 13;
}

@media screen and (min-width: 768px) {
	.work_foot {
		width: 95%;
	}

	.in_pager .back_link {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
}

@media screen and (max-width: 767px) {
	.work_foot {
		width: 100%;
		flex-direction: column;

		row-gap: 10px;
	}
}




.archive_pagination {
	width: fit-content;
	margin: 0 auto;
}

.archive_pagination-list {
	display: flex;
	font-weight: normal;
	column-gap: clamp(0.625rem, -0.217rem + 1.75vw, 0.938rem);
	align-items: center;
}

.page-numbers.current , .page-numbers.dots , .page-numbers a , .next a , .prev a {
	display: flex;
	height: 30px;
	justify-content: center;
}

.archive_pagination-around , .archive_pagination-current , .archive_pagination-numbers a {
	display: flex;
	min-height: clamp(1.875rem, -1.493rem + 7.02vw, 3.125rem);
	border-radius: 3px;
	color: #ffffff;
	justify-content: center;
	align-items: center;
}
.archive_pagination-current , .archive_pagination-numbers a {
	font-size: clamp(1.438rem, -0.584rem + 4.21vw, 2.188rem);

	aspect-ratio: 1/1;
}
.archive_pagination-around {
	font-size: clamp(1.438rem, -0.584rem + 4.21vw, 2.188rem);
}
.archive_pagination-prev {
	margin-right: clamp(0.313rem, -2.214rem + 5.26vw, 1.25rem);
}
.archive_pagination-next {
	margin-left: clamp(0.313rem, -2.214rem + 5.26vw, 1.25rem);
}
.archive_pagination-prev a {
	transform: rotateZ(180deg);
}
.archive_pagination-current {
	background-color: #25425c;
}
.archive_pagination-numbers a {
	background-color: #cccccc;
	transition: all 0.6s;
}
.archive_pagination-numbers a:hover {
	background-color: #25425c;
}
.archive_pagination-dots {
	overflow: hidden;
	margin: 0 clamp(0rem, -1.684rem + 3.51vw, 0.625rem);
	color: #cccccc;
	font-weight: normal;
	font-size: clamp(1.813rem, 0.634rem + 2.46vw, 2.25rem);
	line-height: 1.3887em;
	letter-spacing: 0.05em;
}

.set_top-obj {
	transform: translateY(100%) rotateZ(15deg);
	transform-origin: left top;
	opacity: 0;
	transition: all 1s;
	transition-delay: 0.2s;
}

.show_content {
	transform: translateY(0) rotateZ(0);
	opacity: 1;
}
