@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 リセット 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */


:root{
	--pagePad: 30px;
	--conceptColorR: #f46f8e;
	--conceptColorB: #2ba3d6;
	--subColorG: #4fc74f;
	--subColorB: #30b2ea;
	--subColorY: #e99f2a;
	--subColorGr: #333;
	--subColorRh: #fedbe4;
	--subColorGh: #e0facc;
	--subColorBh: #d8f5fa;
	--subColorYh: #fcf8d8;
	--mioColor: #f075bb;
	--headerHeight: 40px;
	--headerNavHeight: 300px;
	--headerVisualHeight: clamp(150px, calc(28.02vw + -65px), 215px);
	--maxWidth: 1300px;
	--artiMt: 60px;
	--artiContMt: 40px;
	--transtime: .25s;
}
@media (max-width: 1000px) {
	:root {
		--pagePad: 20px;
		--maxWidth: 700px;
	}
}
@media (max-width: 767px) {
	:root {
		--maxWidth: 568px;
		--headerNavHeight: 30px;
		--headerVisualHeight: auto;
	}
}
@media (max-width: 568px) {
	:root {
		--pagePad: 15px;
		--maxWidth: 450px;
	}
}

/* ――――――――――――――――――――――――――――――
［ wrap ］
―――――――――――――――――――――――――――――― */
body { position: relative; }
picture { display: block; }
.page-wrap { max-width: var(--maxWidth); margin: 0 auto; padding: 0 var(--pagePad); }
.sp-view { display: none; }
.sp-view--768 { display: none; }
.s-bg--sR  { background : var(--conceptColorR); }
.s-bg--sG  { background : var(--subColorG); }
.s-bg--sB  { background : var(--subColorB); }
.s-bg--sY  { background : var(--subColorY); }
.s-bg--sGr { background : var(--subColorGr); }
.s-bg--sRh { background : var(--subColorRh); }
.s-bg--sGh { background : var(--subColorGh); }
.s-bg--sBh { background : var(--subColorBh); }
.s-bg--sYh { background : var(--subColorYh); }
.s-c--red  { color: #ee2626; }
@media (max-width: 767px) {
	.pc-view { display: none; }
	.sp-view--768 { display: block; }
	.s-sp-bg--sG  { background : var(--subColorG); }
	.s-sp-bg--sB  { background : var(--subColorB); }
	.s-sp-bg--sY  { background : var(--subColorY); }
	.s-sp-bg--sGr { background : var(--subColorGr); }
	
}
@media (max-width: 450px) {
	.page-wrap { padding: 0; }
	.content-side,
	.pankuzu,
	.arti,
	.banner,
	.topLeftContents > *:not(:first-child),
	.spe-visual >*:not(:first-child) { padding: 0 var(--pagePad); }
}

.fontS15 { font-size: 1.5rem; line-height: 2.4rem; font-feature-settings: "palt"; letter-spacing: 0; }
.taL { text-align: left; }
.s-tArea { position: relative; font-size: 1.5rem; line-height: 1.5; color: var(--subColorGr); }
.s-tArea *:first-child { display: inline-block; }
.s-tArea *:first-child::after { content: ""; width: 50px; height: 20px; float: right; }
.s-tArea .content-side__area-txt:first-child::after { content: ""; width: 100px; height: 20px; float: right; }
.s-readBtn { position: absolute; content: ""; inset: auto 0 0 auto; font-size: 1rem; color: #fff; border-radius: 5px; min-width: 40px; padding: 2px 5px; text-align: center; line-height: 1; transform: translateY(-2px); }
.s-pagebtn { position: relative; font-size: 1.1rem; height: 20px; border-radius: 10px; border: 1px solid #ccc; background: #fff; padding: 0 15px; color: var(--subColorGr); display: block; width: 95px; }
.s-pagebtn::after { position: absolute; content: ""; inset: 0 5px 0 auto; margin: auto 0; height: .8em; aspect-ratio: cos(30deg); clip-path: polygon(0 0,100% 50%,0 100%); object-fit: cover; background: var(--subColorGr); }






@media screen and (max-width: 1000px) {
}

@media screen and (max-width: 568px) {
	.s-tArea { font-size: 1.3rem; }
	.sp-view { display: block; }
		.sp-vie--768w { display: block; }
}




/* ――――――――――――――――――――――――――――――
［ 改行 ］
―――――――――――――――――――――――――――――― */

.line_pc { display: block; }
.line_pc2 { display: block; }
.line_pc3 { display: block; }
.line_pc4 { display: block; }
.line_pc5 { display: block; }

.line_pad { display: none; }
.line_pad2 { display: none; }

.line_sp { display: none; }
.line_sp2 { display: none; }

@media screen and (max-width: 1039px) {
.line_pc { display: none; }
}


@media screen and (max-width: 768px) {
.line_pc2 { display: none; }
.line_pad { display: block; }
.line_pad2 { display: block; }
}

@media screen and (max-width: 767px) {
.line_pc3 { display: none; }
.line_pc5 { display: none; }
.line_pad { display: none; }
}

@media screen and (max-width: 480px) {
.line_pc4 { display: none; }
.line_pc5 { display: block; }
.line_sp { display: block; }
}

@media screen and (max-width: 360px) {
.line_sp2 { display: block; }
}






/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
body { position: relative; }
.wrapper { position: relative; padding-bottom: 150px; }
.contWrap .fwB { font-weight: 700; }

.swiper-button-prev { z-index: 105!important; width: 30px!important; height: 30px!important; border-radius: 100%; background: var(--subColorGr); }
.swiper-button-prev::before { position: absolute; content: ""; inset: 0 -3px 0 0; margin: auto; width: 10px; height: 10px; border-left: 2px solid #fff; border-top: 2px solid #fff; transform: rotate(-45deg); }
.swiper-button-prev::after  { display: none; }
.swiper-button-next { z-index: 105!important; width: 30px!important; height: 30px!important; border-radius: 100%; background: var(--subColorGr); }
.swiper-button-next::before { position: absolute; content: ""; inset: 0 0 0 -3px; margin: auto; width: 10px; height: 10px; border-right: 2px solid #fff; border-top: 2px solid #fff; transform: rotate(45deg); }
.swiper-button-next::after  { display: none; }


@media (max-width: 767px) {
	.wrapper { padding-bottom: 55px; }
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 バナー 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.banner { margin-block-start: var(--artiMt); }
.banner-d { display: flex; flex-wrap: wrap; gap: 60px; margin: 0 auto; }
.banner-d__item { inline-size: calc((100% - 60px) / 2); }
.banner-typeA__label { margin: 0 auto 10px; max-width: 310px; }
.banner--norikae__size { aspect-ratio: 405/258; display: flex; flex-wrap: wrap; align-items: center; background: var(--conceptColorR); }
.banner--norikae__size iframe { width: 100%; aspect-ratio: 16/9; }

@media (max-width: 767px) {
	.banner-d { width: 100%; }
	.banner-d__item { inline-size: 100%; }
}
@media (hover: hover) {
	a.banner-d__item:hover { transform: scale(1.05); }
}



/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 ボタン 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.page-btn { position: relative; max-width: 550px; text-align: center; border-radius: 50px; color: #fff; font-weight: 700; background: #ccc; display: block; margin: 30px auto 0; font-size: 1.8rem; padding: 12px 30px 12px 15px; line-height: 1.5; }
.page-btn::after { position: absolute; content: ""; inset: 0 15px 0 auto; height: 12px; background: #fff; margin: auto 0; aspect-ratio: cos(30deg); clip-path: polygon(0 0,100% 50%,0 100%); object-fit: cover; }
.page-btn--based { background: var(--subColorY); }

@media (max-width: 767px) {
	.page-btn { font-size: 1.5rem; }
}
@media (hover: hover) {
	.page-btn:hover { opacity: 0.5; }
}



/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 Header 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.header { position: relative; }
.header-main { height: var(--headerHeight); width: 100%; background: #fff; }
.header-main__wrap { height: var(--headerHeight); display: flex; flex-wrap: wrap; align-items: center; max-width: 1300px; margin: 0 auto; padding: 0 var(--pagePad); }
.header-main__logo { width: 120px; }
.header-main__companyname { font-size: 1.1rem; margin-left: auto; }
.header-main__btn { display: none; }


.header-visual { background: url(../images/main_bg.png) repeat-X bottom/1200px, #e3f6f9; }
.header-visual__wrap { display: flex; flex-wrap: wrap; justify-content: space-between; height: var(--headerVisualHeight); max-width: 1300px; margin: 0 auto; padding: 0 var(--pagePad); }
.header-visual__phone { margin: auto 0; max-width: clamp(130px, calc(21.20vw + -33px), 243px); }
.header-visual__title { margin: auto 0; max-width: clamp(340px, calc(32.46vw + 91px), 513px); }
.header-visual__title-main { margin-bottom: 10px; }
.header-visual__title-sub { margin-bottom: 15px; }
.header-visual__hum { margin-top: auto; margin-bottom: 0; max-width: clamp(185px, calc(30.96vw + -52px), 350px); }



@media (max-width: 767px) {
	.header { margin-bottom: 30px; }
	.header-main { position: fixed; top: 0; z-index: 1001; border-bottom: 1px solid #ebebeb; }
	.header-visual { background: url(../images/main_bg.png) no-repeat bottom/1800px, #e3f6f9; }
	.header-visual__wrap { height: var(--headerVisualHeight); }
	.header-main__companyname { padding-right: 55px; }
	.header-main__btn { position: absolute; content: ""; inset: 0 0 0 auto; display: block; width: 40px; height: 40px; cursor: pointer; }
	.header-main__btn-area { position: relative; width: 40px; height: 40px; overflow: hidden; }
	.header-main__btn-area span { width: 24px; height: 2px; background: var(--conceptColorB); transition: calc(var(--transtime) * 1); }
	.header-main__btn-area span:nth-child(1) { position: absolute; content: ""; inset: 10px 0 auto 0; margin: auto; }
	.header-main__btn-area span:nth-child(2) { position: absolute; content: ""; inset: 0; margin: auto; }
	.header-main__btn-area span:nth-child(3) { position: absolute; content: ""; inset: auto 0 10px 0; margin: auto; }
	
	.active .header-main__btn-area span:nth-child(1) { inset: 19px 0 auto 0; transform: rotate(-315deg); }
	.active .header-main__btn-area span:nth-child(2) { opacity: 0; transform: scale(1.5, 1); }
	.active .header-main__btn-area span:nth-child(3) { inset: auto 0 19px 0; transform: rotate(315deg); }
	
	.header-visual__phone { display: none; }
	.header-visual__title { position: relative; margin: 0 auto; max-width: 480px; }
	.header-visual__title-main { margin-bottom: 0px; }
	.header-visual__title-sub { position: absolute; content: ""; inset: 0 0 auto 0; width: 100%; margin-top: 0; }
	.header-visual__hum { display: none; }
}




/* ナビゲーション
========================================================= */
.header-nav { position: fixed; right: 0; left: 0; width: 100%; z-index: 1000; }
.header-nav__inner { transition: calc(var(--transtime) * 1); background: #fff; }
.header-nav__main { position: relative; transition: calc(var(--transtime) * 1); background: #0078c6; z-index: 100; }
.header-nav__main-list { display: flex; align-items: center; }
.header-nav__main-item { width: 20%; }
.header-nav__main-btn { position: relative; width: 100%; height: 40px; font-size: 1.6rem; color: #fff; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; align-content: center; font-weight: 700; transition: calc(var(--transtime) * 1); box-sizing: border-box; }
.header-nav__main-btn::before { position: absolute; content: ""; inset: 0 auto 0 0; margin: auto 0; width: 1px; background: #fff; height: 1.31em; }
.header-nav__main-item:last-child .header-nav__main-btn::after { position: absolute; content: ""; inset: 0 0 0 auto; margin: auto 0; width: 1px; background: #fff; height: 1.31em; }
.header-nav__main-txt { display: none; }

.header-nav__sub { transition: calc(var(--transtime) * 1); max-width: var(--maxWidth); margin: 0 auto; padding: 15px var(--pagePad); display: flex; flex-wrap: wrap; align-items: center; gap: 15px; }
.header-nav__sub-label { display: block; font-size: 1.4rem; line-height: 1; font-weight: 700; color: #fff; border-radius: 20px; background: var(--conceptColorB); padding: 3px 0; letter-spacing: -1px; width: 100px; text-align: center; }
.header-nav__sub-list { inline-size: calc((100% - 115px)); display: flex; flex-wrap: wrap; gap: 0; flex: 1; align-items: center; }
.header-nav__sub-item { position: relative; display: flex; align-items: center; line-height: 1; margin: auto 0; padding: 2px 5px 0 5px; text-align: center; height: 1.7em; border-right: 1px solid #333; }
.header-nav__sub-item:last-child { border-right: none; }
.header-nav__sub-btn { border-radius: 5px; padding: 5px 5px 4px; font-size: 1.7rem; font-weight: 700; transition: calc(var(--transtime) * 1); cursor: pointer; color: #0078c6; }
.header-nav__sub-btn span { font-size: 0.8em; line-height: 1; transform: translateY(2px); }

.set.header-nav { position: fixed; inset: 0 0 auto 0; }
.set .header-nav__inner { box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .1); }

@media (min-width: 768px) {
	.hidden .header-nav.set { pointer-events: none; }
	.hidden .header-nav__inner { transform: translateY(-100%); }
}



@media (max-width: 767px) {
	.header-main { transition: calc(var(--transtime) * 1); }
	.header-nav { inset: 40px 0 auto 0!important; z-index: 1000; transition: calc(var(--transtime) * 1); }
	.header-nav__main { position: fixed; width: 100%; inset: 0 -100% auto auto; background: rgba(255,255,255,.9); height: 100lvh; padding-top: 40px; transition: calc(var(--transtime) * 1); }
	.header-nav__main-list { flex-wrap: wrap; }
	.header-nav__main-item { width: 100%; }
	.header-nav__main-item:nth-child(n+2) { border-top: 1px solid #ccc; }
	.header-nav__main-btn { width: 100%; height: 80px; justify-content: flex-start; padding-left: 15px; padding-right: 30px; gap: 4px 0; color: var(--subColorGr); }
	.header-nav__main-btn::before { width: 15px; height: 15px; border-radius: 100%; background: var(--conceptColorB); inset: 0 10px 0 auto; }
	.header-nav__main-btn::after,
	.header-nav__main-item:last-child .header-nav__main-btn::after { position: absolute; content: ""; inset: 0 13.5px 0 auto; margin: auto 0; height: 8px; aspect-ratio: cos(30deg); clip-path: polygon(0 0,100% 50%,0 100%); object-fit: cover; background: #fff; width: 6px; }
	.header-nav__main-item:not(:first-child) .header-nav__main-label { height: 20px; border-radius: 10px; color: #fff; display: flex; align-items: center; justify-content: center; line-height: 1; padding: 0 10px; }
	.header-nav__main-txt { display: block; width: 100%; font-size: 1.3rem; }
	
	.header-nav__sub { max-width: 100%; padding: 15px 0; gap: 5px; background: #0078c6; }
	.header-nav__sub-label { display: none; }
	.header-nav__sub-list { inline-size: 0; width: 100%; gap: 0; width: 100%; justify-content: center; }
	.header-nav__sub-list .item01 { flex-basis: 14%; }
	.header-nav__sub-list .item02 { flex-basis: 18%; }
	.header-nav__sub-list .item03 { flex-basis: 21%; }
	.header-nav__sub-list .item04 { flex-basis: 18%; }
	.header-nav__sub-list .item05 { flex-basis: 18%; }
	.header-nav__sub-list .item06 { flex-basis: 11%; }
	.header-nav__sub-item { display: block; width: auto; height: 1.7em; border-right: 1px solid #fff; padding: 0; }
	.header-nav__sub-btn { padding: 2px 0 0 0; color: #fff; }
	
	.hidden .header-main { transform: translateY(-100%); }
	.hidden .header-nav { transform: translateY(calc(-100% - 40px)); }
	
	.set .header-nav__main { padding-top: 40px; }
	.set .header-nav__main-btn { height: 80px; }
	
	.active .header-main { transition: 0s; }
	.active .header-nav { transition: 0s; }
	.active .header-nav__main { transition: 0s; }
	.active.hidden .header-main { transform: translateY(0px); }
	.active.hidden .header-nav { transform: translateY(0px); }
	.active.hidden .header-nav__main { transform: translateY(-40px); }
	.active .header-nav__main { inset: 0 0 auto auto; }
	
	.header-nav__main-label { opacity: 0; transform: translateX(50px); }
	.header-nav__main-txt   { opacity: 0; transform: translateX(50px); }
	.header-nav__main-item:nth-child(1) .header-nav__main-btn::before,
	.header-nav__main-item:nth-child(1) .header-nav__main-btn::after,
	.header-nav__main-item:nth-child(1) .header-nav__main-label,
	.header-nav__main-item:nth-child(1) .header-nav__main-txt   { animation-delay: calc(var(--transtime) * 0.0); }
	.header-nav__main-item:nth-child(2) .header-nav__main-btn::before,
	.header-nav__main-item:nth-child(2) .header-nav__main-btn::after,
	.header-nav__main-item:nth-child(2) .header-nav__main-label,
	.header-nav__main-item:nth-child(2) .header-nav__main-txt   { animation-delay: calc(var(--transtime) * 0.5); }
	.header-nav__main-item:nth-child(3) .header-nav__main-btn::before,
	.header-nav__main-item:nth-child(3) .header-nav__main-btn::after,
	.header-nav__main-item:nth-child(3) .header-nav__main-label,
	.header-nav__main-item:nth-child(3) .header-nav__main-txt   { animation-delay: calc(var(--transtime) * 1.0); }
	.header-nav__main-item:nth-child(4) .header-nav__main-btn::before,
	.header-nav__main-item:nth-child(4) .header-nav__main-btn::after,
	.header-nav__main-item:nth-child(4) .header-nav__main-label,
	.header-nav__main-item:nth-child(4) .header-nav__main-txt   { animation-delay: calc(var(--transtime) * 1.5); }
	.header-nav__main-item:nth-child(5) .header-nav__main-btn::before,
	.header-nav__main-item:nth-child(5) .header-nav__main-btn::after,
	.header-nav__main-item:nth-child(5) .header-nav__main-label,
	.header-nav__main-item:nth-child(5) .header-nav__main-txt   { animation-delay: calc(var(--transtime) * 2.0); }
	
	.active .header-nav__main-label { animation: slideLeft .5s forwards; }
	.active .header-nav__main-txt   { animation: slideLeft .5s forwards; }
	
	.header-nav__main-btn::before,
	.header-nav__main-btn::after,
	.header-nav__main-item:last-child .header-nav__main-btn::before,
	.header-nav__main-item:last-child .header-nav__main-btn::after { opacity: 0; }
	.active .header-nav__main-btn::before,
	.active .header-nav__main-btn::after { animation: slideLeft .5s forwards; }
	.active .header-nav__main-item:last-child .header-nav__main-btn::before,
	.active .header-nav__main-item:last-child .header-nav__main-btn::after { animation: slideLeft .5s forwards; animation-delay: calc(var(--transtime) * 2.0); transition-delay: calc(var(--transtime) * 2.0); }
}

@media (max-width: 568px) {
	.header-nav__sub-btn { font-size: 1.5rem; }
}

@media (max-width: 420px) {
	.header-nav__sub-btn { font-size: 1.4rem; }
}

@media (max-width: 380px) {
	.header-nav__sub-btn { font-size: 1.3rem; }
}


@keyframes slideLeft{
	0%   { opacity: 0; transform: translateX(50px); }
	100% { opacity: 1; transform: translateX(0px); }
}



/* メイン
========================================================= */

.content { margin-top: 0; display: flex; flex-wrap: wrap; gap: 60px clamp(30px, calc(10.93vw + -79px), 70px); box-sizing: border-box; }
.content-main { width: calc(100% - 280px - clamp(30px, calc(10.93vw + -79px), 70px)); }
.content-sp { width: 100%; }
.content-side { width: 280px; }
.content-side__sct:nth-child(n+2) { margin-top: 50px; }
.content-side__banner { max-width: 280px; margin: 0 auto; }
.content-side__label { text-align: center; font-weight: 700; font-size: 2rem; margin: 0 auto; max-inline-size: calc(100% - 40px); border-left: 1px solid #000; border-right: 1px solid #000; line-height: 1; }
.content-side__item:nth-child(n+2) { border-top: 1px solid #ccc; }
.content-side__area { padding: 15px 0; }
.content-side__area .s-readBtn { inset: auto 0 15px auto; }

.cont-head { font-size: 2rem; font-weight: 700; padding-left: 20px; background: linear-gradient(to right,#8dd0ed 0px,#8dd0ed 3px,#fff 3px,#fff 6px,#aaa 6px, #aaa 9px,#fff 9px); margin-bottom: 20px; }
.cont-head--first { background: linear-gradient(to right,#02597e 0px,#02597e 3px,#fff 3px,#fff 6px,var(--conceptColorB) 6px, var(--conceptColorB) 9px,#fff 9px); }

@media (max-width: 1000px) {
	.content-main { flex: 0 1 auto; width: 100%; }
	.content-side { width: 100%; }
}
@media (max-width: 568px) {
	.home .content-side { display: none; }
}

.arti--sp { display: none; }
.arti + .arti { margin-top: var(--artiMt); }
.arti-cont + .arti-cont { margin-top: var(--artiContMt); }

.home-special { position: relative; }
.home-special__inner { position: relative; z-index: 100; }
.home-special__inner::before { position: absolute; content: ""; inset: 0 auto 0 0; height: 100%; width: 11%; z-index: 101; pointer-events: none; background: linear-gradient(to right,rgba(255,255,255,1) 0%,rgba(255, 255, 255, 0) 100%); }
.home-special__inner::after  { position: absolute; content: ""; inset: 0 0 0 auto; height: 100%; width: 11%; z-index: 101; pointer-events: none; background: linear-gradient(to  left,rgba(255,255,255,1) 0%,rgba(255, 255, 255, 0) 100%); }
.home-special__wrap { overflow: hidden; }
.home-special__pagenation-prev { left : 6.5%!important; }
.home-special__pagenation-next { right: 6.5%!important; }


:root{
	--homeLeftWidth: 67.8%;
	--homeRightWidth: 28.7%;
}
@media (max-width: 767px) {
	.home-special__inner::before,
	.home-special__inner::after  { display: none; }
	.home-special__pagenation-prev { left : -15px!important; }
	.home-special__pagenation-next { right: -15px!important; }
}
@media (max-width: 568px) {
	.arti--sp { display: block; }
	:root {
		--homeLeftWidth: 100%;
		--homeRightWidth: 100%;
	}
}

.home-cont__wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
.home-cont__past { position: relative; width: var(--homeLeftWidth); background: #f8f7f2; padding: 25px 30px; }
.home-cont__past-inner { max-width: 530px; margin: 0 auto; }
.home-cont__past-img { max-width: 140px; margin: 0 auto; }
.home-cont__past-ex { text-align: center; margin-top: 10px; }
.home-cont__past-txt { font-size: 1.4rem; line-height: 1.31; letter-spacing: -1px; color: var(--subColorGr); }
.home-cont__past-title { font-size: 1.7rem; line-height: 1.31; letter-spacing: -1px; color: var(--subColorGr); font-weight: 700; margin-top: 10px; }
.home-cont__past-btn { display: none; }
.home-cont__past-prev { left : -15px!important; }
.home-cont__past-next { right: -15px!important; }

.home-cont__slide { position: relative; width: var(--homeLeftWidth); padding: 30px; } 
.home-cont__slide-inner { max-width: 510px; margin: 0 auto; }
.home-cont__slide-ex{ margin-top: 15px; }
.home-cont__slide-nbtn.remove { display: none; }
.home-cont__slide-pbtn { display: none; }
.home-cont__slide-prev { left : -15px!important; }
.home-cont__slide-next { right: -15px!important; }

.home-cont__mio { width: var(--homeRightWidth); background: #f8f7f2; }
.home-cont__mio-label { background: var(--mioColor); text-align: center; font-weight: 700; font-size: 1.8rem; line-height: 1; height: 26px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; color: #fff; }
.home-cont__mio-wrap { padding: 20px 20px 15px; }
.home-cont__mio-txt { margin-top: 15px; }

.home-cont__banner { width: var(--homeRightWidth); background: #f8f7f2; display: flex; flex-wrap: wrap; align-items: center; }
.home-cont__sublist { display: none; }


.home-cont__subitem { border-bottom: 1px solid #ccc; }
.home-cont__subitem-wrap { padding: 20px 0; display: flex; flex-wrap: wrap; gap: 0px 10px; }
.home-cont__subitem-img { width: clamp(90px, calc(24.19vw + 13px), 150px); }
.home-cont__subitem-ex { flex: 1; }


@media (max-width: 767px) {
	.home-cont__mio-wrap { padding: 15px 10px; }
}
@media (max-width: 568px) {
	.home-cont__past { padding: 20px 15px; }
	.home-cont__past-wrap { display: flex; align-items: center; }
	.home-cont__past-list { display: flex; align-items: center; }
	.home-cont__past-item { display: flex; align-items: center; }
	.home-cont__past-area { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; }
	.home-cont__past-img { max-width: 80px; margin: 0 auto; }
	.home-cont__past-ex { margin-top: 0; text-align: left; flex: 1; }
	.home-cont__past-txt { font-size: 1.3rem; }
	.home-cont__past-title { font-size: 1.6rem; margin-top: 5px; }
	.home-cont__past-title br { display: none; }
	.home-cont__past-btn { display: block; margin-top: 5px; }
	
	.home-cont__slide { padding: 3px 0px 15px; }
	.home-cont__slide-img { padding: 0 3px; }
	.home-cont__slide-ex { max-width: calc(100% - 15px); margin: 15px auto 0; }
	.home-cont__slide-pbtn { display: block; margin: 5px auto 0; }
	.home-cont__mio { margin-top: 30px; order: 3; }
	.home-cont__mio-wrap { padding: 20px 20px 15px; }
	.home-cont__banner { margin-top: 30px; order: 3; }
	.home-cont__sublist { display: block; order: 2; }
	.home-cont__subitem-wrap { align-items: center; }
}


/* pagelist
========================================================= */

.pagelist-item:nth-child(n+2) { margin-top: 30px; }
.pagelist-area { display: flex; flex-wrap: wrap; gap: 15px 30px; padding: 30px; }
.pagelist-area.s-bg--sRh { align-items: center; }
.pagelist-area--sp { border: 1px solid var(--subColorGr); }
.pagelist-img { width: 240px; }
.pagelist-ex { flex: 1; margin-top: -5px; }
.pagelist-batch { font-size: 2.4rem; font-weight: 700; margin-bottom: 30px; }
.pagelist-batch__item { display: none; }
.pagelist-batch__item.active { display: inline-block; }

.pagelist-label { position: relative; }
.pagelist-label::after { content: ""; display: block; }
.pagelist-label__title { font-size: 2.4rem; font-weight: 700; line-height: 1.5; color: var(--subColorGr); display: inline-block; }
.pagelist-label__title::after { content: ""; width: 70px; height: 1.25em; float: right; }
.pagelist-label__title--na:after { display: none; }
.pagelist-label__batch { position: absolute; content: ""; inset: auto 0 0 auto; color: #fff; display: inline-block; border-radius: 5px; padding: 3px 5px; width: 70px; box-sizing: border-box; text-align: center; font-size: 1.6rem; font-weight: 700; line-height: 1; z-index: 100; transform: translateY(-6px); }
.pagelist-label--b .pagelist-label__batch { width: 100px; }
.pagelist-label--b .pagelist-label__title::after { width: 100px; }
.pagelist-label .inliner { display: inline; }
.pagelist-txt { margin-top: 15px; font-size: 1.8rem; color: var(--subColorGr); }

.pagelist-article { padding-top: 30px; }




@media (max-width: 767px) {
	.home-cont__mio-wrap { padding: 15px 10px; }
	.pagelist-area { padding: 20px 15px; gap: 15px 20px; }
	.pagelist-article > ul > li.pagelist-item > .pagelist-area { align-items: center; }
	.pagelist-img { width: clamp(90px, calc(24.19vw + 13px), 150px); }
	.pagelist-ex { margin-top: -3px; }
	.pagelist-batch { font-size: 1.8rem; margin-bottom: 20px; }
	.pagelist-label__batch { font-size: 1.4rem; }
	.pagelist-label__title { font-size: 1.8rem; }
	.pagelist-label__title .inliner { display: inline; }
	.pagelist-txt { font-size: 1.4rem; }
	.pagelist-label__batch { transform: translateY(-2px); }
	
	.pagelist-article { padding-top: 20px; }
	.pagelist-article > ul > li.pagelist-item > a > div.pagelist-ex > div.pagelist-txt { display: none; }
}
@media (max-width: 568px) {
	.pagelist-item:nth-child(n+2) { margin-top: 10px; }
	.pagelist-area { padding: 10px; gap: 15px; }
	.pagelist-label__title { font-size: 1.6rem; line-height: 1.31; }
	.pagelist-txt { font-size: 1.3rem; line-height: 1.5; margin-top: 7px; }
	.pagelist-label__batch { padding: 2px 3px; width: 60px; font-size: 1.3rem; transform: translateY(-1px); }
}


@media (min-width: 768px) {

.pagelist-item{
  position: relative;
  background: #fff;
  border: 0 solid #fff;
  box-sizing: border-box;
  &::before,
  &::after,
  a::before,
  a::after
  {
    content: '';
    display: block;
    position: absolute;
    background-color: #333;
  }
  &::before{
    right: 0;
    top: 0;
    height: 4px;
    width: 0%;
    transition: width 300ms;
  }
  &::after{
    right: 0;
    top: 0;
    height: 0%;
    width: 4px;
    transition: height 300ms;
  }
  a{
    &::before{
      left: 0;
      bottom: 0;
      height: 4px;
      width: 0%;
      transition: width 300ms;
    }
    &::after{
      left: 0;
      bottom: 0;
      height: 0%;
      width: 4px;
      transition: height 300ms;
    }
  }
  &:hover{
    &::before{
      width: 100%;
    }
    &::after{
      height: 100%;
    }
    a{
      &::before{
        width: 100%;
      }
      &::after{
        height: 100%;
      }
    }
  }
}

}


/* outline
========================================================= */

.colorPink { color: #fa4e9e; }
.colorPinkSmall { font-size: 0.5em; }
.outline { margin-top: 100px; }
.outline-no { display: flex; flex-wrap: wrap; gap: 10px 50px; }
.outline-no__ex { flex: 1; }
.outline-no__logo { width: 250px; }
.outline-sct__title { position: relative; font-size: 5rem; font-weight: 700; line-height: 1.2; color: #fa4e9e; margin-bottom: 30px; padding-left: 25px; }
.outline-sct__title::before { position: absolute; content: ""; inset: 0 auto 0 5px; margin: auto 0; height: calc(100% - .2em); width: 10px; border-radius: 5px; background: #fa4e9e; }
.outline-aside { background: #eee; padding: 30px; margin: 30px auto; width: 100%; }
.acco-inner .outline-aside { margin: 0 auto; }
.outline-aside__item { position: relative; padding-left: 15px; line-height: 1.5; font-size: 1.8rem; }
.outline-aside__item::before { position: absolute; content: ""; inset: 0.55em auto auto 0; width: 0.3em; height: 0.3em; border-radius: 100%; background: #000; }
.outline-aside__item:nth-child(n+2) { margin-top: 10px; }
.outline-note { font-size: 1.4rem; margin-top: 40px; line-height: 1.5; }
.acco-inner .outline-note { margin-bottom: 40px; }
.outline-note__list { padding-left: 1em; margin-top: 10px; }
.outline-note__item { text-indent: -2em; padding-left: 2em; }
.outline-note__item:nth-child(n+2) { margin-top: 10px; }
.outline-note__link { padding-left: 3em; margin-top: 10px; }
.outline-note__link a { display: inline; }
.outline-img { margin: 40px auto; }
.outline-about { background: #faf3eb; margin-bottom: 80px; }
.outline-about__label { padding: 40px 20px 0; background: #fa4e9e; }
.outline-about__title { font-size: 4.2rem; line-height: 1.5; margin-top: 25px; text-align: center; padding: 0 25px; letter-spacing: 0.01em; }
.outline-about__title span { background: linear-gradient(transparent 62%, #f7e252 0%); }
.outline-about__list { padding: 40px; }
.outline-about__area { position: relative; }
.outline-about__area:nth-child(n+2) { margin-top: 30px; }
.outline-about__area img:nth-child(1) { position: absolute; content: ""; inset: 0 auto auto 0; width: 100%; opacity: 0; transition: 0.5s; }
.outline-about__area:hover img:nth-child(1) { opacity: 1; }
* + .outline-actual__list { margin-top: 30px; }
.outline-actual__item { position: relative; padding: 0 0 0 25px; margin-top: 15px; line-height: 1.5; }
.outline-actual__item::before { position: absolute; content: ""; inset: .45em auto auto 5px; width: 0.5em; height: 0.5em; background: #fa4e9e; border-radius: 100%; }
.outline-year { padding: 40px; display: flex; flex-wrap: wrap; gap: 30px 45px; border-radius: 20px; border: 2px solid #fa4e9e; }
.outline-year__list { flex: 1; }
.outline-year__item { display: flex; gap: 20px 50px; font-size: 2rem; line-height: 1.5; }
.outline-year__item:nth-child(n+2) { margin-top: 10px; }
.outline-year__num { font-weight: 700; }
.outline-year__img { width: 245px; }
.out3-wrap { background: #faf5ef; padding: 40px; margin: 30px auto 0; }
.out3-wrap .img-cap__slide { display: none; }
.outline-camp { margin-top: 80px; padding: 50px 15px 40px; background: #fa4e9e; }
.outline-camp__list { margin-top: 40px; }
.outline-camp__item:nth-child(n+2) { margin-top: 15px; }

@media (max-width: 767px) {
	.outline { margin-top: 80px; }
	.outline-no__ex { flex: 0 1 auto; }
	.outline-no__logo { width: 250px; margin: 0 auto; text-align: center; }
	.outline-no__logo .sct-share__logo-item { height: 100%; }
	.outline-sct__title { font-size: 3.6rem; margin-bottom: 20px; }
	.outline-aside { padding: 15px; margin: 20px auto; }
	.outline-aside__item { font-size: 1.5rem; }
	.outline-note { font-size: 1.3rem; margin-top: 20px; }
	.outline-img { margin: 20px auto; }
	.outline-about { margin-bottom: 60px; }
	.outline-about__label { padding: 10px 5px 0; }
	.outline-about__title { font-size: clamp(20px, calc(4.15vw + 4px), 28px); margin-top: 25px; padding: 0 15px; letter-spacing: 0.01em; }
	.outline-about__list { padding: 30px 15px; margin: 0 auto; max-width: 320px; }
	.outline-about__area:nth-child(n+2) { margin-top: 20px; }
	.outline-about__area img:nth-child(1) { position: relative; opacity: 1; }
	* + .outline-actual__list { margin-top: 20px; }
	.outline-actual__item { position: relative; padding: 0 0 0 20px; margin-top: 15px; }
	.outline-year { padding: 15px; }
	.outline-year__list { flex: 0 1 auto; width: 100%; }
	.outline-year__item { gap: 0 20px; font-size: 1.5rem; }
	.outline-year__item:nth-child(n+2) { margin-top: 10px; }
	.outline-year__img { margin-inline-start: auto; margin-inline-end: auto; }
	.out3-wrap { padding: 10px; margin: 20px auto 0; }
	.out3-wrap__img { padding: 10px; background: #fff; }
	.outline-camp { margin-top: 50px; padding: 20px 15px 15px; }
	.outline-camp__list { margin: 20px auto 0; max-width: 320px; }
}



/* related
========================================================= */

.relate-list { display: flex; flex-wrap: wrap; gap: 45px; margin-top: 35px; }
.relate-item { inline-size: calc((100% - 90px) / 3); }
.relate-ex { margin-top: 10px; }

@media (max-width: 568px) {
	.relate-list { max-width: 300px; margin: 35px auto 0; }
	.relate-item { inline-size: 100%; }
}


/* footer
========================================================= */

.footer-bottom { background: rgba(244, 111, 142, .85); position: fixed; bottom: 0px; width: 100%; transition: calc(var(--transtime) * 1); box-shadow: 0 -5px 5px 0 rgba(0,0,0,.1); z-index: 1000; }
.footer-list { display: flex; flex-wrap: wrap; align-items: center; max-width: 1300px; margin: 0 auto; padding: 0 var(--pagePad); }
.footer-item { width: 25%; }
.footer-area { position: relative; height: 55px; display: flex; flex-wrap: wrap; align-items: center; align-content: center; justify-content: center; text-align: center; font-weight: 700; gap: 4px 10px; }
.footer-item:nth-child(n+2) .footer-area::before { position: absolute; content: ""; inset: 0 auto 0 0; margin: auto 0; background: #fff; width: 1px; height: 4em; }
.footer-icon { height: 24px; }
.footer-item:nth-child(1) .footer-icon { aspect-ratio:  63/103; }
.footer-item:nth-child(2) .footer-icon { aspect-ratio:  91/101; }
.footer-item:nth-child(3) .footer-icon { aspect-ratio: 100/100; }
.footer-item:nth-child(4) .footer-icon { aspect-ratio: 121/79; }



.footer-title { font-size: 1.8rem; line-height: 1; color: #fff; }
.footer-title span { font-size: .75em; letter-spacing: -1px; }

@media (max-width: 767px) {
	.footer-list { max-width: 568px; padding: 0; }
	.footer-area { border-left: 1px solid var(--conceptColorR); height: 45px; }
	.footer-item:last-child .footer-area { border-right: 1px solid var(--conceptColorR); }
	.footer-icon { height: 18px; }
	.footer-title { flex: 0 1 auto; width: 100%; font-size: 1.1rem; }
	.footer-item:nth-child(n+2) .footer-area::before { height: 3em; }
}

.footer {
	padding-bottom: 200px;
	width: 100%;
	height: 9.375em;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.footer__share {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 99;
	padding: 1em 0.5em 0 0.5em;
}

.footer__copyright {
	padding: 1.5em 1em 0 1em;
	text-align: center;
}

.footer__copyright p {
	font-size: 1rem;
	line-height: 1.5;
	color: rgba(0, 0, 0, 0.5);
	margin-bottom: 0.5em;
}
/* share
----------------------------------------------- */
.share {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	justify-content: center;
}

@media screen and (max-width: 768px) {
	.share {
		justify-content: center;
	}
}

.share li {
	margin: 0.5em 0.5em;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	overflow: hidden;
}

@media screen and (max-width: 768px) {
	.share li {
		display: inline-block;
		margin: 0 0.5em;
		vertical-align: top;
	}
}

ul.share li.btn-sns a.count,
ul.share li.btn-sns span.count {
	display: none;
}

.share li a {
	display: inline-block;
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-size: 32px;
	background-position: 0, 0;
}

ul.share li a:hover {
	opacity: 0.8;
}

.share li.fsbots span {
	display: inline-block;
	width: 40px;
	height: 40px;
	background: url(https://cdn.mainichi.jp/vol1/images/sp/icon-tool-fsbots.svg) no-repeat;
	background-size: 32px;
}

.share li>a,
.share li>span {
	background-position: 4px 50%;
}

ul.share .ln {
	display: none;
}

@media screen and (max-width: 768px) {
	ul.share .ln {
		display: block;
	}
}

ul.share li.ln a {
	background-image: url(https://cdn.mainichi.jp/vol1/images/sp/icon-tool-ln3.svg);
}

ul.share li.fb a {
	background-image: url(https://cdn.mainichi.jp/vol1/images/pc/icon-tool-fb.png);
	background-image: none, url(https://cdn.mainichi.jp/vol1/images/pc/icon-tool-fb2.svg);
}

ul.share li.tw a {
	background-image: url(https://cdn.mainichi.jp/vol1/images/pc/icon-tool-tw2.png);
	background-image: none, url(https://cdn.mainichi.jp/vol1/images/pc/icon-tool-tw2.svg);
	background-size: 25px;
	background-position: 50% 10px;
}

ul.share li.tw a.count,
ul.share li.tw span.count {
	width: auto;
	margin: 0 0 0 -4px;
}

ul.share li.hb a {
	background-image: url(https://cdn.mainichi.jp/vol1/images/pc/icon-tool-hb.png);
	background-image: none, url(https://cdn.mainichi.jp/vol1/images/pc/icon-tool-hb2.svg);
}

ul.share li.btn-sns a.count:hover {
	background: transparent;
}




.pagetop { position: fixed; bottom: 75px; right: 20px; z-index: 800; }
.pagetop a {
	width: 60px;
	height: 60px;
	display: block;
	background: url(../images/pagetop_1.png) no-repeat right top;
	background-size: 60px 60px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	opacity: 1;
	transition: calc(var(--transtime) * 1);
}

@media (hover: hover) {
	.pagetop a:hover {
		transform: translate(0, -5px);
	}
}
@media (max-width: 767px) {
	.pagetop { position: relative; bottom: 0; right: 0; margin: 60px auto 0; }
	.pagetop a {
		margin: 0 auto;
	}
}

.open-modal { cursor: pointer; }
.modal { pointer-events: none; opacity: 0; transition: .25s; position: fixed; z-index: 10000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.6); }
.modal-content { margin: 10lvh auto; padding: 25px 20px; width: 80%; max-width: 800px; height: 80lvh; overflow-y: scroll; }
.modal-contentB { position: absolute; inset: 0; margin: auto; width: 80%; max-width: 800px; display: flex; flex-wrap: wrap; align-items: center; pointer-events: none; }
.modal-contentB .modal-content__sct { padding: 25px 20px; }
.modal-content__sct + .modal-content__sct { margin-top: 55px; }
.mclose { transition: .25s; position: absolute; right: 35px; top: 15px; color: #fff; font-size: 28px; font-weight: bold; background: none; border: none; cursor: pointer; }
.mclose:hover,
.mclose:focus { color: black; text-decoration: none; cursor: pointer; }

@media (max-width: 767px) {
	.modal-content { margin: 50px auto 2lvh; height: calc(100lvh - 50px - 2lvh); padding: 20px 15px; width: 95%; }
	.modal-content__sct + .modal-content__sct { margin-top: 35px; }
	.mclose { right: 15px; top: 3px; }
}


@media (hover: hover) {
	.swiper-button-prev,
	.swiper-button-next { transition: calc(var(--transtime) * 2); }
	.header-nav__main-label,
	.home-cont__slide-area,
	.home-cont__mio-wrap,
	.home-cont__banner,
	.content-side__banner,
	a.content-side__area,
	a.pagelist-area,
	a.relate-wrap { transition: calc(var(--transtime) * 1); }
	.swiper-button-prev:hover { transform: translateX(-5px) scale(1.15); }
	.swiper-button-next:hover { transform: translateX(5px) scale(1.15); }
	a.header-nav__main-btn:hover { background: var(--conceptColorR); }
	a.header-nav__main-btn:hover .header-nav__main-label { transform: scale(1.05); }
	.swiper-slide-active a.home-special__area:hover { opacity: 0.5; transform: scale(0.98); }
	a.home-cont__past-area:hover { transform: scale(.95); }
	a.home-cont__slide-area:hover { transform: scale(.95); }
	a.home-cont__mio-wrap:hover { transform: scale(.95); }
	a.home-cont__banner:hover { opacity: 0.5; }
	a.content-side__banner:hover { opacity: 0.5; }
	a.content-side__area:hover { opacity: 0.5; }
	a.relate-wrap:hover { transform: scale(.95); }
	/*
	a.pagelist-area:hover { transform: scale(.95); }
	*/
}

@media (min-width: 768px) {
	a.header-nav__sub-btn:hover { background: var(--conceptColorR); color: #fff; }
}

