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

number style
font-family: "Jost", sans-serif;

*/
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* tablet+PC用 */
	main .sec00, main .feature--sec00 {
		position: relative;
		top: -135px; /* ヘッダーの高さに合わせる */
		padding-top: 135px; /* ずれを防ぐ */
	}
	.support .sec00, .guide .sec00 {
		top: 0;
	}
}
.about #sec01 .deco01 {
	position: absolute;
	left: 0%;
	top: 124px;
	transform: translateX(-7%);
	width: 219px;
	height: 219px;
	z-index: 3;
}
.about #sec01 .deco02 {
	position: absolute;
	left: 11.8%;
	top: 305px;
	width: 71px;
	height: 71px;
	z-index: 4;
}
.about #sec01 .deco03 {
	position: absolute;
	left: 5.4%;
	top: 424px;
	width: 91px;
	height: 91px;
	z-index: 5;
}
.about #sec01 .deco04 {
	position: absolute;
	right: 10.6363%;
	top: 134px;
	width: 40px;
	height: 40px;
	z-index: 3;
}
.about #sec01 .deco05 {
	position: absolute;
	right: 12px;
	top: 147px;
	width: 62px;
	height: 61px;
	z-index: 4;
}
.about #sec01 .deco06 {
	position: absolute;
	right: 0;
	top: 235px;
	transform: translateX(7%);
	width: 219px;
	height: 219px;
	z-index: 5;
}
.about #sec01 .deco07 {
	position: absolute;
	right: 13.36363636%;
	top: 411px;
	width: 97px;
	height: 97px;
	z-index: 6;
}
/* lower common
-------------------------------------------------- */
main {}
.crumb a {
	margin-bottom: 1.5em;
	padding-right: 1.5em;
	position: relative;
}
.crumb a::after {
	content: '>';
	position: absolute;
	right: .25em;
	top: 50%;
	transform: translateY(-65%);
}
.lower--ttl--area .ttl--en {
	margin: 0 auto 15px;
}
.lower--ttl--area h1 {
	margin-bottom: 12px;
	font-size: 3.8em;
	font-weight: 900;
	letter-spacing: .1em;
	text-align: center;
	color: #004097;
}
.lower--ttl--area .page--icn {
	margin: 0 auto;
}
.ul--page--anc {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.ul--page--anc li {
	position: relative;
	font-size: 2em;
	font-weight: 900;
	letter-spacing: .1em;
	text-align: center;
	color: #004097;
}
.ul--page--anc li::after {
	content: '';
	position: absolute;
	bottom: 5px;
	left: 50%;
	transform: translateX(-50%) rotate(-45deg);
	width: 14px;
	height: 14px;
	border-radius: 3px;
	border-left: 2px solid #004097;
	border-bottom: 2px solid #004097;
	transition: .4s all;
}
.ul--page--anc li:hover {
	cursor: pointer;
}
.ul--page--anc li:hover::after {
	bottom: 0;
}
.ul--page--anc li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 54px;
	width: 1px;
	background: #004097;
}
.ul--page--anc li:first-of-type::before {
	height: 0;
}
.ul--page--anc li a {
	color: #004097;
}
section h3 {
	position: relative;
	margin-bottom: 2.2em;
	padding-bottom: 20px;
	font-size: 3em;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	letter-spacing: 0.05em;
	color: #004097;
}
section h3 small {
	display: block;
	font-size: .66667em;
}
section h3::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 62px;
	height: 6px;
	background: #ffe100;
}
.kv--catch.inner {
	margin: 82px auto 75px;
}
.kv--catch h2 {
	font-size: 3.6em;
}
.lower p.lead {
	font-size: 1.8em;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: .1em;
	text-align: center;
}
.lower p.lead.att {
	margin-top: 1.1em;
	font-size: 1.6em;
	color: #ff0000;
}
.sec00 {
	scroll-margin-top: 68px;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	main {
		padding: 134px 0 0;
	}
	.inner {
		position: relative;
		max-width: 1100px;
		width: 96%;
		margin: 0 auto;
	}
	.crumb {
		max-width: 1100px;
		width: 96%;
		margin: 0 auto 35px;
		font-size: 14px;
	}
	.lower--ttl--area {
		padding-bottom: 58px;
	}
	.lower--kv--inner {
		position: relative; /*max-width:1600px;*/ width: 100%;
		margin: 0 auto;
	}
	.ul--page--anc {
		position: relative;
		max-width: 796px;
		margin: 90px auto 100px;
		z-index: 6;
	}
	.ul--page--anc li {
		padding-bottom: 1.2em;
	}
	section h2 {
		margin-bottom: .8em;
		font-size: 3em;
		letter-spacing: .05em;
		line-height: 1.5;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.lower--ttl--area h1 {
		font-size: min(7vw, 3.5em)
	}
	.kv--catch {
		margin: 2.5em 0 15%;
	}
	.kv--catch h2 {
		padding: 0 1em;
		font-size: 2.4em;
		line-height: 1.5;
	}
}
@media (max-width: 480px) {
	/* SP用 */
	main {
		padding-top: 9.6em;
	}
	.inner {
		position: relative;
	}
	.lower--kv--inner {
		margin: 25px 0 40px;
	}
	.kv--catch h2 {
		font-size: min(4.5vw, 18px);
	}
	.kv--catch.inner {
		margin: 40px auto 40px;
	}
	.ul--page--anc {
		margin: 0 10% 15%;
		grid-template-columns: repeat(2, 1fr);
	}
	.ul--page--anc li {
		margin-bottom: 1em;
		padding-bottom: 1.1em;
	}
	.ul--page--anc li::before {
		height: 30px;
	}
	.ul--page--anc li:nth-child(odd)::before {
		height: 0;
	}
	.ul--page--anc li::after {
		width: 9px;
		height: 9px;
	}
	section h2 {
		margin-bottom: .8em;
		font-size: min(7.5vw, 3em);
	}
	.lower p.lead {
		font-size: 1.4em;
		line-height: 1.9;
	}
	.lower p.lead.att {
		font-size: 1.6em;
	}
}
/* about
-------------------------------------------------- */
.about .lower--ttl--area .ttl--en {
	width: 79px;
}
.about .lower--ttl--area .page--icn {
	width: 60px;
}
.about--msg p {
	margin-bottom: 2em;
	font-size: min(17.2px);
	font-weight: bold;
	line-height: 2.5;
	letter-spacing: .1em;
}
.about--msg .sign {
	margin-top: 3em;
	font-size: 2em;
	font-weight: bold;
	text-align: right;
	letter-spacing: .2em;
	color: #004097;
}
.about--catch h3 {
	position: relative;
	margin-bottom: 0px;
	text-align: center;
}
.about--catch dl + dl {
	margin-top: 25px;
}
.about--catch h3 span {
	position: relative;
	padding: 0 1em;
	font-size: .66667em;
	font-weight: bold;
	letter-spacing: .2em;
	color: #004097;
	background: #fff;
	z-index: 2;
}
.about--catch h3::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -5px);
	width: 100%;
	height: 1px;
	background: #004097;
}
.about--catch dd {
	padding: .8em 0 1em;
	font-size: 4em;
	font-weight: 900;
	text-align: center;
	letter-spacing: .2em;
	color: #004097;
}
.about #sec01 h2 .sub {
	width: 84px;
}
.about #sec02 {
	padding: 100px 0 95px;
	background: #dff0ff;
}
.about #sec02 h2 .sub {
	width: 79px;
}
.about--history_01 .timeline {}
.about--history_01 .timeline dl {
	position: relative;
	padding-left: 30px;
	line-height: 1.9;
}
.about--history_01 .timeline dl::before {
	content: '';
	position: absolute;
	top: 2.2em;
	left: 10px;
	width: 2px;
	height: 98%;
	background: #004097;
}
.about--history_01 .timeline dt {
	position: relative;
	font-family: "Jost", sans-serif;
	font-size: 24px;
	font-weight: 500;
	color: #004097;
}
.about--history_01 .timeline dt::before {
	content: '';
	position: absolute;
	top: .64em;
	left: -26px;
	width: 15px;
	height: 15px;
	border-radius: 15px;
	background: #004097;
}
.about--history_01 .timeline dd {
	margin-bottom: 1.2em;
	font-size: 18px;
}
.about #sec03 {
	padding: 100px 0 95px;
}
.about #sec03 h2 .sub {
	width: 82px;
}
.about #sec04 h2 .sub {
	width: 76px;
}
.about--facility_01, .about--facility_02, .about--facility_03 {
	position: relative;
}
.about--history_01 .ph p {
	margin: .6em 0 1.7em;
	font-size: 1.4em;
}
.about--facility_02 {
	margin: 60px 0 60px;
	padding: 38px 0;
	border-top: 1px solid #004097;
	border-bottom: 1px solid #004097;
}
.about--facility_02 .ttl {
	margin-bottom: 12px;
	font-size: 2em;
	font-weight: bold;
	color: #004097;
}
.about--facility_02 .txt p {
	font-size: 18px;
	line-height: 1.5;
}
.about--facility_03 .ttl {
	margin-bottom: 12px;
	font-size: 2em;
	font-weight: bold;
	color: #004097;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.about--msg, .about--catch {
		max-width: 796px;
		margin: 0 auto 100px;
	}
	.about #sec02 h2 {
		margin-bottom: 30px;
	}
	.about--history_01 {
		display: flex;
		justify-content: space-between;
	}
	.about--history_01 .timeline {}
	.about--history_01 .ph {
		width: 41.3833528%;
	}
	.about--catch h3 span {
		font-size: 1em;
	}
	.about--catch h3::after {
		transform: translate(0, -10px);
	}
	.about--uni {
		display: flex;
		justify-content: space-between;
	}
	.about--uni img {
		width: 31.18181818%
	}
	.about--facility_01 .ph {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 58px;
		margin: 100px 0 60px;
	}
	.about--facility_02 .fx {
		display: flex;
		justify-content: space-between;
	}
	.about--facility_02 .fxch {
		width: 48%;
	}
	.about--facility_02 .ph {
		margin-left: 15px;
	}
	.about--facility_02 .ph img {
		width: 220px;
	}
	.about--facility_02 .txt {
		width: calc(100% - 235px);
	}
	.about--facility_03 {
		max-width: 520px;
		margin: 0 auto;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
	.about--history_01 {
		padding: 0 13.18% 0 10.18%;
	}
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.about--msg, .about--catch {
		margin: 0 5.333% 100px;
	}
}
@media (max-width: 480px) {
	/* SP用 */
	.about--msg p {
		font-size: 1.4em;
		line-height: 2;
	}
	.about--catch h3 {
		padding-bottom: 0;
	}
	.about--catch h3 span {
		font-size: .66667em;
	}
	.about--catch dd {
		font-size: min(4.9vw, 20px)
	}
	.about #sec02 {
		padding: 12% 0 7%;
	}
	.about--history_01, .about--history_02, .about--history_03 {
		margin: 0 5.333%;
	}
	.about--history_01 .timeline dd {
		font-size: 1.4em;
	}
	.about--history_01 .ph {
		margin-top: 4em;
		text-align: center;
	}
	.about #sec03 {
		padding: 15% 5.3333% 10%;
	}
	.about--uni img {
		display: block;
		margin-bottom: 30px;
	}
	.about--facility_01 .ph {
		margin: 2.5em 5.33333% 0;
	}
	.about--facility_01 .ph img {
		display: block;
		margin-top: 30px;
	}
	.about--facility_02 {
		margin: 30px 5.3333%;
	}
	.about--facility_02 .ttl {
		text-align: center;
	}
	.about--facility_02 .ph {
		margin: 20px 15% 35px;
	}
	.about--facility_03 {
		max-width: none;
		margin: 0 5.3333%;
	}
	.about--facility_03 .ttl {
		margin: 30px auto 30px;
		text-align: center;
	}
}
/*---- about deco ----*/
.about #sec01 .deco01 {
	position: absolute;
	left: 0%;
	top: -12px;
	width: 71px;
	height: 71px;
	z-index: 3;
}
.about #sec01 .deco02 {
	position: absolute;
	left: auto;
	right: 0;
	top: 775px;
	transform: translateX(50%);
	width: 40px;
	height: 40px;
	z-index: 4;
}
.about #sec01 .deco03 {
	position: absolute;
	left: auto;
	right: 15px;
	top: 820px;
	width: 62px;
	height: 62px;
	z-index: 5;
}
.about #sec02 .deco01 {
	position: absolute;
	left: 80px;
	top: 0;
	transform: translateY(-145%);
	width: 91px;
	height: 91px;
	z-index: 3;
}
.about #sec03 .deco01 {
	position: absolute;
	left: 50%;
	top: -30px;
	transform: translateX(380%);
	width: 60px;
	height: 60px;
	z-index: 3;
}
.about #sec04 .deco01 {
	position: absolute;
	left: 13.8%;
	top: 0;
	transform: translateY(-145%);
	width: 64px;
	height: 64px;
	z-index: 4;
}
.about #sec04 .deco02 {
	position: absolute;
	right: -40%;
	top: 0px;
	width: 100px;
	height: 100px;
	z-index: 5;
}
.about #sec04 .deco03 {
	position: absolute;
	left: 0;
	bottom: 134px;
	transform: translateX(-200%);
	width: 75px;
	height: 75px;
	z-index: 3;
}
.about #sec04 .deco04 {
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translateX(-275%);
	width: 79px;
	height: 79px;
	z-index: 4;
}
@media (max-width: 480px) {
	/* SP用 */
	.about #sec01 .deco01 {
		position: absolute;
		left: 8%;
		top: -12px;
		transform: translate(0);
		width: 10%;
		height: 50px;
		z-index: 3;
	}
	.about #sec01 .deco02, .about #sec01 .deco03 {
		display: none;
	}
	.about #sec02 .deco01 {
		position: absolute;
		left: 10%;
		top: 0;
		transform: translateY(-145%);
		width: 11%;
		height: 40px;
		z-index: 3;
	}
	.about #sec03 .deco01 {
		position: absolute;
		left: auto;
		right: 7%;
		top: -20px;
		transform: translate(0);
		width: 11%;
		height: 50px;
		z-index: 3;
	}
	.about #sec04 .deco01 {
		position: absolute;
		left: 5.3333%;
		top: -20px;
		width: 12%;
		height: 50px;
		z-index: 4;
	}
	.about #sec04 .deco02 {
		position: absolute;
		right: 0%;
		top: -5px;
		width: 13%;
		height: 50px;
		z-index: 5;
	}
	.about #sec04 .deco03, .about #sec04 .deco04 {
		display: none;
		transform: translate(0);
	}
}
/* feature
-------------------------------------------------- */
.feature .lower--ttl--area .ttl--en {
	width: 100px;
}
.feature .lower--ttl--area .page--icn {
	width: 73px;
}
.feature .section--ttl {}
.feature .icn--num {
	width: 74px;
	margin: 0 auto 35px;
}
.feature .section--ttl h2 {
	margin-bottom: 30px;
}
.feature .section--ttl h2 span {
	position: relative;
	padding: 0 5px;
	letter-spacing: .1em;
}
.feature .section--ttl h2 span::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translateY(-1px);
	width: 100%;
	height: 18px;
	background: #ffe600;
	z-index: -1;
}
.feature--sec00 .ex {
	font-size: 1.8em;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: .1em;
}
.ul--feature--tags {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 20px;
	grid-row-gap: 10px;
	margin: 20px 0 50px;
}
.ul--feature--tags li {
	padding: 5px 0 7px;
	font-size: 1.8em;
	font-weight: bold;
	color: #004097;
	text-align: center;
	border: 1px solid #004097;
	border-radius: 5px;
}
.ul--feature--tags li .s01 {
	display: inline-block;
	transform: scaleX(.9);
	letter-spacing: -.07em;
	white-space: nowrap;
}
.feature--slider .slick-arrow {
	width: 25px;
	height: 25px;
}
.slick-prev {
	margin-left: -30px;
}
.slick-next {
	margin-right: -30px;
}
.feature--slider .slick-arrow::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 25px;
	height: 25px;
}
.feature--slider .slick-prev::after {
	transform: rotate(180deg);
	background: url("../img/feature/ar_slider.svg") center right no-repeat;
	background-size: auto 100%;
}
.feature--slider .slick-next::after {
	background: url("../img/feature/ar_slider.svg") center right no-repeat;
	background-size: auto 100%;
}
.feature--slider--thumb {}
.feature--slider--thumb .slick-active img {
	border: 5px solid #fff;
	border-radius: 10px;
}
.feature--slider--thumb .slick-current img {
	border: 5px solid #004097;
	border-radius: 10px;
}
.feature--sec00 .slick-dots li {
	width: 6px;
	height: 6px;
}
.feature--sec00 .slick-dots li button {
	width: 6px;
	height: 6px;
	border: none;
	background: #c8c8c8;
	border-radius: 7px;
}
.feature--sec00 .slick-dots .slick-active button {
	background: #004097;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.feature--sec00 .inner {
		max-width: 800px;
	}
	.feature--slider--thumb {
		margin: 40px 60px 0;
	}
	.feature--thumb--item {
		padding: 0 7px;
	}
	.feature--sec00 {
		margin: 0 0 100px;
	}
	.feature--sec00 #sec04 {
		margin-bottom: 200px;
	}
	.feature--slider--single {
		margin-top: 50px;
	}
	.feature--sec00 .slick-dots {
		height: 0;
		opacity: 0;
		visibility: hidden;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.feature--sec00 .ex {
		font-size: 1.8em;
		font-weight: bold;
		line-height: 1.7;
		letter-spacing: .1em;
	}
	.ul--feature--tags {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 12px;
		grid-row-gap: 6px;
	}
	.ul--feature--tags li {
		padding: 5px 0 6px;
		font-size: 1.4em;
	}
	.feature--sec00 {
		margin: 0 2.33333% 95px;
	}
	.feature--slider--thumb {
		height: 0;
		opacity: 0;
		visibility: hidden;
	}
	.feature .feature--slider .slick-arrow {
		display: none !important;
		visibility: hidden;
		opacity: 0;
		width: 0;
	}
	main.feature {
		overflow-x: hidden;
	}
}
@media (max-width: 480px) {
	/* SP用 */
	.feature .section--ttl h2 {
		font-size: min(6.5vw, 18px);
		white-space: nowrap;
	}
	.feature .section--ttl h2 span::after {
		bottom: -2px;
		height: 12px;
	}
	.feature--sec00 {
		margin: 0 5.33333% 95px;
	}
	.feature--sec00 .ex {
		font-size: 1.4em;
	}
	.ul--feature--tags {
		margin: 20px 0 25px;
	}
	.ul--feature--tags li {
		font-size: min(4.1vw, 12px);
		white-space: nowrap;
	}
	.feature--slider--single {
		margin-top: 20px;
	}
	.feature--sec00 .slick-dots li {
		margin: 0 8px;
	}
}
/*---- feature deco ----*/
.feature .deco01 {
	position: absolute;
	left: 0%;
	top: 0px;
	transform: translate(0, 0);
	width: 61px;
	height: 63px;
	z-index: 3;
}
.feature .deco02 {
	position: absolute;
	right: 0%;
	top: 0px;
	transform: translate(60%, 5%);
	width: 75px;
	height: 75px;
	z-index: 4;
}
.feature .deco03 {
	position: absolute;
	left: 0%;
	top: 0px;
	transform: translate(0, 165%);
	width: 40px;
	height: 40px;
	z-index: 4;
}
.feature .deco04 {
	position: absolute;
	right: 0%;
	top: 0px;
	transform: translate(-0%, 1%);
	width: 65px;
	height: 66px;
	z-index: 4;
}
.feature .deco05 {
	position: absolute;
	right: 0%;
	top: 0px;
	transform: translate(90%, 140%);
	width: 57px;
	height: 57px;
	z-index: 4;
}
.feature .deco06 {
	position: absolute;
	left: 0%;
	top: 0px;
	transform: translate(-20%, -20%);
	width: 75px;
	height: 75px;
	z-index: 4;
}
.feature .deco07 {
	position: absolute;
	right: 0%;
	top: 0px;
	transform: translate(70%, -80%);
	width: 75px;
	height: 75px;
	z-index: 4;
}
.feature .deco08 {
	position: absolute;
	right: 0%;
	top: 0px;
	transform: translate(-60%, -20%);
	width: 60px;
	height: 60px;
	z-index: 4;
}
.feature .deco09 {
	position: absolute;
	left: 0%;
	top: 0px;
	transform: translate(-50%, 50%);
	width: 78px;
	height: 78px;
	z-index: 4;
}
.feature .deco10 {
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translate(-35%, 185%);
	width: 62px;
	height: 61px;
	z-index: 4;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.feature .deco01 {
		position: absolute;
		left: 5.333%;
		top: 0px;
		transform: translate(0, 150%);
		width: 8.555%;
		height: 63px;
		z-index: 3;
	}
	.feature .deco02 {
		position: absolute;
		right: 0;
		top: 0px;
		transform: translate(0, 75%);
		width: 9%;
		height: 50px;
		z-index: 4;
	}
	/*.feature .deco03 { position: absolute; right: 5.333%; top:0px; transform: translate(0,0); width:11.2%; height:60px; z-index: 4;}
	.feature .deco04 { position: absolute; left: 16.45%; top: 0px; transform: translate(0, 657%); width: 32px; height: 40px; z-index: 4;}
	.feature .deco05 { position: absolute; left: 0; top: 0px; transform: translate(58%, 2091.538461%); width: 7.2%; height: 50px; z-index: 4;}
	.feature .deco06 { position: absolute; left: 16.8%; bottom: 55px; transform: translate(0, -426.3%); width: 5.9%; height: 60px; z-index: 4;}
	.feature .deco07 { position: absolute; left: 16.4%; bottom: 55px; transform: translate(0, -598.7%); width: 3.4%; z-index: 4;}
	.feature .deco08 { position: absolute; left: 7%; bottom:15px; width:11%; height:58px; transform: translate(0,0); z-index: 4;}

	.feature .deco09 { position: absolute; right: 0%; top:0px; transform: translate(20%, -30%); width: 10.5%; height: 50px; z-index: 4;}
	.feature .deco10 { position: absolute; left: 0; bottom:0; transform: translate(-5%, 104%); width: 8.9%; height: 45px; z-index: 4;}*/
	.feature .deco03, .feature .deco04, .feature .deco05, .feature .deco06, .feature .deco07, .feature .deco08, .feature .deco09, .feature .deco10 {
		display: none;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* life
-------------------------------------------------- */
.life .lower--ttl--area .ttl--en {
	width: 47px;
}
.life .lower--ttl--area .page--icn {
	width: 35px;
}
.life #sec01 {
	padding-bottom: 50px;
}
.life .life--timeline .act {
	position: relative;
	display: flex;
	justify-content: space-between;
	background: url("../img/life/bg_time.svg") 56px bottom no-repeat;
	background-size: 33px;
}
.life .life--timeline .act:last-of-type {
	background: none;
}
.life .time {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 145px;
	height: 145px;
	text-align: center;
	background: url("../img/life/bg_clock.png") center center no-repeat;
	background-size: 100% auto;
}
.life .time p {
	font-size: 2.4em;
	font-weight: bold;
	color: #004097;
	line-height: 1.3;
	text-align: center;
	letter-spacing: .08em;
}
.life--season .season .ttl {
	font-size: 4em;
	font-weight: 700;
	color: #004097;
}
.life--season .season .ttl span {
	position: relative;
}
.life--season .season .ttl span::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -6px;
	width: 40px;
	height: 5px;
	border-radius: 3px;
}
.life--season .season_01 .ttl span::after {
	background: #ffe100;
}
.life--season .season_02 .ttl span::after {
	background: #00b4e7;
}
.life--season .season_03 .ttl span::after {
	background: #ffa500;
}
.life--season .season_04 .ttl span::after {
	background: #ff8172;
}
.life .month dl {
	display: flex;
	margin-bottom: 1.3em;
	font-size: 2em;
	font-weight: bold;
	line-height: 1.5;
}
.life .month dt {
	margin-right: 1em;
	white-space: nowrap;
	color: #004097;
}
.season_ph {
	position: relative;
}
.season_ph .icn {
	position: absolute;
	top: 0;
	left: 0;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.life main {
		padding-bottom: 200px;
	}
	.life .life--timeline .act .time {
		width: 145px;
	}
	.life .life--timeline .act .images {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		width: calc(100% - 165px);
	}
	.life .life--timeline .act .images .ph {
		width: calc(100% - 205px);
		padding-bottom: 55px;
	}
	.life .life--timeline .act .images .ph img { border-radius: 30px;}
	.life .life--timeline .act .images .txt {
		position: relative;
		width: 20%;
		height: 145px;
	}
	.life .life--timeline .act .images .txt p {
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		font-size: 2.4em;
		font-weight: bold;
		line-height: 1.45;
	}
	.life .life--timeline .act .images .txt small {
		display: inline-block;
		font-size: .72em;
		font-weight: normal;
		line-height: 1.5;
	}
	.life--season {
		display: flex;
		margin-bottom: 74px;
	}
	.life--season .season {
		width: 25%;
		padding: 0 17px;
		border-left: 2px dotted #004097;
	}
	.life--season .season .ttl {
		margin-bottom: 35px;
	}
	.life--season--ph {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 55px;
		grid-row-gap: 40px;
		margin-bottom: 100px;
	}
	.season_ph .icn {
		transform: translate(-20px, -20px);
		width: 95px;
		height: 95px;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.life .life--timeline {
		padding: 0 2.5%;
	}
	.life .life--timeline .act {
		align-items: flex-start;
	}
	.life .life--timeline .act .time {
		width: 145px;
	}
}
@media (max-width: 480px) {
	/* SP用 */
	.life .life--timeline {
		padding: 0 5.33333%;
	}
	.life .life--timeline .act {
		background: url(../img/life/bg_time.svg) 31px 96% no-repeat;
		background-size: 18px;
	}
	.life .life--timeline .act .time {
		width: 80px;
		height: 80px;
	}
	.life .time p {
		font-size: 1.4em;
		white-space: nowrap;
	}
	.life .life--timeline .act .images {
		width: calc(100% - 85px);
		padding-bottom: 3%;
	}
	.life .life--timeline .act .images .ph img { border-radius: 15px;}
	.life .life--timeline .act .images .txt p {
		margin: .7em 0;
		font-size: 1.4em;
		font-weight: bold;
		line-height: 1.5;
	}
	.life .life--timeline .act .images .txt p small {
		display: block;
		margin-top: .7em;
		line-height: 1.3;
	}
	.life #sec02 {
		padding: 0 5.3333% 60px 5.3333%;
	}
	.life--season {}
	.life .season {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 30px 0 30px 5%;
		border-top: 2px dotted #004097;
	}
	.life .season .month {
		width: 75%;
	}
	.life .season .season--ph {
		width: 100%;
	}
	.season_ph .icn {
		transform: translate(-20px, -20px);
		width: 59px;
		height: 59px;
	}
}
/*---- life deco ----*/
.life .deco01 {
	position: absolute;
	left: 0%;
	top: 0px;
	transform: translate(0, 0);
	width: 61px;
	height: 63px;
	z-index: 3;
}
.life .deco02 {
	position: absolute;
	left: 0%;
	top: 0px;
	transform: translate(95%, 130%);
	width: 64px;
	height: 64px;
	z-index: 4;
}
.life .deco03 {
	position: absolute;
	right: 0%;
	top: 0px;
	transform: translate(60%, -10%);
	width: 75px;
	height: 75px;
	z-index: 4;
}
.life .deco04 {
	position: absolute;
	left: 10.45%;
	top: 0px;
	transform: translate(0, 1156%);
	width: 75px;
	height: 76px;
	z-index: 4;
}
.life .deco05 {
	position: absolute;
	left: 0%;
	top: 0px;
	transform: translate(-85%, 2841.538461%);
	width: 64px;
	height: 65px;
	z-index: 4;
}
.life .deco06 {
	position: absolute;
	left: 18%;
	bottom: 55px;
	transform: translate(0, -866.3%);
	width: 72px;
	height: 72px;
	z-index: 4;
}
.life .deco07 {
	position: absolute;
	left: 18%;
	bottom: 55px;
	transform: translate(0, -1385%);
	width: 40px;
	height: 40px;
	z-index: 4;
}
.life .deco08 {
	position: absolute;
	left: 0%;
	bottom: 55px;
	width: 78px;
	height: 78px;
	z-index: 4;
}
.life .deco09 {
	position: absolute;
	right: 0%;
	top: 0px;
	transform: translate(20%, 93%);
	width: 82px;
	height: 82px;
	z-index: 4;
}
.life .deco10 {
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translate(-35%, 185%);
	width: 62px;
	height: 61px;
	z-index: 4;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.life .deco01 {
		position: absolute;
		left: 5.333%;
		top: 0px;
		transform: translate(0, -100%);
		width: 8.555%;
		height: 63px;
		z-index: 3;
	}
	.life .deco01.is--sp {
		position: absolute;
		left: 5.333%;
		bottom: 0;
		;
		transform: translate(0, 180%);
		width: 8.555%;
		height: 63px;
		z-index: 3;
	}
	.life .deco02 {
		position: absolute;
		left: 12%;
		top: 0px;
		transform: translate(0, 345%);
		width: 8%;
		height: 50px;
		z-index: 4;
	}
	.life .deco03 {
		position: absolute;
		right: 5.333%;
		top: 0px;
		transform: translate(0, 0);
		width: 11.2%;
		height: 60px;
		z-index: 4;
	}
	.life .deco04 {
		position: absolute;
		left: 16.45%;
		top: 0px;
		transform: translate(0, 657%);
		width: 32px;
		height: 40px;
		z-index: 4;
	}
	.life .deco05 {
		position: absolute;
		left: 0;
		top: 0px;
		transform: translate(58%, 2091.538461%);
		width: 7.2%;
		height: 50px;
		z-index: 4;
	}
	.life .deco06 {
		position: absolute;
		left: 16.8%;
		bottom: 55px;
		transform: translate(0, -426.3%);
		width: 5.9%;
		height: 60px;
		z-index: 4;
	}
	.life .deco07 {
		position: absolute;
		left: 16.4%;
		bottom: 55px;
		transform: translate(0, -598.7%);
		width: 3.4%;
		z-index: 4;
	}
	.life .deco08 {
		position: absolute;
		left: 7%;
		bottom: 15px;
		width: 11%;
		height: 58px;
		transform: translate(0, 0);
		z-index: 4;
	}
	.life .deco09 {
		position: absolute;
		right: 0%;
		top: 0px;
		transform: translate(20%, -30%);
		width: 10.5%;
		height: 50px;
		z-index: 4;
	}
	.life .deco10 {
		position: absolute;
		left: 0;
		bottom: 0;
		transform: translate(-5%, 104%);
		width: 8.9%;
		height: 45px;
		z-index: 4;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* support
-------------------------------------------------- */
.support .lower--ttl--area .ttl--en {
	width: 102px;
}
.support .lower--ttl--area .page--icn {
	width: 42px;
}
.support .sec00 {
	position: relative;
}
.support p.lead {
	text-align: left;
}
.link--ar01 {
	margin-top: 2em;
}
.link--ar01 a {
	padding: 11px 50px 14px 18px;
}
.link--ar01.sup::before {
	width: 393px;
	background: url("../img/common/ar_bu_l.svg") right bottom no-repeat;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.support main {
		padding-bottom: 100px;
	}
	.support .kv--catch {
		padding: 100px 0 0;
	}
	.support .lead {
		max-width: 800px;
		margin: 0 auto;
	}
	.support--image {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 58px;
		margin: 100px 0 100px;
	}
	.support--image img { border-radius: 40px;}
	.to--link .sup {
		width: 393px;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.support #sec00 {
		padding: 0 2.5% 60px 2.5%;
	}
}
@media (max-width: 480px) {
	/* SP用 */
	.support .sec00 {
		padding: 0 5.3333% 60px 5.3333%;
	}
	.support section h3 {
		margin-bottom: 8%;
	}
	.support--image .ph {
		margin-top: 30px;
	}	
	.support--image img { border-radius: 25px;}
	.link--ar01 {
		width: 295px;
		font-size: 1.4em;
	}
	.link--ar01 a {
		padding: 11px 35px 14px 12px;
	}
	.link--ar01.sup::before {
		width: 295px;
		background: url("../img/common/ar_bu_l.svg") right bottom no-repeat;
	}
}
/*---- support deco ----*/
.support .deco01 {
	position: absolute;
	left: 5.8181%;
	top: 0px;
	transform: translate(0, 90%);
	width: 90px;
	height: 90px;
	z-index: 3;
}
.support .deco02 {
	position: absolute;
	right: 3%;
	top: 0px;
	transform: translate(0, 283%);
	width: 64px;
	height: 64px;
	z-index: 4;
}
.support .deco03 {
	position: absolute;
	left: 2.727%;
	top: 0px;
	transform: translate(0, 80%);
	width: 60px;
	height: 60px;
	z-index: 4;
}
.support .deco04 {
	position: absolute;
	left: 13.545%;
	top: 0px;
	transform: translate(0, 3%);
	width: 75px;
	height: 76px;
	z-index: 4;
}
.support .deco05 {
	position: absolute;
	right: 3%;
	top: 0px;
	transform: translate(0, 480%);
	width: 67px;
	height: 67px;
	z-index: 4;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.support .deco01 {
		position: absolute;
		left: 5.333%;
		top: 0px;
		transform: translate(0, 0);
		width: 8.555%;
		height: 63px;
		z-index: 3;
	}
	.support .deco02 {
		position: absolute;
		right: 7%;
		top: 0px;
		transform: translate(0, 210%);
		width: 7%;
		height: 34px;
		z-index: 4;
	}
	.support .deco03 {
		position: absolute;
		right: 5.333%;
		top: 0px;
		transform: translate(0, 100%);
		width: 6.8%;
		height: 36px;
		z-index: 4;
	}
	.support .deco04 {
		position: absolute;
		left: 13%;
		top: 0px;
		transform: translate(0, -13%);
		width: 8.4%;
		height: 40px;
		z-index: 4;
	}
	.support .deco05 {
		display: none;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* support
-------------------------------------------------- */
.guide .lower--ttl--area .ttl--en {
	width: 126px;
}
.guide .lower--ttl--area .page--icn {
	width: 86px;
}
.guidelines {}
.guidelines dl {}
.guidelines dt {
	padding: 0;
	background: #d3e2f7;
}
.guidelines dt p {
	font-size: 2em;
	font-weight: bold;
	line-height: 1.72;
	color: #004097;
	text-align: center;
	white-space: nowrap;
	letter-spacing: .1em;
}
.guidelines dd {
	padding: 1.5em 2.5em 1.5em;
}
.guidelines dd p {
	margin-bottom: 1em;
	font-size: 1.8em;
	line-height: 1.72;
	letter-spacing: .1em;
}
.guidelines dd p:last-of-type {
	margin-bottom: 0;
}
.guidelines dd .map {
	max-width: 880px;
	padding: 1.5em 0 1.5em;
}
.guidelines .link--ar01 {
	margin-bottom: 1.5em;
}
.guidelines .link--ar01 {
	width: 190px;
	font-size: 1.7em;
}
.guidelines .link--ar01 a {
	padding: 11px 35px 14px 12px;
}
.guidelines .link--ar01.gid::before {
	width: 190px;
	height: 35px;
	background: url("../img/common/ar_bu_l.svg") right bottom no-repeat;
	background-size: auto 100%;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	#sec01 {
		padding-top: 100px;
	}
	.guidelines {
		margin-bottom: 100px
	}
	.guidelines dl {
		display: flex;
		border-bottom: 1px solid #969696;
	}
	.guidelines dl:first-of-type {
		border-top: 1px solid #969696;
	}
	.guidelines dt {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 18%;
	}
	.guidelines dt p {}
	.guidelines dd {
		width: 82%;
	}
	.guidelines dd p {}
	.guidelines .link--ar01.gid {
		margin-left: 0;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.guide section h3 {
		margin-bottom: 8%;
	}
	.guidelines {
		margin: 0 5.3333% 30px;
	}
	.guidelines dt {
		padding: .25em .5em;
	}
	.guidelines dt p {}
	.guidelines dd {
		padding: 1em 0;
	}
	.guidelines dd p {
		font-size: 1.4em;
		font-weight: 500;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* news
-------------------------------------------------- */
.news .lower--ttl--area .ttl--en {
	width: 65px;
}
.news .lower--ttl--area .page--icn {
	width: 72px;
}
.news--anc {
	background: #dff0ff;
}
.news--anc dl {}
.news--anc dt {
	font-weight: bold;
	color: #004097;
}
.news--anc dd ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.news--anc dd ul li {}
.news--anc dd ul li a {
	padding: .4em 0 .25em;
	font-weight: bold;
	text-align: center;
	border: 1px solid #004097;
	border-radius: 25px;
	color: #004097;
	background: #fff;
	transition: .4s all;
}
.news--anc dd ul li a:hover, .news--anc dd ul .current a {
	font-weight: bold;
	text-align: center;
	color: #fff;
	border: 1px solid #004097;
	border-radius: 25px;
	background: #004097;
}
.ul--newslist {
	border-top: 1px solid #969696;
}
.ul--newslist li {
	position: relative;
	border-bottom: 1px solid #969696;
}
.ul--newslist li::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 13px;
	background: url("../img/common/ar_03.svg") center right no-repeat;
	background-size: 100% auto;
}
.ul--newslist li:hover {}
.ul--newslist li .smr {}
.ul--newslist li .date {
	font-weight: bold;
	letter-spacing: .1em;
}
.ul--newslist li .cat a {
	padding: .4em 0 .25em;
	font-weight: bold;
	text-align: center;
	border: 1px solid #004097;
	border-radius: 15px;
	color: #004097;
	background: #fff;
	transition: .4s all;
}
.ul--newslist li .cat a:hover {
	padding: .4em 0 .25em;
	font-weight: bold;
	text-align: center;
	color: #fff;
	border: 1px solid #004097;
	border-radius: 20px;
	background: #004097;
}
.ul--newslist li .ttl a {}
.ul--newslist li {}
.newslist {
	margin-bottom: 50px;
}
.newslist p {
	font-size: 1.6em;
}
.wp-pagenavi {
	display: flex;
	justify-content: center;
}
.wp-pagenavi li {
	margin: 0 10px;
	border-bottom: 1px solid #fff;
}
.wp-pagenavi span, .wp-pagenavi a {
	display: inline-block;
	padding: 0 9px 15px;
	font-size: 20px;
	font-weight: bold;
}
.wp-pagenavi a:hover, .wp-pagenavi .current {
	color: #004097;
	border-bottom: 1px solid #004097;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.news #sec01 {
		padding-top: 110px;
	}
	.news--anc {
		display: flex;
		justify-content: center;
		margin-bottom: 35px;
		padding: 30px 0 25px;
		border-radius: 20px;
	}
	.news--anc dl {
		display: flex;
		justify-content: flex-start;
	}
	.news--anc dt {
		margin-right: 1em;
		font-size: 2em;
	}
	.news--anc dd ul li {
		width: 120px;
		font-size: 1.6em;
	}
	.news--anc dd ul li a {
		width: 120px;
	}
	.ul--newslist {
		margin-bottom: 50px;
	}
	.ul--newslist li {
		display: flex;
		align-items: center;
		padding: 20px 0;
	}
	.ul--newslist li::after {}
	.ul--newslist li:hover {}
	.ul--newslist li .smr {
		font-size: 1.6em;
	}
	.ul--newslist li .date {
		width: 120px;
	}
	.ul--newslist li .cat a {
		width: 120px;
		margin: 0 20px;
	}
	.ul--newslist li .cat a:hover {}
	.ul--newslist li .ttl {
		width: calc(100% - 280px);
		line-height: 1.5;
	}
	.ul--newslist li .ttl a {
		font-size: 1.6em;
	}
	.wp-pagenavi {
		margin-bottom: 200px;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
	@media (min-width: 1225px) {}
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.news--anc {
		margin: 30px 0 20px;
		padding: 13px 5.3333% 15px;
		border-radius: 0;
	}
	.news--anc dd ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 30px;
		grid-row-gap: 10px;
	}
	.news--anc dt {
		margin-bottom: 6px;
		font-size: 2em;
		text-align: center;
	}
	.news--anc dd ul li {
		font-size: 2em;
	}
	.news--anc dd ul li a {
		display: block;
		width: 100%;
		padding: 6px;
		box-sizing: border-box;
	}
	.ul--newslist {
		margin: 0 3.33333% 30px;
		border: none;
	}
	.ul--newslist li {
		padding: 12px 10% 12px 0;
	}
	.ul--newslist li::after {
		top: auto;
		bottom: 0;
		transform: translateY(-16px);
	}
	.ul--newslist li:hover {}
	.ul--newslist li .smr {}
	.ul--newslist li .date {
		margin-right: 15px;
		font-size: 1.5em;
	}
	.ul--newslist li .cat a {
		width: 110px;
		font-size: 1.4em;
	}
	.ul--newslist li .cat a:hover {}
	.ul--newslist li .ttl a {
		padding-top: 8px;
		font-size: 1.4em;
		font-weight: 500;
		letter-spacing: .1em;
		line-height: 1.5;
	}
	.newslist {}
	.newslist p {
		font-size: 1.4em;
	}
	.wp-pagenavi {
		margin-bottom: 60px;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* single
-------------------------------------------------- */
.single .entry--date {
	display: flex;
	margin-bottom: 25px;
	align-items: center;
}
.single .entry--date .date {
	font-weight: bold;
	letter-spacing: .1em;
}
.single .entry--date .cat {
	margin-left: 1em;
	font-weight: bold;
	text-align: center;
	border: 1px solid #004097;
	border-radius: 15px;
}
.single .entry--date .cat a {
	padding: .4em 0 .25em;
	color: #004097;
	transition: .4s all;
}
.single .entry--ttl {
	margin-bottom: 23px;
	padding-bottom: 23px;
	border-bottom: 1px solid #004097;
}
.single .entry--ttl h1 {
	line-height: 1.2;
	font-weight: bold;
	color: #004097;
}
.single .entry--body p {
	margin-bottom: 1.1em;
	font-weight: bold;
	line-height: 1.6;
}
.btn--tolist {
	width: 200px;
	margin: 100px auto 200px;
}
.btn--tolist a {
	display: block;
	padding: .6em 0;
	font-weight: bold;
	text-align: center;
	border: 1px solid #004097;
	border-radius: 40px;
	color: #004097;
	transition: .4s all;
}
.single .entry--date .cat:hover, .btn--tolist a:hover {
	color: #fff;
	background: #004097;
}
.single .entry--date .cat a:hover {
	color: #fff;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.single .inner {
		max-width: 800px;
		margin: 0 auto 100px;
	}
	.single #sec01 {
		padding: 80px 0 0;
	}
	.single .entry--date {}
	.single .entry--date .date {
		font-size: 1.6em;
	}
	.single .entry--date .cat {
		width: 120px;
		font-size: 1.6em;
	}
	.single .entry--ttl h1 {
		font-size: 3.2em;
	}
	.single .entry--body {}
	.single .entry--body p {
		font-size: 1.6em;
		letter-spacing: .2em;
	}
	.btn--tolist a {
		font-size: 20px;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.single .inner {
		margin: 0 5.3333% 100px;
	}
	.single #sec01 {
		padding: 0;
	}
	.single .entry--date {}
	.single .entry--date .date {
		font-size: 1.5em;
	}
	.single .entry--date .cat {
		width: 120px;
		font-size: 1.4em;
	}
	.single .entry--ttl h1 {
		font-size: 2.8em;
	}
	.single .entry--body {}
	.single .entry--body p {
		font-size: 1.5em;
		letter-spacing: .2em;
	}
	.btn--tolist {
		width: 170px;
		margin: 40px auto 80px;
	}
	.btn--tolist a {
		font-size: 1.7em;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}

/* みらいプロジェクト 26/04 */
/* mirai-pj
-------------------------------------------------- */
.mirai-pj .lower--ttl--area { margin-bottom:0; padding-bottom: 0;}
.mirai-pj .crumb { margin-bottom: 0;}

.mirai--kv--area {
	background: url("../img/mirai-pj/bg_mirai_header_pc.jpg") center center no-repeat;
	background-size: cover;
}
.mirai--kv--area h1 {
	width:min(60%, 585px);
	margin:0 auto;
	padding-bottom: 30px;
}

.mirai-pj .message--area,
.mirai-pj .donation--area {
	margin:-125px 0 60px;
	padding:138px 0 240px;
	background: url("../img/mirai-pj/bg_mirai_pc.png") center top no-repeat;
	background-size: 100% 100%;
}
.mirai-pj .message--area .inner,
.mirai-pj .info--area .inner,
.mirai-pj .donation--area .inner,
.mirai-pj .donation--form--area .inner,
.mirai-pj .call--area .inner {	
	width:min(84%, 800px);
	margin:0 auto;
}
.mirai-pj .message--area .ttl { margin:0 0 45px;}

.mirai-pj .message--area p,
.mirai-pj .donation--area p,
.donation--form--area .form--ttl p,
.mirai-pj .call--area .inner p {
	font-size:min(3.6vw, 18px);
	font-weight: 500;
	line-height: 2.055555555;
	letter-spacing: .075em;
}
.mirai-pj .message--area .sign {
	margin: 45px 0;
	text-align: right;
	font-size:min(4.4vw, 20px);
	font-weight: bold;
	color: #004097;
}

.mirai-pj .info--area {}

.ul--mirai01 {
	display: flex;
	justify-content: space-between;
	width:min(100%, 600px);
	margin:0 auto 84px;
}
.ul--mirai01 li {
	width:46.666667%;
	position: relative;
}
.ul--mirai01 li a {
	display: block;
	position: relative;
	width:min(70%, 140px);
	margin:-95px auto 95px;
	padding: 3px 36px 14px 8px;
    font-size: 16px;
	font-weight: bold;
	color: #fff;
	box-sizing: border-box;
}
.ul--mirai01 li a::before {
	content: '';
    position: absolute;
    right: 0;
    bottom: 0;
	width: 140px;
    height: 29px;
	background: url("../img/mirai-pj/ar_wt_m.svg") right bottom no-repeat;
    background-size:100% auto;
	z-index: 2;
    transition: .4s all;
}
.ul--mirai01 li a:hover::before { transform: translateX(15px);}

.mirai-pj .ttl--sponsor {
	position: relative;
	text-align: center;
}
.mirai-pj .ttl--sponsor::before {
	content:'';
	position: absolute;
	left: 0;
	top:17px;
	width:100%;
	height: 1px;
	background: #004097;
	z-index: 1;
}
.mirai-pj .ttl--sponsor span {
	position: relative;
	padding:0 1em 0 1em;
	font-size:min(6vw, 35px);
	font-weight: bold;
	color: #004097;
	letter-spacing: .1em;
	background: #fff;
	z-index: 3;
}

@media (min-width: 769px) {
	/* tablet+PC用 */
	
	
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.mirai-pj .message--area,
	.mirai-pj .donation--area {
		margin:-60px 0 60px;
		padding:88px 0 60px;
		background: url("../img/mirai-pj/bg_mirai_sp.png") center top no-repeat;
		background-size: 110% 100%;
	}
	
	.ul--mirai01 { margin-bottom:50px;}
	.ul--mirai01 li a {
		display: block;
		position: relative;
		width:min(70%, 140px);
		margin:-35% auto 45px;
		padding: 3px 32px 10px 3px;
		font-size: 13px;
		font-weight: bold;
		color: #fff;
		box-sizing: border-box;
	}
	.ul--mirai01 li a::before {
		content: '';
		position: absolute;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 29px;
		background: url("../img/mirai-pj/ar_wt_m.svg") right bottom no-repeat;
		background-size:100% auto;
		z-index: 2;
		transition: .4s all;
	}
	.ul--mirai01 li a:hover::before { transform: translateX(15px);}
	
	.mirai-pj .message--area p,
	.mirai-pj .donation--area p,
	.donation--form--area .form--ttl p,
	.mirai-pj .call--area .inner p { line-height: 1.7;}
}
@media (max-width: 480px) {
	/* SP用 */
}


/* donation
-------------------------------------------------- */
.mirai-pj .lower--ttl--area .ttl .page--icn { width:min(25%, 85px); margin:0 auto 18px; }
.donation--area {}
.mirai-pj .donation--area {
	margin: -45px 0 60px;
	padding-bottom: 90px;
}
.mirai-pj .donation--area h2 { margin-top: 40px;}
.mirai-pj .donation--area h2:first-of-type { margin-top:-50px;}
.mirai-pj .donation--area h2 .num { display: block; color: #fff;}
.mirai-pj .donation--area h2 .num span {
	position: relative;
	display: inline-block;
	margin-bottom: .5em;
	padding: .1em .5em;
	font-size:min(8vw, 25px);
	font-weight: 500;
	text-align: center;
	color: #fff; z-index: 33;
}
.mirai-pj .donation--area h2 .num span::before {
	content:''; position: absolute; left: 50%; top:0; transform: translate(-50%, -.16em);
	width:49px; height: 49px;
	background: #004097; border-radius: 40px; z-index: -1;
}

.donation--form--area {}
.donation--form--area h3 {
	margin-bottom: 24px;
	padding:6px 0 5px;
	color: #fff;
	background: #004097;
	border-radius: 40px;
}
.donation--form--area h3::after { height: 0;}
.donation--form--area .form--ttl p {}

/* form */
.donation--dl01 {
	display: flex; flex-wrap: wrap;
	margin-top: 40px;
}
.donation--dl01 dt,
.donation--dl01 dd {	
	padding: 10px 18px;
	font-size:min(3.2vw, 18px);
	line-height: 1.6;
	border-bottom:2px solid #fff;
}
.donation--dl01 dt {
	display: flex; align-items: center;
	width:30%;
	border-right:2px solid #fff;
	background: #9cc8eb;
}
.donation--dl01 dt .must { margin-right: 8px; padding:2px 5px 2px; font-size:14px; color: #fff;  background: #ff696f; border-radius: 5px;}
.donation--dl01 dd {
	width:70%;
	background: #dcecf9;
}
.donation--dl01 dd .kosu { margin-left: 10px; color: #0059c1;}
.donation--dl01 dd small { font-size:min(3vw, 15px); color: #111;}
.donation--dl01 dd .kuchi { width:50px;}

.donation .kiyaku { width:100%; height: 240px; margin: 40px 0 ; padding: 20px 30px; line-height: 1.5; border: 1px solid #004097; overflow-y: scroll;}
.donation .kiyaku--inner {}
.donation .kiyaku h5 { font-size:min(3vw, 20px); color: #004097;}
.donation .kiyaku h6 { margin-top:1em; font-size:min(2.8vw, 16px);}
.donation .kiyaku p { font-size:min(2.8vw, 16px); }
.donation .kiyaku p + h5 { margin-top: 1.2em;}
.donation .kiyaku h5 + p { margin-top: 1em;}

.donation .check {
	font-size: min(3.5vw, 20px);
	text-align: center;
	margin-bottom: 40px;
}
.donation .check label { display: flex; justify-content: center; align-items: center; color: #004097; font-weight: 500;}
.donation .check input { width:18px; height: 18px; margin-right: 1em;}

.donation .btn--confirm { text-align: center;}
.donation .btn--confirm input[type="submit"] {
	padding:0.6em 2em;
	font-size: min(3.5vw, 20px); text-align: center; color: #004097; letter-spacing: .1em;
	border: 1px solid #004097;
	border-radius: 40px;
	background: #fff;
}
.donation .btn--confirm input[type="submit"]:hover { cursor: pointer;}

/* clall */
.call--area { padding:80px 0 100px;}
.call--area .page--icn { width:min(22%, 49px); margin:0 auto 24px;}
.call--area h1 {
	margin:0 auto 45px;
	font-size:min(6vw, 35px); font-weight: bold; text-align: center; color: #004097; letter-spacing: .1em;
}
.call--area p { text-align: left;}
.call--area h2 { 
	display: flex; align-items: center;
	margin-top: 40px;
	font-size:min(4vw, 21px);
}
.call--area h2 span {
	display: flex; align-items: center; justify-content: center;
	position: relative; 
	width:158px; height:38px; margin-right: 14px; padding-top: 1px;
	font-size:min(3.3vw, 15px); color:#fff; 
	background: #004097; border-radius: 30px;
}
.call--area h2 span small {
	position: relative; 
	margin:0 0 0 .6em;
	font-size:min(2.3vw, 14px); color: #004097; z-index: 4;
}
.call--area h2 span small::before {
	content:''; position: absolute; left: 50%; top:50%; transform: translate(-50%, -55%);
	width:18px; height:18px; border-radius: 30px;
	background: #fff;
	z-index: -1;
}
.call--area h2 em { position: relative;}
.call--area h2 em::after {
	content:'';
	position: absolute; left: 0; bottom:0;
	width:100%; height:1px;
	background:  #004097;
}
.call--area .call--flow { display: block; font-size:min(4vw, 25px); text-align: center;}
.call--area .call--join { margin-bottom: 0; text-align: left; font-size:min(4vw, 18px); font-weight: 500; color: #004097;}
.call--area .call--join::after { height: 0;}

.donation .img01 { width:min(74%, 574px); margin:30px auto 35px;}
.donation .img02 { width:min(74%, 510px); margin:40px auto 55px;}
.donation .img02 img { border-radius: 30px;}

@media (min-width: 769px) {
	/* tablet+PC用 */
	.donation .donation--form--area { margin-top:-93px;}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.donation .donation--form--area { margin-top:-22%;}
	
	.mirai-pj .donation--area {
		margin: -5px 0 60px;
		padding-bottom: 90px;
	}
	.mirai-pj .donation--area h2 { font-size: min(5.5vw, 3em);}
	.mirai-pj .donation--area h2 .num span { margin-bottom: 22px;}
	.mirai-pj .donation--area h2 .num span::before {
		width:40px; height:40px;
	}
	
	.donation--form--area h3 { font-size: min(4.7vw, 24px); }
	
	/* form */
	.donation--dl01 {
		flex-direction: column;
	}
	.donation--dl01 dt,
	.donation--dl01 dd { width:100%; border-right: none;}
	.donation--dl01 dt {}
	.donation--dl01 dd {}
	
	.call--area h2 {
		flex-direction:column;
		justify-content: flex-start;
		align-items: flex-start;
		margin-bottom: 20px;
	}
	.call--area h2 span { margin-bottom: 13px;}
	.call--area h2 em::after { bottom:-5px;}
	
}
@media (max-width: 480px) {
	/* SP用 */
}
.donation-confirm .donation--form--area { margin-top: 50px;}


/* contact form 
-------------------------------------------------- */
.donation--dl01 .wpcf7-list-item { margin:0 1em 0 0;}

.donation--dl01 input,
.donation--dl01 select { padding:4px;}
.donation--dl01 input:focus-visible { outline-color:#004097;}

.donation--dl01 ul li + li { margin-top: .5em;}
.donation--dl01 ul li label { display: flex; align-items: center;}
.donation--dl01 label input[type='radio'] { margin-right: 10px; width: 20px; height: 20px;}

.donation--dl01 .ul--radio02 .wpcf7-list-item { display: block;}

.donation .wpcf7 form .wpcf7-response-output { padding:10px 15px; font-size:min(3.2vw, 20px);}

.donation .wpcf7-spinner { display: none;}

@media (min-width: 769px) {
	/* tablet+PC用 */
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
}
@media (max-width: 480px) {
	/* SP用 */
}


/* 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* tablet+PC用 */
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
}
@media (max-width: 480px) {
	/* SP用 */
}
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* tablet+PC用 */
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
}
@media (max-width: 480px) {
	/* SP用 */
}
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* tablet+PC用 */
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
}
@media (max-width: 480px) {
	/* SP用 */
}
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* tablet+PC用 */
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
}
@media (max-width: 480px) {
	/* SP用 */
}