@charset "utf-8";
/* CSS Document -----------------------------

 2025.10.29

--------------------------------------------*/
/* Futura PT */
@import url("https://use.typekit.net/ohe4tfq.css");
/* Mukta Mahee */
@import url("https://use.typekit.net/jpz5uvj.css");
/* ----------------------------------------------

 * タグの設定

---------------------------------------------- */
a {
	display: inline-block;
	outline:none;
	color: #525050;
	cursor: pointer;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
    transition: all .3s ease;
	user-select: none;
}
a.link {position: absolute;top: 0;left: 0;z-index: 2;width: 100%;height: 100%;}
input,
input[type="submit"],
input[type="button"],
button {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	outline: none;
	color: #525050;
	font-style: normal;
	font-weight: 400;
	font-family: "noto-sans-cjk-jp", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",  "Noto Sans JP", "BIZ UDPGothic", Meiryo, sans-serif;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
textarea {
   -webkit-appearance: none;
   appearance: none;
   border-radius: 0;
   color: #525050;
}
select {
	font-family: "noto-sans-cjk-jp", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",  "Noto Sans JP", "BIZ UDPGothic", Meiryo, sans-serif;
    -webkit-appearance: none;
	 -moz-appearance: none;
    appearance: none;
}
select::-ms-expand{
	font-family: "noto-sans-cjk-jp", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",  "Noto Sans JP", "BIZ UDPGothic", Meiryo, sans-serif;
}
/*------------------------------------------------*/
html {
	margin: 0;
	padding: 0;
	background: #FBFBFB;
	color: #525050;
	font-size: 62.5%;
	font-family: "noto-sans-cjk-jp", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans",  "Noto Sans JP", "BIZ UDPGothic", Meiryo, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.7;
	-webkit-font-smoodting: antialiased;
	-moz-osx-font-smoodting: grayscale;
	word-break: break-all;
}
body {font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);line-height: 1.7;}
h2,h3,h4,h5 {line-height: 1.4;}
p {font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);line-height: 1.7;}
li,th,td,dt,dd,figcaption {line-height: 1.7;}
a img {-webkit-backface-visibility: hidden;backface-visibility: hidden;}
.FuturaBook {font-family: "futura-pt", sans-serif;font-weight: 400;font-style: normal;}
.FuturaM {font-family: "futura-pt", sans-serif;font-weight: 500;font-style: normal;}
.FuturaPTD {font-family: "futura-pt", sans-serif;font-weight: 600;font-style: normal;}
.MuktaMaheeM {font-family: "mukta-mahee", sans-serif;font-weight: 500;font-style: normal;}
.inner {width: 90%;max-width: 1528px;margin: 0 auto;}
.blank {
	padding-top: clamp(50px, calc(50px + 70 * ((100vw - 375px) / 1545)), 120px);
	padding-bottom: clamp(70px, calc(70px + 80 * ((100vw - 375px) / 1545)), 150px);
}
.blank2 {
	padding-top: clamp(100px, calc(100px + 100 * ((100vw - 375px) / 1545)), 200px);
	padding-bottom: clamp(60px, calc(60px + 100 * ((100vw - 375px) / 1545)), 160px);
}
.blank3 {padding-top: clamp(50px, calc(50px + 70 * ((100vw - 375px) / 1545)), 120px);}
.flexbox {display: flex;flex-wrap: wrap;justify-content: space-between;}
/* Title */
.title_common {margin-bottom: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);text-align: center;}
.title_common p {display: inline-block;margin-bottom: 20px;text-align: center;}
.title_common p span {
	position: relative;
	display: inline-block;
	margin: 0 0 10px 15px;
	padding: 0 20px;
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
	letter-spacing: .1em;
	text-align: center;
}
.title_common p span::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #019CDE;
}
.title_common p img {display: block;width: 80%;margin: 0 auto;}
.title_common h2 {
	display: block;
	position: relative;
	color: #1B5289;
	font-size: clamp(38px, calc(38px + 46 * ((100vw - 375px) / 1545)), 84px);
	line-height: 1;
	letter-spacing: .05em;
	text-align: center;
}
/* Border */
span.border {
	display: block;
	position: relative;
	width: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	height: 8px;
	border-radius: 45px;
	background: #fff;
}
span.border::before,
span.border::after {
	content: '';
	position: absolute;
	z-index: 1;
	height: 100%;
	border-radius: 45px;
}
span.border::before {width: 50%;background: #AFDAED;}
span.border::after {
	left: 50%;
	z-index: 2;
	transform: translateX(-50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #D3EEF9;
}
/* Arrow */
.arrow {
	display: block;
	width: clamp(28px, calc(28px + 20 * ((100vw - 375px) / 1545)), 48px);
	height: clamp(28px, calc(28px + 20 * ((100vw - 375px) / 1545)), 48px);
	border: 1px solid #019CDE;
	border-radius: 50%;
	background: #fff url(img/common/Icon_arrowR-blue.svg) no-repeat center / 40%;
	transition: .3s;
}
/* Read */
a.read {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-left: auto;
	padding: clamp(10px, calc(10px + 5 * ((100vw - 375px) / 1545)), 15px) clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
	box-shadow: 4px 5px 6px rgba(0, 0, 0, 16%);
	border-radius: .5em;
	background: #EBF9FF;
	font-weight: 500;
	font-size: clamp(14px, calc(14px + 12 * ((100vw - 375px) / 1545)), 26px);
	letter-spacing: .1em;
}
a.read:hover {transform: translateY(5px);box-shadow: 1px 1px 3px rgba(0, 0, 0, 16%);}
a.read img:nth-child(1) {width: clamp(26px, calc(26px + 20 * ((100vw - 375px) / 1545)), 46px);}
a.read:hover .arrow {background-color: #019CDE;background-image: url(img/common/Icon_arrowR-wht.svg);}
a[href^="tel:"] {pointer-events: none;}
.pc,.pc2 {display: block;}
.pad{display: block;}
.pad2{display: none;}
.sp,.sp2 {display: none;}
@media only screen and ( max-width : 1024px ) {.pad{display: none;}.pad2{display: block;}}
@media only screen and ( max-width : 767px ) {
	a[href^="tel:"] {pointer-events: visible;}
	.pc {display: none;}
	.pad2{display: none;}
	.sp {display: block;}
}
@media only screen and ( max-width : 500px ) {
	.pc2 {display: none;}
	.sp2 {display: block;}
}
/*------------------------------------------------

    header

------------------------------------------------*/
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
    padding: 10px 25px;
	backdrop-filter: blur(12px);
	background: rgba(255, 255, 255, .5);
	transition: .3s;
}
header .logo {position: relative;z-index: 2;}
header .logo img {width: clamp(100px, calc(100px + 43 * ((100vw - 375px) / 1545)), 143px);}
header nav ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(10px, calc(10px + 40 * ((100vw - 375px) / 1545)), 50px);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}
header nav ul li a {position: relative;font-weight: 500;font-size: clamp(12px, calc(12px + 6 * ((100vw - 375px) / 1545)), 18px);}
header nav ul li a:hover {color: #019CDE;}
header nav ul li a::before {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 0;
	height: 1px;
	background: #019CDE;
	transition: .3s;
}
header nav ul li:hover a::before {width: 100%;}
header nav .entry {position: relative;z-index: 2;}
header nav .entry a {
	width: 200px;
	padding: 5px 0 10px;
	border-radius: 18px;
	background: linear-gradient(90deg, #019CDE 0%, #004EE9 50%, #019CDE 100%);
	background-size: 200% 100%;
	text-align: center;
}
header nav .entry:hover a {background-position: 100% 0;color: #3D3D3D;}
header nav .entry a::before {display: none;}
header nav .entry a span {
	display: inline-block;
	position: relative;
	margin-bottom: 5px;
	padding-left: 10px;
	font-weight: bold;
	font-size: 1rem;
	letter-spacing: .1em;
}
header nav .entry a span::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #fff;
}
header nav .entry a p {
	color: #fff;
	font-size: clamp(22px, calc(22px + 10 * ((100vw - 375px) / 1545)), 32px);
	line-height: 1;
	letter-spacing: .05em;
	text-align: center;
	transition: .3s;
}
header nav .entry:hover p {letter-spacing: .2em;}
/* dropdown menu */
header nav ul li.has-child {position: relative;padding: 5px 0;}
header nav ul li.has-child .tab_title {position: relative;padding-right: 20px;}
header nav ul li.has-child .tab_title::after {
    content: '';
    position: absolute;
	top: -5%;
	right: 0;
    z-index: 1;
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    border-right: 1px solid #3D3D3D;
    border-bottom: 1px solid #3D3D3D;
    transition: .3s;
}
header nav ul li.has-child:hover .tab_title::after {transform: translate(0, 50%) rotate(-135deg);}
header nav ul li.has-child ul {
	display: block;
	visibility: hidden;
	opacity: 0;
    position: absolute;
    top: 100%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
    width: max-content;
	transition: .3s;
}
header nav ul li.has-child:hover ul {visibility: visible;opacity: 1;}
header nav ul li.has-child ul li a {display: block;position: relative;padding: 10px 50px 10px 10px;background: #fff;}
header nav ul li.has-child ul li:last-child a {border-bottom: 0;}
header nav ul li.has-child ul li a:hover {color: #9A9A9A;}
header nav ul li.has-child ul li a::after {
	content: '〉';
    position: absolute;
    top: 50%;
	right: 4px;
    transform: translateY(-50%);
	transition: .3s;
}
header nav ul li.has-child ul li a:hover::after {right: 0;}
header nav ul li.has-child ul li a::before {bottom: 0;}
header nav ul li.has-child:hover ul li a::before {display: none;}
header .hamburger {display: none;}
@media only screen and ( max-width : 1024px ) {
	header {padding: 10px 20px;}
	header .hamburger {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
		z-index: 30;
		width: 40px;
		height: 40px;
		padding: 8px;
		border: none;
		border-radius: 5px;
		background: #019CDE;
		overflow: hidden;
		cursor: pointer;
		transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	}
	header .hamburger span {
		display: block;
		position: absolute;
		width: 24px;
		height: 2px;
		border-radius: 2px;
		background: #fff;
		transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		transform-origin: center;
	}
	header .hamburger span:nth-child(1) {top: 12px;}
	header .hamburger span:nth-child(2) {top: 20px;}
	header .hamburger span:nth-child(3) {top: 28px;}
	header .hamburger.is-active span:nth-child(1) {transform: rotate(45deg) translate(6px, 5px);}
	header .hamburger.is-active span:nth-child(2) {opacity: 0;transform: translateX(20px);}
	header .hamburger.is-active span:nth-child(3) {transform: rotate(-45deg) translate(6px, -6px);}
	/* ナビゲーションメニュー */
	header nav {
		align-items: flex-start;
		justify-content: flex-start;
		position: fixed;
		top: 0;
		right: -100%;
		z-index: 20;
		width: 80%;
		max-width: 320px;
		height: 100vh;
		padding: 80px 30px 30px;
		background: #fff;
		backdrop-filter: blur(20px);
		border-left: 1px solid rgba(48, 54, 61, 0.3);
		box-shadow: -10px 0 30px rgba(0, 0, 0, 0.3);
		transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	}
	header nav.is-active {right: 0;}
	header nav ul {display: block;position: initial;transform: none;}
	header nav ul li,
	header nav .entry {opacity: 0;transform: translateX(30px);transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
	header nav.is-active ul li,
	header nav.is-active .entry {opacity: 1;transform: translateX(0);}
	header nav.is-active ul li:nth-child(1) {transition-delay: .1s;}
	header nav.is-active ul li:nth-child(2) {transition-delay: .2s;}
	header nav.is-active ul li:nth-child(3) {transition-delay: .3s;}
	header nav.is-active ul li:nth-child(4) {transition-delay: .4s;}
	header nav.is-active ul li:nth-child(5) {transition-delay: .5s;}
	header nav.is-active ul li:nth-child(6) {transition-delay: .6s;}
	header nav.is-active .entry {transition-delay: .7s;}
	header nav ul li a {font-size: 1.4rem;}
	/* dropdown menu */
	header nav ul li {margin-bottom: 20px;}
	header nav ul li.has-child {padding: 0;}
	header nav ul li.has-child:hover::before {transform: rotate(45deg);}
	header nav ul li.has-child.active::before {transform: rotate(-135deg);}
	header nav ul li.has-child ul {display: none;opacity: 1;visibility: visible;position: relative;width: 100%;transition: none;}
	header nav ul li.has-child ul li {margin-bottom: 0;}
}
/*-------------------------------------------------

	INTERVIEW │ インタビュー

--------------------------------------------------*/
#interview .title_common {
	padding: 20px 0 clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	background: linear-gradient(-45deg, #004EE9, #019CDE 30%);
}
#interview .title_common p span::before {background: #fff;}
#interview .title_common h2 {color: #AFDAED;}
#interview .title_common h2 span.color {color: #fff;}
#interview .inner {max-width: 1534px;}
#interview ul {display: grid;grid-template-columns: repeat(5, 1fr);gap: 20px;margin: 0 20px;}
#interview ul li {
	position: relative;
	padding-bottom: 5vw;
	overflow: hidden;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
	border-radius: 1.5em;
	background: #fff;
}
#interview ul li .plus {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 1vw;
	right: 1vw;
	z-index: 1;
	width: 2.5vw;
	height: 2.5vw;
	border-radius: 50%;
	background: #019CDE;
	transition: .3s;
}
#interview ul li:hover .plus {background: #39BBF3;}
#interview ul li .plus img {width: 50%;}
#interview ul li .img_wrap {position: relative;}
#interview ul li .img_wrap figure {overflow: hidden;border-radius: 1.5em;}
#interview ul li .img_wrap figure img {transition: .5s;}
#interview ul li:hover .img_wrap figure img {transform: scale(1.1);}
#interview ul li .img_wrap p {
	position: absolute;
	bottom: 0;
	left: 1vw;
	transform: translateY(50%);
	color: #019CDE;
	font-size: 3vw;
	line-height: 1;
	letter-spacing: .05em;
}
#interview ul li .txt_wrap {padding: 2vw 1.5vw 0;}
#interview ul li .txt_wrap dl {display: flex;align-items: center;gap: 1.2vw;position: absolute;bottom: .5vw;left: 1vw;}
#interview ul li .txt_wrap dl dt {color: #019CDE;font-size: 2.3vw;letter-spacing: .05em;}
#interview ul li .txt_wrap dl dd {flex: 1;font-size: .8vw;line-height: 1.4;}
@media only screen and ( max-width : 1024px ) {
	#interview ul {grid-template-columns: repeat(3, 1fr);}
	#interview ul li .plus {top: 1.5vw;right: 1.5vw;width: 4vw;height: 4vw;}
	#interview ul li .img_wrap p {left: 1.5vw;font-size: 4.5vw;}
	#interview ul li .txt_wrap {padding: 3vw 2vw 1vw;}
	#interview ul li .txt_wrap dl {left: 2vw;}
	#interview ul li .txt_wrap dl dt {font-size: 3.3vw;}
	#interview ul li .txt_wrap dl dd {font-size: 1.2vw;}
}
@media only screen and ( max-width : 767px ) {
	#interview ul {grid-template-columns: repeat(2, 1fr);}
	#interview ul li .plus {width: 6vw;height: 6vw;}
	#interview ul li .img_wrap p {font-size: 6.5vw;}
	#interview ul li .txt_wrap {padding-bottom: 3vw;}
	#interview ul li .txt_wrap dl dt {font-size: 4vw;}
	#interview ul li .txt_wrap dl dd {font-size: 1.8vw;}
}
@media only screen and ( max-width : 500px ) {
	#interview ul {grid-template-columns: repeat(1, 1fr);}
	#interview ul li {display: flex;padding-bottom: 0;}
	#interview ul li .plus {top: 2.5vw;right: 2.5vw;}
	#interview ul li .img_wrap {width: 40%;}
	#interview ul li .img_wrap p {top: 1vw;transform: none;font-size: 8.5vw;}
	#interview ul li .txt_wrap {position: relative;width: 60%;padding: 10vw 3vw 7vw;}
	#interview ul li .txt_wrap dl {gap: 2.2vw;bottom: 1vw;left: 4vw;}
	#interview ul li .txt_wrap dl dt {font-size: 7vw;}
	#interview ul li .txt_wrap dl dd {font-size: 2.6vw;}
}
/*-----------------------------------------------

	Information

------------------------------------------------*/
#information {position: relative;z-index: 1;}
#information .inner {max-width: 100%;}
#information.entry::before {background-image: url(img/page/requirement/bg_entry.webp);}
#information.entry h2 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	color: #fff;
	font-weight: bold;
	font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
	letter-spacing: .1em;
	text-align: center;
}
#information.entry ul {justify-content: center;}
#information ul li {
	position: relative;
	width: 48%;
	padding: 3vw 0 6vw;
	border-radius: 2vw;
	background: linear-gradient(90deg, #019CDE 0%, #004EE9 50%, #019CDE 100%);
	background-size: 200% 100%;
	text-align: center;
	transition: .3s;
}
#information ul li:hover {background-position: 100% 0;}
#information ul li p.jp {
	display: inline-block;
	position: relative;
	margin-bottom: 2%;
	padding-left: 1.5vw;
	font-weight: bold;
	font-size: 1.4vw;
	letter-spacing: .1em;
}
#information ul li p.jp::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1vw;
	height: 1vw;
	border-radius: 50%;
	background: #fff;
}
#information ul li p.en {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: 3.2vw;
	line-height: 1;
	letter-spacing: .05em;
	text-align: center;
}
#information ul li p.en img:nth-child(1) {width: clamp(32px, calc(32px + 30 * ((100vw - 375px) / 1545)), 62px);}
#information ul li p.en img:nth-child(2) {width: clamp(36px, calc(36px + 30 * ((100vw - 375px) / 1545)), 66px);}
@media only screen and ( max-width : 767px ) {
	#information ul {gap: 20px;}
	#information ul li {width: 100%;padding: 5vw 0 8vw;}
	#information ul li p.jp {font-size: 2.4vw;}
	#information ul li p.en {font-size: 6.2vw;}
}
@media only screen and ( max-width : 500px ) {
	#information ul li p.jp {font-size: 3.4vw;}
	#information ul li p.en {font-size: 8.2vw;}
}
/*------------------------------------------------

    footer

------------------------------------------------*/
footer {
	position: relative;
	margin-top: 30%;
	padding-top: clamp(40px, calc(40px + 40 * ((100vw - 375px) / 1545)), 80px);
	padding-bottom: 30px;
	background: #747684;
	color: #fff;
}
footer::before {
	content: '';
	position: absolute;
	bottom: 112%;
	left: 0;
	z-index: -1;
	width: 100%;
	height: clamp(400px, calc(400px + 84 * ((100vw - 375px) / 1545)), 684px);
	background: url(img/common/information/bg.svg) no-repeat center bottom / cover;
}
footer .inner {max-width:1768px;}
footer .block1 {margin-bottom: clamp(70px, calc(70px + 66 * ((100vw - 375px) / 1545)), 136px);}
footer .block1 .container:nth-child(2) {width: 70%;}
footer .block1 .container:not(:last-child) {margin-bottom: clamp(40px, calc(40px + 40 * ((100vw - 375px) / 1545)), 80px);}
footer .block1 .container .logo {width: clamp(143px, calc(143px + 100 * ((100vw - 375px) / 1545)), 243px);margin-bottom: 20px;}
footer .block1 .container .content:not(:last-child) {margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);}
footer .block1 .container .content h3 {margin-bottom: 10px;}
footer .block1 .container .wrap {gap: 30px 2%;}
footer .block1 .container .wrap ul.list {display: grid;gap: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);}
footer .block1 .container .wrap ul.list li.item p {
	margin-bottom: 10px;
	color: #019CDE;
	font-size: clamp(17px, calc(17px + 10 * ((100vw - 375px) / 1545)), 27px);
	letter-spacing: .1em;
}
footer .block1 .container .wrap ul.list li.item a {position: relative;padding-left: 30px;color: #fff;font-weight: bold;line-height: 1.4;}
footer .block1 .container .wrap ul.list li.item a:hover {opacity: .5;}
footer .block1 .container .wrap ul.list li.item a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 18px;
	height: 100%;
	background: url(img/common/border-skyblue-wht.svg) no-repeat center / 100%;
	transition: .3s;
}
footer .block1 .container .wrap ul.list:nth-of-type(2) li.item ul li.name-only{position: relative;padding-left: 30px;color: #fff;font-weight: bold;}
footer .block1 .container .wrap ul.list:nth-of-type(2) li.item ul li.name-only::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 18px;
	height: 100%;
	background: url(img/common/border-skyblue-wht.svg) no-repeat center / 100%;
	transition: .3s;
}
footer .block1 .container .wrap ul.list:nth-of-type(2) li.item ul li.num ol {margin-left: 30px;}
footer .block1 .container .wrap ul.list:nth-of-type(2) li.item ul li.num ol li {position: relative;counter-increment: num;margin-bottom: 10px;}
footer .block1 .container .wrap ul.list:nth-of-type(2) li.item ul li.num ol li::before {content: counter(num)'.';color: #019CDE;position: absolute;top:-0.3em;left: 5px;}
footer .block1 .container .wrap ul.list li.item ul {display: grid;gap: 10px;}
footer .block2 {width: 40%;margin-bottom: 30px;}
footer .block2 ul li {width: 45%;}
footer .block2 ul li a {
	display: block;
	position: relative;
	padding: 0 5px 7px;
	border-bottom: 1px solid #fff;
	color: #fff;
	letter-spacing: .1em;
}
footer .block2 ul li a:hover {opacity: .5;}
footer .block2 ul li a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
	background: url(img/common/footer/Icon_window.svg) no-repeat center / 100%;
}
footer .block1 .container .wrap ul.list:nth-of-type(2) li.item ul li.num ol li a span{display: block;font-weight:400;font-size: 0.9em;padding-top:3px;}
footer .block1 .container .wrap ul.list:nth-of-type(2) li.item ul li.num ol li a::before{content: none;}
footer .block3 {position: relative;padding-top: 15px;border-top: 1px solid #fff;}
footer .block3 small {display: block;font-size: 1.2rem;text-align: right;letter-spacing: .1em;}
@media only screen and ( max-width : 1024px ) {
	footer::before {bottom: 105%;}
	footer .block1 .container:nth-child(2) {width: 100%;}
	footer .block1 .container .wrap {gap: 30px;}
	footer .block2 {width: 100%;}
}
@media only screen and ( max-width : 767px ) {
	footer .block1 .container:nth-child(2) {width: 100%;}
}
@media only screen and ( max-width : 500px ) {
	footer::before {bottom: 99%;}
	footer .block2 ul {gap: 10px;}
	footer .block2 ul li {width: 100%;}
	footer .block2 ul li a {display: inline-block;padding-right: 20px;}
}
/*--------------------------------------------------

　   back top

--------------------------------------------------*/
.page_top {
	display: block;
	position: fixed;
	bottom: 5%;
	right: 2%;
	z-index: 10;
	width: clamp(60px, calc(60px + 40 * ((100vw - 375px) / 1545)), 100px);
	user-select: none;
}
/*-----------------------------------------------

	404 Not Found

------------------------------------------------*/
#notfound {
	padding-top: clamp(130px, calc(130px + 20 * ((100vw - 375px) / 1545)), 150px);
	padding-bottom: clamp(70px, calc(70px + 30 * ((100vw - 375px) / 1545)), 100px);
}
#notfound h2 {margin-bottom: 50px;text-align: center;}
#notfound h2 span {display: block;font-size: 2.3em;text-align: center;}
#notfound p {margin-bottom: 40px;text-align: center;}
#notfound a {
	display: block;
	position: relative;
	z-index: 1;
	width: 70%;
	max-width: 300px;
	margin: 0 auto;
	padding: 15px;
	border: 1px solid #363636;
	background: #363636;
	color: #fff;
	text-align: center;
}
#notfound a:hover {color: #363636;}
#notfound a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
	z-index: -5;
	background: #fff;
	color: #363636;
}
#notfound a:hover::after {transform-origin: left top;transform: scale(1, 1);}
#notfound a span {display: block;position: relative;text-align: center;}