@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap');


/* font-family: 'Noto Serif JP', serif; */

/* base
-------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section {
	display: block;
}
html {
	line-height: 1;
	/* scroll-behavior: smooth;
	scroll-padding-top: 100px; */
}
ul, ol {
	list-style-type: none;
}
table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
q, blockquote {
	quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}
a img {
	border: none;
}
img {
	vertical-align: bottom;
	border: none;
	max-width: 100%;
	height: auto;
}
img[src*=".svg"] {
	width: 100%;
}
a {
	color: inherit;
	text-decoration: none;
}
*,
:before,
:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
input,
button,
select,
textarea {
	/*-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;*/
	font: inherit;
	border: none;
	border-radius: 0;
	outline: none;
}
textarea {
	resize: vertical;
}
input[type='checkbox'],
input[type='radio'] {
	display: none;
}
input[type='submit'],
input[type='button'],
label,
button,
select {
	cursor: pointer;
}
select::-ms-expand {
	display: none;
}


/************************************************************************
	PC/SP
**************************************************************************/
.block480, .sp, .block1024{ display: none; }

@media screen and (max-width: 1024px){
	.none1024{display: none;}
	.block1024{display: block;}
}

@media screen and (max-width: 768px) {
	.pc { display: none;}
	.sp { display: block;}
}

@media screen and (max-width: 480px) {
	.none480{ display: none;}
	.block480{ display: block;}
}


/************************************************************************
	フォント
**************************************************************************/
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #3c3232;
	font-size: clamp(13.5px, 0.565rem + 0.58vw, 16px);/* 769~1200 */
	font-weight: 400;
	letter-spacing: 0.05em;
	line-height: 2;
	background: #fff;
	/* -moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased; */
	word-wrap: normal;
}

.mincho{
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 500;
}

.en {
	font-family: 'Montserrat', Helvetica, "Helvetica Neue", Arial, Verdana, "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", "YuGothic", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media screen and (max-width: 768px) {
	body {
		font-size: clamp(13.5px, 0.294rem + 2.51vw, 24px);/* 350~768 */
	}
}

.b { font-weight: 700; }
.fw900 { font-weight: 900; }
.fw600 { font-weight: 600; }
.fw500 { font-weight: 500; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.taj{ text-align: justify;}

.wbr{
	word-break: keep-all;
}
@media screen and (max-width: 768px) {
	.wbr_pc {
		word-break: normal;
	}

	.fw700sp { font-weight: 700; }/* 游明朝が主に薄いので */
}

.indent{
	text-indent: 1em;
}
span.indent{
	display: inline-block;
}

.palt{
	font-feature-settings: "palt";
}

.capitalize{
	text-transform: capitalize;
}
.capitalize.no{
	text-transform: none;
}
.uppercase{
	text-transform: uppercase;
}

.i{
	font-style: italic;
}
.u{
	text-decoration: underline;
}

.v_rl{
	writing-mode: vertical-rl;
}

.marker{
	background: linear-gradient(transparent 80%, #fff45c 80%);
}

.white{
	color: #fff;
}
.red{
	color: #e60012;
}
.blue{
	color: #00619d;
}
.yellow{
	color: #ffe361;
}
.yellow02{
	color: #d1a550;
}
.orange{
	color: #f58a12;
}
.thin_orange{
	color: #ffbf37;
}
.purple{
	color: #7060ff;
}

@media screen and (max-width: 768px) {
	.sp_pack{
		letter-spacing: -.1em;
		line-height: 1.5;
	}
}
/* -------------
サイズ　色　太さ
-------------------------------------------------------- */
sub{
	font-size: .6em;
}
/* 769~1200 */
.fz12{ font-size: clamp(11px, 0.576rem + 0.23vw, 12px);}
.fz14a{ font-size: clamp(13.2px, 0.736rem + 0.19vw, 14px);}
.fz14{ font-size: clamp(13.2px, 0.736rem + 0.19vw, 14px);}
.fz15{ font-size: clamp(13.4px, 0.659rem + 0.37vw, 15px);}
.fz16{ font-size: clamp(13.5px, 0.565rem + 0.58vw, 16px);}
.fz17{ font-size: clamp(13.8px, 0.506rem + 0.74vw, 17px);}
.fz18{ font-size: clamp(14px, 0.429rem + 0.93vw, 18px);}
.fz18s{ font-size: clamp(14px, 0.429rem + 0.93vw, 18px);}
.fz20{ font-size: clamp(15px, 0.38rem + 1.16vw, 20px);}
.fz20{ font-size: clamp(15px, 0.268rem + 1.39vw, 21px);}
.fz22{ font-size: clamp(15.5px, 0.244rem + 1.51vw, 22px);}
.fz23{ font-size: clamp(15.8px, 0.185rem + 1.67vw, 23px);}
.fz24{ font-size: clamp(16px, 0.108rem + 1.86vw, 24px);}
.fz25{ font-size: clamp(16.25px, 0.043rem + 2.03vw, 25px);}
.fz26{ font-size: clamp(16.5px, -0.028rem + 2.2vw, 26px);}
.fz28{ font-size: clamp(18.5px, 0.097rem + 2.2vw, 28px);}
.fz30{ font-size: clamp(20px, 0.135rem + 2.32vw, 30px);}
.fz32{ font-size: clamp(20.5px, -0.001rem + 2.67vw, 32px);}
.fz34{ font-size: clamp(21px, -0.137rem + 3.02vw, 34px);}
.fz35{ font-size: clamp(21.5px, -0.162rem + 3.13vw, 35px);}
.fz36a{ font-size: clamp(22px, -0.186rem + 3.25vw, 36px);}
.fz36{ font-size: clamp(22px, -0.186rem + 3.25vw, 36px);}
.fz38{ font-size: clamp(23px, -0.235rem + 3.48vw, 38px);}
.fz40{ font-size: clamp(24px, -0.284rem + 3.71vw, 40px);}
.fz42{ font-size: clamp(25px, -0.333rem + 3.94vw, 42px);}
.fz44{ font-size: clamp(26px, -0.382rem + 4.18vw, 44px);}
.fz46{ font-size: clamp(27px, -0.431rem + 4.41vw, 46px);}
.fz48{ font-size: clamp(28px, -0.034rem + 3.71vw, 48px);}
.fz50{ font-size: clamp(31px, -0.181rem + 4.41vw, 50px);}
.fz53{ font-size: clamp(33.5px, -.081rem + 4.52vw, 53px);}
.fz54{ font-size: clamp(34px, -.105rem + 4.64vw, 54px);}
.fz55{ font-size: clamp(34px, -0.217rem + 4.87vw, 55px);}
.fz56{ font-size: clamp(34.5px, -0.241rem + 4.99vw, 56px);}
.fz57{ font-size: clamp(35px, -0.266rem + 5.1vw, 57px);}
.fz58{ font-size: clamp(35.5px, -0.29rem + 5.22vw, 58px);}
.fz60{ font-size: clamp(36px, -0.426rem + 5.57vw, 60px);}
.fz68{ font-size: clamp(40.8px, .409rem + 4.45vw, 68px);}
.fz70{ font-size: clamp(42px, -0.497rem + 6.5vw, 70px);}
.fz72{ font-size: clamp(43px, -0.546rem + 6.73vw, 72px);}
.fz90{ font-size: clamp(54px, -0.64rem + 8.35vw, 90px);}
.fz120{ font-size: clamp(72px, -0.833rem + 11.11vw, 120px);}
.fz150{ font-size: clamp(90px, -1.066rem + 13.92vw, 150px);}

@media screen and (max-width: 768px){/* 350~768 */
	.fz12{ font-size: clamp(11px, 0.426rem + 1.2vw, 16px);}
	.fz14{ font-size: clamp(13.2px, 0.469rem + 1.63vw, 20px);}
	.fz15{ font-size: clamp(13.4px, 0.44rem + 1.82vw, 21px);}
	.fz16{ font-size: clamp(13.5px, 0.294rem + 2.51vw, 24px);}
	.fz17{ font-size: clamp(13.5px, 0.294rem + 2.51vw, 24px);}
	.fz18{ font-size: clamp(13.7px, 0.317rem + 2.46vw, 24px)}
	.fz18s{ font-size: clamp(13px, 0.237rem + 2.63vw, 24px);}
	.fz20{ font-size: clamp(14px, 0.221rem + 2.99vw, 26.5px);}
	.fz21{ font-size: clamp(14px, 0.221rem + 2.99vw, 26.5px);}
	.fz22{ font-size: clamp(14.5px, 0.201rem + 3.22vw, 28px);}
	.fz23{ font-size: clamp(14.8px, 0.182rem + 3.4vw, 29px);}
	.fz24{ font-size: clamp(15px, 0.153rem + 3.59vw, 30px);}
	.fz25{ font-size: clamp(15px, 0.153rem + 3.59vw, 30px);}
	.fz26{ font-size: clamp(15.3px, 0.187rem + 3.52vw, 30px);}
	.fz28{ font-size: clamp(15.8px, 0.035rem + 4.35vw, 34px);}
	.fz30{ font-size: clamp(16px, -0.047rem + 4.78vw, 36px);}
	.fz32{ font-size: clamp(16px, -0.047rem + 4.78vw, 36px);}
	.fz34{ font-size: clamp(16.5px, 0.011rem + 4.67vw, 36px);}
	.fz35{ font-size: clamp(16.5px, 0.011rem + 4.67vw, 36px);}
	.fz36a{ font-size: clamp(17px, 0.068rem + 4.55vw, 36px);}
	.fz36{ font-size: clamp(18px, -0.026rem + 5.26vw, 40px);}
	.fz38{ font-size: clamp(19px, 0.089rem + 5.02vw, 40px);}
	.fz40{ font-size: clamp(20px, 0.203rem + 4.78vw, 40px);}
	.fz44{ font-size: clamp(22px, 0.224rem + 5.26vw, 44px);}
	.fz46{ font-size: clamp(23px, 0.234rem + 5.5vw, 46px);}
	.fz48{ font-size: clamp(24px, 0.244rem + 5.74vw, 48px);}
	.fz50{ font-size: clamp(25px, 0.254rem + 5.98vw, 50px);}
	.fz53{ font-size: clamp(26.5px, 0.273rem + 6.32vw, 53px);}
	.fz54{ font-size: clamp(27px, 0.275rem + 6.46vw, 54px);}
	.fz55{ font-size: clamp(27.5px, 0.28rem + 6.58vw, 55px);}
	.fz56{ font-size: clamp(28px, 0.288rem + 6.68vw, 56px);}
	.fz57{ font-size: clamp(28.5px, 0.29rem + 6.82vw, 57px);}
	.fz58{ font-size: clamp(29px, 0.295rem + 6.94vw, 58px);}
	.fz60{ font-size: clamp(30px, 0.305rem + 7.18vw, 60px);}
	.fz68{ font-size: clamp(32px, 0.325rem + 7.66vw, 64px);}
	.fz70{ font-size: clamp(32.5px, 0.33rem + 7.78vw, 65px);}
	.fz72{ font-size: clamp(33px, 0.34rem + 7.88vw, 66px);}
	.fz90{ font-size: clamp(42px, 0.427rem + 10.05vw, 84px);}
	.fz120{ font-size: clamp(60px, 0.61rem + 14.35vw, 120px);}
	.fz150{ font-size: clamp(75px, 0.763rem + 17.94vw, 150px);}

	.fz16sp{ font-size: clamp(13.5px, 0.294rem + 2.51vw, 24px);}
	.fz20sp{ font-size: clamp(10px, 0.103rem + 2.39vw, 20px);}
	.fz21sp{ font-size: clamp(10.5px, 0.107rem + 2.51vw, 21px);}
	.fz24sp{ font-size: clamp(12px, 0.124rem + 2.86vw, 24px);}
	.fz25sp{ font-size: clamp(12.5px, 0.127rem + 2.99vw, 25px);}
	.fz26sp{ font-size: clamp(13px, 0.134rem + 3.1vw, 26px);}
	.fz27sp{ font-size: clamp(13.5px, 0.139rem + 3.22vw, 27px);}
	.fz28sp{ font-size: clamp(14px, 0.144rem + 3.34vw, 28px);}
	.fz30sp{ font-size: clamp(15px, 0.154rem + 3.58vw, 30px);}
	.fz32sp{ font-size: clamp(16px, 0.163rem + 3.83vw, 32px);}
	.fz36sp{ font-size: clamp(18px, 0.185rem + 4.3vw, 36px);}
	.fz38sp{ font-size: clamp(19px, 0.196rem + 4.53vw, 38px);}
	.fz40sp{ font-size: clamp(20px, 0.206rem + 4.77vw, 40px);}
	.fz42sp{ font-size: clamp(21px, 0.216rem + 5.01vw, 42px);}
	.fz48sp{ font-size: clamp(24px, 0.247rem + 5.73vw, 48px);}
	.fz52sp{ font-size: clamp(26px, 0.268rem + 6.21vw, 52px);}
	.fz56sp{ font-size: clamp(28px, 0.288rem + 6.68vw, 56px);}
	.fz58sp{ font-size: clamp(29px, 0.298rem + 6.92vw, 58px);}
	.fz60sp{ font-size: clamp(30px, 0.309rem + 7.16vw, 60px);}
	.fz64sp{ font-size: clamp(32px, 0.329rem + 7.64vw, 64px);}
	.fz70sp{ font-size: clamp(35px, 0.36rem + 8.35vw, 70px);}
	.fz72sp{ font-size: clamp(36px, 0.371rem + 8.59vw, 72px);}
	.fz78sp{ font-size: clamp(39px, 0.401rem + 9.31vw, 78px);}
	.fz80sp{ font-size: clamp(40px, 0.412rem + 9.55vw, 80px);}
	.fz87sp{ font-size: clamp(43.5px, 0.448rem + 10.38vw, 87px);}
	.fz120sp{ font-size: clamp(60px, 0.61rem + 14.35vw, 120px);}
	.fz150sp{ font-size: clamp(75px, 0.763rem + 17.94vw, 150px);}
}
/************************************************************************
	フレックス
**************************************************************************/
/* flex系 */
.flex {
	display: -webkit-box;
	display: flex;
}

.flex_pc{/* 768以下block */
	display: -webkit-box;
	display: flex;
}

.wrap{
	flex-wrap: wrap;
}

.nowrap {
	flex-wrap: nowrap;
}

.fd_rr{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	flex-direction: row-reverse;
}
.fd_c {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
}
.fd_cr{
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	flex-direction: column-reverse;
}

.ai_fs {
	-webkit-box-align: start;
	align-items: flex-start;
}
.ai_fe {
	-webkit-box-align: end;
	align-items: flex-end;
}
.ai_c {
	-webkit-box-align: center;
	align-items: center;
}

.jc_fs {
	-webkit-box-pack: start;
	justify-content: flex-start;
}
.jc_fe {
	-webkit-box-pack: end;
	justify-content: flex-end;
}
.jc_c {
	-webkit-box-pack: center;
	justify-content: center;
}
.jc_sb {
	-webkit-box-pack: justify;
	justify-content: space-between;
}
.jc_sa {
	justify-content: space-around;
}
.order1 {
	-ms-flex-order: 1;
	-webkit-order: 1;
	order: 1;
}
.order2 {
	-ms-flex-order: 2;
	-webkit-order: 2;
	order: 2;
}

.fl_g{
	-webkit-box-flex:1;
	flex-grow:1;
}

@media screen and (max-width: 768px) {
	.flex_pc{
		display: block;
	}
}
/************************************************************************
	リンク
**************************************************************************/
a {
	color: inherit;
	transition: .5s;
}
.a_block{
	display: block;
}
.a_dib{
	display: inline-block;
}
a.no_anchor{
	pointer-events: none;
}
a:hover {
	opacity: 0.5;
}

::-moz-selection {
	color: #fff;
	background: #1a1a1a;
}
::selection {
	color: #fff;
	background: #1a1a1a;
}



/************************************************************************
	インナー
**************************************************************************/
.inner_primary{
	max-width: 1200px;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
}

.inner_secondary{
	max-width: 1480px;
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}
.inner_tertiary{
	max-width: 900px;
	width: 92%;
	margin-left: auto;
	margin-right: auto;
}

/* padding ⚪︎⚪︎px/1600px */
.pt20{
	padding-top: min(20px, 1.3%);
}
.pb20{
	padding-bottom: min(20px, 1.3%);
}

.pt40{
	padding-top: min(40px, 2.5%);
}
.pb40{
	padding-bottom: min(40px, 2.5%);
}

.pt50{
	padding-top: min(50px, 3.1%);
}
.pb50{
	padding-bottom: min(50px, 3.1%);
}

.pt60{
	padding-top: min(60px, 3.8%);
}
.pb60{
	padding-bottom: min(60px, 3.8%);
}

.pt70{
	padding-top: min(70px, 4.4%);
}
.pb70{
	padding-bottom: min(70px, 4.4%);
}

.pt80{
	padding-top: min(80px, 5%);
}
.pb80{
	padding-bottom: min(80px, 5%);
}

.pt90{
	padding-top: min(90px, 5.6%);
}
.pb90{
	padding-bottom: min(90px, 5.6%);
}

.pt100{
	padding-top: min(100px, 6.3%);
}
.pb100{
	padding-bottom: min(100px, 6.3%);
}

.pt110{
	padding-top: min(110px, 6.9%);
}
.pb110{
	padding-bottom: min(110px, 6.9%);
}

.pt120{
	padding-top: min(120px, 7.5%);
}
.pb120{
	padding-bottom: min(120px, 7.5%);
}

.pt130{
	padding-top: min(130px, 8.1%);
}
.pb130{
	padding-bottom: min(130px, 8.1%);
}

.pt140{
	padding-top: min(140px, 8.8%);
}
.pb140{
	padding-bottom: min(140px, 8.8%);
}

.pt150{
	padding-top: min(150px, 9.4%);
}
.pb150{
	padding-bottom: min(150px, 9.4%);
}

.pt160{
	padding-top: min(160px, 10%);
}
.pb160{
	padding-bottom: min(160px, 10%);
}

.pt180{
	padding-top: min(180px, 11.3%);
}
.pb180{
	padding-bottom: min(180px, 11.3%);
}

.pt200{
	padding-top: min(200px, 12.5%);
}
.pb200{
	padding-bottom: min(200px, 12.5%);
}


@media screen and (max-width: 768px) {
	.pt20{
		padding-top: 2.6%;
	}
	.pb20{
		padding-bottom: 2.6%;
	}
	
	.pt40{
		padding-top: 5%;
	}
	.pb40{
		padding-bottom: 5%;
	}
	
	.pt50{
		padding-top: 6.2%;
	}
	.pb50{
		padding-bottom: 6.2%;
	}
	
	.pt60{
		padding-top: 7.6%;
	}
	.pb60{
		padding-bottom: 7.6%;
	}
	
	.pt70{
		padding-top: 8.8%;
	}
	.pb70{
		padding-bottom: 8.8%;
	}
	
	.pt80{
		padding-top: 10%;
	}
	.pb80{
		padding-bottom: 10%;
	}
	
	.pt90{
		padding-top: 11.2%;
	}
	.pb90{
		padding-bottom: 11.2%;
	}
	
	.pt100{
		padding-top: 12.6%;
	}
	.pb100{
		padding-bottom: 12.6%;
	}
	
	.pt110{
		padding-top: 13.8%;
	}
	.pb110{
		padding-bottom: 13.8%;
	}
	
	.pt120{
		padding-top: 15%;
	}
	.pb120{
		padding-bottom: 15%;
	}
	
	.pt130{
		padding-top: 16.2%;
	}
	.pb130{
		padding-bottom: 16.2%;
	}
	
	.pt140{
		padding-top: 17.6%;
	}
	.pb140{
		padding-bottom: 17.6%;
	}
	
	.pt150{
		padding-top: 18.8%;
	}
	.pb150{
		padding-bottom: 18.8%;
	}
	
	.pt160{
		padding-top: 20%;
	}
	.pb160{
		padding-bottom: 20%;
	}
	
	.pt180{
		padding-top: 22.6%;
	}
	.pb180{
		padding-bottom: 22.6%;
	}
	
	.pt200{
		padding-top: 25%;
	}
	.pb200{
		padding-bottom: 25%;
	}
}

.mb1em{
	margin-bottom: 1em;
}
.mb2em{
	margin-bottom: 2em;
}
.mb3em{
	margin-bottom: 3em;
}
.mb4em{
	margin-bottom: 4em;
}
.mb5em{
	margin-bottom: 5em;
}

.z1{
	position: relative;
	z-index: 1;
}
.z2{
	position: relative;
	z-index: 2;
}
.z3{
	position: relative;
	z-index: 3;
}

/************************************************************************
	その他
**************************************************************************/
.youtube{
	position: relative;
}
.youtube::before{
	content: "";
	display: block;
	padding-top: 56.3%;
}
.youtube iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
}

.anchor {
	margin-top: -100px;
	padding-top: 100px;
}

.a_block{
	display: block;
}
.a_inline_block{
	display: inline-block;
}

span.dib{
	display: inline-block;
}

.img{
	position: relative;
}

.dummy_img{
	position: absolute;
	inset: 0;
	text-align: center;
	height: fit-content;
	margin: auto;
}

.img_bg{
	position: relative;
	background: url(../img/cmn/mail.svg) no-repeat center/cover;
}

.img_bg::before{
	content: "";
	display: block;
	padding-top: 75%;
}

.borr20{
	border-radius: clamp(15px, 0.38rem + 1.16vw, 20px);/* 769~1200 */
}
.borr15{
	border-radius: clamp(10px, 0.067rem + 1.16vw, 15px);/* 769~1200 */
}
.borr10{
	border-radius: clamp(7px, 0.103rem + 0.7vw, 10px);/* 769~1200 */
}

.shadow_primary{
	box-shadow: 0px .5vw 1.5vw -.75vw #aaa;
}


.attention_mark{
	position: relative;
	padding-left: 1.1em;
}
.attention_mark::before{
	content: "\0203B";
	position: absolute;
	left: 0;
}

@media screen and (max-width: 768px) {
	.borr20{
		border-radius: clamp(10px, 0.102rem + 2.39vw, 20px);/* 350~768 */
	}
	.borr15{
		border-radius: clamp(7.5px, 0.076rem + 1.79vw, 15px);/* 769~1200 */
	}
	.borr10{
		border-radius: clamp(5px, 0.051rem + 1.2vw, 10px);/* 350~768 */
	}
}

@media (min-width: 769px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

/************************************************************************
	タイトル
**************************************************************************/
.title_primary{
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 500;
	color: #7060ff;
}


@media screen and (max-width: 768px) {

}

.deco_title{
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
	color: #666;
	position: relative;
	padding-left: 1em;
}
.deco_title::before{
	content: "";
	display: block;
	width: .156em;
	height: 1.1em;
	border-radius: .08em;
	background-color: #00d4e5;
	position: absolute;
	left: 0;
	top: calc(50% - .55em);
}

/************************************************************************
	ボタン
**************************************************************************/
.btn_primary{
	display: block;
	text-align: center;
	font-weight: 700;
	color: #7060ff;
	max-width: 100%;
	width: fit-content;
    padding: 1em 2em;
	margin: auto;
    background-color: #fff;
    border: 2px solid #7060ff;
    border-radius: 3em;
    box-shadow: 0 0.2em 1em -0.33em #999;
}
.btn_primary:hover{
	color: #fff;
    background-image: linear-gradient(90deg, #7060ff 0, #5b2bff 100%);
    opacity: 1;
    transform: translateY(0.1em);
    box-shadow: none;
}

.btn_primary.pack{
	letter-spacing: -.01em;
	padding: .8em;
}

/************************************************************************
	リスト
**************************************************************************/
.decimal li, p.decimal{
	position: relative;
	padding-left: 1.5em;
}
.decimal li::before, p.decimal::before{
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	border-radius: .5em;
	background-color: #313333;
	position: absolute;
	left: 0;
	top: .35em;
}
.decimal.decimal_blue li::before, p.decimal_blue::before{
	background-color: #4e89c3;
}
.decimal.decimal_orange li::before, p.decimal_orange::before{
	background-color: #ee883c;
}
.decimal.decimal_green li::before, p.decimal_green::before{
	background-color: #caddaa;
}

.circle{
	padding-left: 1.25em;
	position: relative;
}
.circle::before{
	content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    border-radius: 50%;
    background-color: #3c3232;
    position: absolute;
    top: .6em;
    left: 0.2em;
}



/************************************************************************
	アニメーション
**************************************************************************/
.trigger{
	opacity: 0;
}

/* フェードイン　*/
.animation{/* 下から上へ */
	animation-name: fadeup;
	animation-duration: 0.7s;
	animation-fill-mode: forwards;
	opacity: 0;
}

.animation.down{/* 上から下へ */
	animation-name: fadedown;
}
.animation.right{/* 左から右へ */
	animation-name: faderight;
}
.animation.left{/* 右から左へ */
	animation-name: fadeleft;
}

.animation.deray02{
	animation-delay: .2s;
}
.animation.deray04{
	animation-delay: .4s;
}
.animation.deray08{
	animation-delay: .8s;
}
.animation.deray12{
	animation-delay: 1.2s;
}
.animation.deray16{
	animation-delay: 1.6s;
}

.animation.duration06{
	animation-duration: 0.6s;
}
.animation.duration10{
	animation-duration: 1s;
}



	
	@keyframes fadeup{
	  from {
		opacity: 0;
	  	transform: translateY(2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateY(0);
	  }
	}
	@keyframes fadedown{
	  from {
		opacity: 0;
	  	transform: translateY(-2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateY(0);
	  }
	}
	@keyframes faderight{
	  from {
		opacity: 0;
	  	transform: translateX(-2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateX(0);
	  }
	}
	@keyframes fadeleft{
	  from {
		opacity: 0;
	  	transform: translateX(2em);
	  }
	
	  to {
		opacity: 1;
	  	transform: translateX(0);
	  }
	}


/* フェードインここまで　*/


/************************************************************************
	共通
**************************************************************************/
/* main */
body.hmb_open{
	overflow: hidden;
}
main{
	overflow-x: hidden;
	padding-top: clamp(131.48px, 58.14px + 7.15vw, 144px);/* 350px~768px */
}

@media screen and (max-width: 1024px) {
	main{
		padding-top: clamp(60px, 2.18rem + 7.18vw, 90px);/* 350px~768px 768~1024は90px */
	}
}
/************************************************************************
	header
**************************************************************************/
header{
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 50;
	transition: .4s;
}

header a{
	display: block;
}

.hd_main{
	padding: 2em 0 1.5em;
	background-color: #fff;
	transition: .4s;
}
.is_scroll .hd_main{
	padding: 1em 0 .75em;
	background-color: #fff;
}

.hd_main .inner{
	width: 96%;
	margin: auto;
}

.hd_main h1 .sub{
	display: inline-block;
	padding: 0 .5em;
	margin-left: .5em;
	color: #fff;
	background-color: #7060ff;
	border-radius: .42em;
}


@media screen and (max-width: 1024px) {
	.hd_main{
		padding: 0 0 0 .5em;
		background-color: #fff;
	}

	.is_scroll .hd_main{
		padding: 0 0 0 .5em;
		background-color: #fff;
	}
	.hd_main .inner{
		width: 100%;
	}

	.hd_main h1{
		flex-grow: 1;
	}
}

/* ヘッダーメインのアクセス〜sns */

.hd_nav li{
	margin-right: 2em;
}

.hd_sns_wrapper li{
	margin-right: 1em;
}

.hd_sns_wrapper li a img{
	vertical-align: sub;
}

@media screen and (max-width: 1024px) {
	.hd_nav{
		display: none;
	}

	.hd_sns_wrapper li{
		margin-right: .85em;
	}
	.hd_sns_wrapper li.insta{
		width: clamp(17px, 0.278rem + 3.59vw, 32px);/* 350~768 */
	}
	.hd_sns_wrapper li.twitter{
		width: clamp(22px, 0.642rem + 3.35vw, 36px);/* 350~768 */
	}
}
@media screen and (min-width: 1601px) {
	
}



@media screen and (max-width: 768px) {

}

/* -*-*-*-*-*- グローバルナビ -*-*-*-*-*- */
#global{
	color: #fff;
	background-color: #7060ff;
}

#global nav ul li a{
	padding: 1.25em 1.75vw;
}
.is_scroll #global nav ul li a{
	padding: .75em 1.75vw;
}
#global nav ul li a:hover{
	opacity: 1;
	color: #fff;
	background-color: #9286ff;
}
#global nav ul li a:hover::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	transform: translateY(-.25em);
}

@media screen and (max-width: 1300px) {
	#global nav ul li a{
		padding: 1.25em 1.1vw;
	}
	.is_scroll #global nav ul li a{
		padding: .75em 1.1vw;
	}
}

@media screen and (max-width: 1024px) {
	#global{
		display: -webkit-box;
		display: flex;
		font-size: clamp(15px, 0.451rem + 2.23vw, 30px);/* 350px~1024px */
		width: 100%;
		height: 100vh;
		padding: 20% 2%;
		background-color: rgba(112, 96, 255, .8);
		overflow: auto;
		position: absolute;
		z-index: -1;
		top: 0;
		right: -120%;
		transition: .5s;
	}
	.hmb_open #global{
		right: 0;
	}

	#global nav{
		margin: auto;
	}

	#global nav ul{
		display: block;
		margin-bottom: 2em;
	}

	#global nav ul li{
		margin-bottom: .5em;
	}

	#global nav ul li a, .is_scroll #global nav ul li a{
		width: fit-content;
		padding: .75em 1.5em;
		margin: auto;
		border-radius: clamp(0.938rem, 0.613rem + 1.48vw, 1.563rem);
	}
	#global nav ul li a:hover::after{
		display: none;
	}

}

/* -*-*-*-*-*- ハンバーガー -*-*-*-*-*- */

.hmb{
	display: -webkit-box;
	display: flex;
	width: clamp(60px, 2.18rem + 7.18vw, 90px);/* 350px~768px */
	height: clamp(60px, 2.18rem + 7.18vw, 90px);/* 350px~768px */
	background-color: #7060ff;
	transition: .4s;
}
.is_scroll .hmb{
	display: -webkit-box;
	display: flex;
	width: clamp(45px, 1.635rem + 5.38vw, 67.5px);/* 350px~768px */
	height: clamp(45px, 1.635rem + 5.38vw, 67.5px);/* 350px~768px */
	background-color: #7060ff;
}

.hmb_bar{
	width: 60%;
	height: 45%;
	margin: auto;
	position: relative;
	transition: .4s;
}
.hmb:hover .hmb_bar{
	transform: translateY(-5%);
}

.hmb_bar span{
	display: inline-block;
	width: 100%;
	height: clamp(2px, 0.028rem + 0.45vw, 5px);/* 350px~1024px */
	background-color: #fff;
	position: absolute;
	transition: .4s;
}

.hmb_bar span:nth-of-type(1){
	top: 0;
}
.hmb_bar span:nth-of-type(2){
	top: calc(50% - 2px);
}
.hmb_bar span:nth-of-type(3){
	bottom: 0;
}

.hmb_open .hmb_bar span:nth-of-type(1){
	top: 43%;
	transform: rotate(-45deg);
}
.hmb_open .hmb_bar span:nth-of-type(2){
	opacity: 0;
}
.hmb_open .hmb_bar span:nth-of-type(3){
	bottom: 47%;
	transform: rotate(45deg);
}
@media screen and (min-width: 1025px) {
	.hmb, .is_scroll .hmb{
		display: none;
	}
}
/************************************************************************
	footer
**************************************************************************/
.ft_logo{
	width: 18.75em;
	margin: auto;
}

.ft_logo img{
	width: 100%;
}

.copyright{
	text-align: center;
	padding: 1em;
	color: #fff;
	background-color: #7060ff;
}

@media screen and (min-width: 1601px) {
	footer .inner{
		max-width: none;
		width: 92.5%;
	}
}

@media screen and (max-width: 768px) {
	.ft_logo{
		width: 15em;
	}
}

/************************************************************************
	MV
**************************************************************************/
#mv{
	position: relative;
}
#mv::before{
	content: "";
	display: block;
	padding-top: 53.1%;
}
#mv img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#mv a{
	display: block;
	position: absolute;
}
#mv a:hover{
	opacity: 1;
	background-color: rgba(255, 255, 255, .3);
}
#mv .link01{
	width: 21.25%;
	padding-top: 4.2%;
	border-radius: 5rem;
	bottom: 18.1%;
	left: 23.4%;
}
#mv .link02{
	width: 10.4%;
	padding-top: 4.12%;
	border-radius: 5rem;
	bottom: 6%;
	left: 24.65%;
}
#mv .link03{
	width: 25.6%;
	padding-top: 11.7%;
	clip-path: polygon(0 21.6%, 76.7% 21.6%, 76.7% 0, 100% 50%, 76.7% 100%, 76.7% 78.4%, 0 78.4%);
	bottom: 3.05%;
	right: 2%;
}
@media screen and (max-width: 768px) {

}

/************************************************************************
	お知らせ
**************************************************************************/
#news_list .inner{
	max-width: 1000px;
	width: 92%;
	margin: auto;
}

#news_list h2{
	width: 5.5em;
}

#news_list ul{
	padding-left: 4.8%;
	border-left: 2px solid #7060ff;
	overflow: hidden;/* タイトルの[...]省略がflexアイテムでは効きづらいための処置 */
}

#news_list ul li{
	display: -webkit-box;
	display: flex;
	margin-bottom: .75em;
}
#news_list ul li:nth-last-of-type(1){
	margin-bottom: 0;
}

#news_list ul li .date{
	color: #4c4c4c;
	width: 7.75em;
}

#news_list ul li h3{
	width: calc(100% - 7.75em);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}


@media screen and (max-width: 768px) {
	#news_list .inner{
		display: block;
	}

	#news_list h2{
		width: fit-content;
		margin-bottom: 1em;
		position: relative;
	}
	#news_list h2::after{
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background-color: #7060ff;
	}

	#news_list ul{
		padding-left: 0;
		border-left: none;
	}

	#news_list ul li{
		display: block;
		margin-bottom: 1em;
	}

	#news_list ul li .date{
		width: 100%;
	}
	
	#news_list ul li h3{
		width: 100%;
	}
}

/************************************************************************
	総合知が時代を拓く
**************************************************************************/
/* -*-*-*-*-*- intro01 -*-*-*-*-*- */
.intro01{
	background-color: #f8f7ff;
}

.intro01 .inner{
	max-width: 1380px;
	width: 98%;
	padding-top: 1px;
	margin: auto;
}

.intro01 .text_wrapper{
	width: 63%;
}

.intro01 h2{
	width: 73.6%;
	margin-top: -9%;
	margin-bottom: 3.25em;
}

.intro01 h3{
	padding-left: 1.25em;
	margin-bottom: .5em;
	position: relative;
}
.intro01 h3::before{
	content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    border-radius: 50%;
    background-color: #7060ff;
    position: absolute;
    top: .6em;
    left: 0.2em;
}

.intro01 .text{
	letter-spacing: .02em;
	margin-bottom: .66em;
	position: relative;
	z-index: 1;
}
.intro01 .text_box .text:nth-last-of-type(1){
	margin-bottom: 0;
}


.intro01 .img_wrapper{
	width: 33%;
	margin-top: 4.5%;
	position: relative;
	z-index: 1;
}
.intro01 .img_wrapper::before{
	content: "";
	display: block;
	width: 50%;
	padding-top: 50%;
	background: url(../img/intro/intro_deco01.png) no-repeat center/contain;
	position: absolute;
	z-index: -1;
	right: 0;
	bottom: 70%;
}
.intro01 .img_wrapper::after{
	content: "";
	display: block;
	width: 75%;
	padding-top: 50%;
	background: url(../img/intro/intro_deco02.png) no-repeat center/contain;
	position: absolute;
	z-index: -1;
	left: -13%;
	bottom: -6%;
}

.intro01 .img_wrapper .img{
	overflow: hidden;
}

@media screen and (max-width: 768px) {
	.intro01 .inner{
		display: block;
		width: 92%;
		padding-top: 1px;
		padding-bottom: 20%;
	}

	.intro01 .text_wrapper{
		width: 100%;
	}

	.intro01 h2{
		width: 91.3%;
		margin-top: -5%;
		margin-bottom: 6%;
	}

	.intro01 .img_wrapper{
		width: 95.7%;
		margin-left: auto;
		padding-top: 14.7%;
	}
	.intro01 .img_wrapper .img{
		width: 89.4%;
	}

	.intro01 .img_wrapper::before{
		width: 34%;
		padding-top: 34%;
		bottom: auto;
		top: 0;
	}

	.intro01 .img_wrapper::after{
		content: "";
		display: block;
		width: 54.4%;
		padding-top: 36.2%;
		background: url(../img/intro/intro_deco02.png) no-repeat center/cover;
		left: -7%;
		bottom: -8%;
	}
}

/* -*-*-*-*-*- intro02 -*-*-*-*-*- */
.intro02 a{
	display: block;
}
.intro02 .inner{
	max-width: 1440px;
	width: 98%;
	margin: auto;
	position: relative;
}

.intro02 .inner::before{
	content: "";
	display: block;
	width: 21.6%;
	padding-top: 16.2%;
	background: url(../img/intro/intro_deco03.png) no-repeat center/contain;
	position: absolute;
	top: 8%;
	left: 0;
	z-index: -1;
}
.intro02 .inner::after{
	content: "";
	display: block;
	width: 16.2%;
	padding-top: 16.2%;
	background: url(../img/intro/intro_deco04.png) no-repeat center/contain;
	position: absolute;
	bottom: 15%;
	right: 0;
	z-index: -1;
}

@media screen and (max-width: 768px) {
	.intro02 .inner{
		width: 100%;
		padding-top: 20%;
		padding-bottom: 21.3%;
	}

	.intro02 .inner::before{
		width: 42.7%;
		padding-top: 32%;
		background: url(../img/intro/intro_deco03.png) no-repeat center/contain;
		top: 11%;
	}
	.intro02 .inner::after{
		width: 32%;
		padding-top: 32%;
		bottom: 23%;
		right: 0;
	}
}
/* -*-*-*-*-*- ナビ -*-*-*-*-*- */

.intro_nav01{
	color: #fff;
	max-width: 1200px;
	width: 98%;
	padding: 3% 4.6%;
	margin: auto;
	background: url(../img/intro/intro_nav.png) no-repeat center/cover;
}

.intro_nav01 li{
	text-align: center;
	width: 25%;
	position: relative;
}

.intro_nav01 li a{
	padding: 1em 0;
}
.intro_nav01 li a:hover{
	opacity: 1;
	background-color: rgba(255, 255, 255, .2);
}

.intro_nav01 li a span{
	display: inline-block;
	width: fit-content;
	position: relative;
}
.intro_nav01 li a:hover span::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	transform: translateY(-.25em);
}

@media screen and (max-width: 768px) {
	.intro_nav01{
		width: 95.2%;
		padding: 4% 3.7%;
		background: url(../img/intro/intro_nav_sp.png) no-repeat center/cover;
	}

	.intro_nav01 li{
		width: 50%;
	}
	.intro_nav01 li a{
		padding: 1.5em 0;
	}
}

/* -*-*-*-*-*- 白線 -*-*-*-*-+-*/
.intro_nav01 li::before{
	content: "";
	display: block;
	width: 96%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 2%;
}
.intro_nav01 li:nth-of-type(-n+4)::before{
	display: none;
}

.intro_nav01 li::after{
	content: "";
	display: block;
	width: 1px;
	height: 90%;
	background-color: #fff;
	position: absolute;
	right: 0;
	top: 0;
}
.intro_nav01 li:nth-of-type(n+5)::after{
	top: 10%;
}
.intro_nav01 li:nth-of-type(4n)::after{
	display: none;
}

@media screen and (max-width: 768px) {
	.intro_nav01 li:nth-of-type(n+3):nth-of-type(-n+4)::before{
		display: block;
	}
	.intro_nav01 li:nth-of-type(2n)::after{
		display: none;
	}

	.intro_nav01 li::before{
		width: 91%;
		height: 1px;
		left: 4.5%;
	}
	.intro_nav01 li::after{
		height: 74.6%;
		top: 12.7%;
	}
}

/* -*-*-*-*-*- アクセス・お問い合わせ -*-*-*-*-*- */

.intro_nav02{
	padding-top: 3em;
	max-width: 960px;
	width: 96%;
	margin: auto;
}

.intro_nav02 li{
	width: 47%;
	text-align: center;
}

.intro_nav02 li a{
	color: #7060ff;
	padding: 1.4em 1em;
	background-color: #fff;
	border: 2px solid #7060ff;
	border-radius: 3em;
	box-shadow: 0 .2em 1em -.33em #999;
}
.intro_nav02 li a:hover{
	color: #fff;
	padding: 1.4em 1em;
	background-image: linear-gradient(90deg, #7060ff 0, #5b2bff 100%);
	border-radius: 3em;
	opacity: 1;
	transform: translateY(.1em);
	box-shadow: none;
}

.intro02 .map{
	position: relative;
}
.intro02 .map::before{
	content: "";
	display: block;
	padding-top: 31.8%;
}
.intro02 .map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 768px) {
	.intro_nav02{
		width: 95.2%;
		padding-top: 8.6%;
	}

	.intro_nav02 li{
		width: 47.6%;
	}
	
	.intro_nav02 li a{
		padding: .7em 1em;
	}

	.intro02 .map::before{
		padding-top: 91.4%;
	}
}



/************************************************************************
	総合知玉手箱
**************************************************************************/
.pdf_text{
	font-weight: 700;
	text-align: center;
	width: fit-content;
	background-color: rgba(255, 255, 255, .2);
	position: absolute;
	bottom: .25em;
	left: 0;
	right: 0;
	margin: auto;
}
.pdf_text::before{
	content: "";
	display: inline-block;
	vertical-align: sub;
	width: 1em;
	height: 1.2em;
	margin-right: .25em;
	background: url(../img/cmn/downloads.svg) no-repeat center/contain;
}
.sub_title_section{
	position: relative;
	z-index: 1;
}
.sub_title_section::before{
	content: "project";
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: clamp(72px, -0.833rem + 11.11vw, 120px);/* 769~1200 */
	font-weight: 500;
	line-height: 1;
	color: #f0efff;
	text-transform: capitalize;
	position: absolute;
	z-index: -1;
	left: 0;
	top: min(120px, 7.5vw);
}
.sub_title_section h2{
	margin-bottom: .4em;
	position: relative;
	z-index: 1;
}
.sub_title_section h3{
	margin-bottom: .5em;
}

#project .flex_wrapper{
	margin-bottom: 1em;
}

#project .flex_wrapper .text_wrapper{
	width: 53%;
}

#project .flex_wrapper .text_wrapper h2{
	margin-bottom: .5em;
}
#project .flex_wrapper .text_wrapper h3{
	margin-bottom: .5em;
}

#project .flex_wrapper .img{
	width: 45%;
	margin-top: 12%;
	border: 1px solid #e5e5e5;
}

@media screen and (max-width: 768px) {
	.sub_title_section::before{
		font-size: clamp(75px, 0.763rem + 17.94vw, 150px);
		top: 13vw;
	}

	#project .inner_primary{
		padding-bottom: 40%;
	}

	#project .flex_wrapper{
		display: block;
	}

	#project .flex_wrapper .text_wrapper{
		width: 100%;
	}

	.sub_title_section h3{
		margin-bottom: .75em;
	}

	#project .flex_wrapper .text_wrapper p{
		line-height: 2.25;
	}

	#project .img{
		margin-top: 1.5em;
		width: 100%;
	}
}

/* detail_wrapper */

#project .detail_wrapper{
	padding: 3% 2%;
	margin-top: 4%;
	box-shadow: 0 0 1em -.33em #999;
}

#project .detail_wrapper li{
	width: 33.3%;
	padding: 0 2%;
	border-right: 1px solid #e5e5e5;
	position: relative;
}
#project .detail_wrapper li:nth-last-of-type(1){
	border-right: none;
}

#project .detail_wrapper li .img_bg_wrapper{
	display: -webkit-box;
	display: flex;
	margin-bottom: 5%;
}
#project .detail_wrapper li .img_bg_wrapper.sp{
	display: none;
}
#project .detail_wrapper li .img_bg{
	width: 31.3%;
	margin: auto;
	background: url(../img/project/project01.svg) no-repeat center/contain;
}
#project .detail_wrapper li .img_bg::before{
	padding-top: 84%;
}

#project .detail_wrapper li:nth-of-type(2) .img_bg{
	width: 28.2%;
	background: url(../img/project/project02.svg) no-repeat center/contain;
}
#project .detail_wrapper li:nth-of-type(2) .img_bg::before{
	padding-top: 110%;
}

#project .detail_wrapper li:nth-of-type(3) .img_bg{
	width: 33.18%;
	background: url(../img/project/project03.svg) no-repeat center/contain;
}
#project .detail_wrapper li:nth-of-type(3) .img_bg::before{
	padding-top: 89.6%;
}

#project .detail_wrapper li .h3_wrapper{
	display: -webkit-box;
	display: flex;
	margin-bottom: 5%;
}
#project .detail_wrapper li h3{
	margin: auto;
}

#project .detail_wrapper li p{
	margin: 0 auto auto;
}

#project .detail_wrapper .btn_primary{
	margin-top: 1.5em;
}
@media screen and (max-width: 768px) {
	#project .detail_wrapper{
		display: block;
		margin-top: 10%;
	}

	#project .detail_wrapper li{
		width: 100%;
		padding: 10% 0 7.5%;
		border-right: none;
		border-bottom: 1px solid #e5e5e5;
	}
	#project .detail_wrapper li:nth-last-of-type(1){
		border-bottom: none;
	}

	#project .detail_wrapper li .img_bg_wrapper.pc{
		display: none;
	}
	#project .detail_wrapper li .img_bg_wrapper.sp{
		display: block;
		width: 20%;
		margin: auto auto auto 0;
	}
	#project .detail_wrapper li .img_bg{
		width: 100%;
		margin: auto;
	}
	#project .detail_wrapper li:nth-of-type(2) .img_bg{
		width: 100%;
	}
	#project .detail_wrapper li:nth-of-type(3) .img_bg{
		width: 100%;
	}

	#project .detail_wrapper li .text_wrapper{
		width: 100%;
	}

	#project .detail_wrapper li .h3_wrapper{
		display: -webkit-box;
		display: flex;
		margin-bottom: 1em;
	}
	#project .detail_wrapper li h3{
		text-align: center;
		font-feature-settings: "palt";
		width: 70%;
		margin: auto 0;
	}
	#project .detail_wrapper li p{
		font-feature-settings: "palt";
		letter-spacing: .08em;
	}
}

/************************************************************************
	合評セッション
**************************************************************************/
#session{
	background-image: linear-gradient(75deg, rgba(213, 216, 255, 1) 0, rgba(255, 253, 250, 0) 66%, rgba(255, 253, 250, 0) 100%);
	position: relative;
}
#session.sub_title_section::before{
	content: "session";
	color: #fff;
}

#session::after{
	content: "";
	display: block;
	width: 56.3%;
	padding-top: 56.3%;
	background: url(../img/session/session_mv.png) no-repeat center/contain;
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
}

#session .text_wrapper{
	width: 55%;
	margin-bottom: 4.5%;
}

.content_container{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

.content{
	width: 49.2%;
	padding: 3.5% 4%;
	margin-bottom: 1.6%;
	background-color: #fff;
	border-radius: clamp(10px, 0.067rem + 1.16vw, 15px);/* 769~1200 */
	box-shadow: 0 0 1em -.33em #999;
	overflow: hidden;
	position: relative;
}

.content .no_open{
	line-height: 1.5;
	text-align: center;
	width: 94%;
	margin: auto auto 2em;
}

.content h3{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	text-align: center;
	line-height: 1.75;
	height: 3.5em;
	margin-bottom: .7em;
}
.content h3 .end_message{
	display: block;
	color: #000;
}

.content .img{
	width: 100%;
	margin-bottom: 5%;
}
.content .img img{
	width: 100%;
}

.content .flex_wrapper{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
	width: 66%;
	margin: auto;
}
.content .flex_wrapper li{
	width: 47%;
	margin-bottom: 6%;
}

.content .flex_wrapper li img{
	width: 100%;
}

.content .award_dl .wrapper{
	margin-bottom: .75em;
}
.content .award_dl .wrapper dt{
	font-size: 1.1em;
	font-weight: 700;
	margin-bottom: .33em;
}
.content .award_dl .wrapper dd{
	padding-left: 1.33em;
}

#session .content .award_dl{
	margin-bottom: 1.5em;
}

@media screen and (max-width: 768px) {

	#session{
		background-image: linear-gradient(75deg, rgba(213, 216, 255, 1) 0, rgba(255, 253, 250, 0) 100%);
		z-index: 2;
	}

	#session::after{
		width: 87.7%;
		padding-top: 98.7%;
		background: url(../img/session/session_mv_sp.png) no-repeat center/contain;
		top: -20vw;
		right: 0;
	}

	#session .inner_primary{
		padding-top: 57.3%;
		padding-bottom: 20%;
	}

	#session.sub_title_section::before{
		z-index: 0;
		top: 38vw;
		left: 3%;
	}

	#session .text_wrapper{
		width: 100%;
		margin-bottom: 12.5%;
	}
	
	.content_container{
		display: block;
	}

	.content{
		width: 100%;
		padding: 7% 5%;
		margin-bottom: 5%;
		border-radius: clamp(7.5px, 0.076rem + 1.79vw, 15px);/* 769~1200 */
	}

	.content h3{
		text-align: center;
		line-height: 1.75;
		margin-bottom: .5em;
	}

	.content .img{
		width: 80.8%;
		margin: 0 auto 5%;
	}
	

	.content .flex_wrapper{
		width: 54.8%;
		padding: 8% 0;
	}

	.content .award_dl .wrapper dd{
		padding-left: .75em;
	}
}

/* -*-*-*-*-*- スワイパー -*-*-*-*-*- */
.content .swiper{
	width: 100%;
	overflow: visible;
	margin-bottom: 5%;
}
.content .swiper .swiper-slide img{
	width: 100%;
}

.content .swiper .swiper-button-prev, .content .swiper .swiper-button-next{
	width: 7.5%;
	height: auto;
	padding-top: 7.5%;
	background: url(../img/cmn/swiper_arrow01.png) no-repeat center/contain;
	top: 60%;
}
.content .swiper .swiper-button-prev{
	transform: scale(-1, 1);
	left: -7%;
}
.content .swiper .swiper-button-next{
	right: -7%;
}
.content .swiper .swiper-button-prev::after, .content .swiper .swiper-button-next::after{
	display: none;
}

@media screen and (max-width: 768px) {
	.content .swiper{
		width: 80.8%;
		margin: auto auto 5%;
	}

	.content .swiper .swiper-button-prev, .content .swiper .swiper-button-next{
		width: 10%;
		padding-top: 10%;
		top: 55%;
	}
	.content .swiper .swiper-button-prev{
		left: -20%;
	}
	.content .swiper .swiper-button-next{
		right: -20%;
	}
}

/* コンクールのMVの円 */
@media screen and (max-width: 768px) {
	#competition_deco{
		position: relative;
		z-index: -1;
	}

	#competition_deco::before{
		content: "competition";
		font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-weight: 500;
		font-size: clamp(60px, 0.61rem + 14.35vw, 120px);
		color: #f0efff;
		text-transform: capitalize;
		position: absolute;
		left: 0;
		bottom: -108vw;
	}

	#competition_deco::after{
		content: "";
		display: block;
		width: 100%;
		padding-top: 126%;
		background: url(../img/competition/competition_mv_sp.png?240215) no-repeat center/contain;
		position: absolute;
		bottom: -92vw;
		z-index: -1;
	}
}
/************************************************************************
	総合知育成コンクールH₂O
**************************************************************************/
#competition.sub_title_section::before{
	content: "competition";
	left: auto;
	right: 0;
}

#competition::after{
	content: "";
	display: block;
	width: 57.9%;
	padding-top: 58.7%;
	background: url(../img/competition/competition_mv.png?240215) no-repeat center/contain;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#competition .text_wrapper{
	width: 50%;
	margin-left: auto;
	margin-bottom: 7%;
}

#competition .text_wrapper h2{
	margin-bottom: .5em;
}
#competition .text_wrapper h3{
	margin-bottom: .5em;
}
#competition .text_wrapper p{
	line-height: 2.125;
}

#competition .content04 .btn_primary{
	margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
	#competition.sub_title_section::before{
		display: none;
	}
	
	#competition::after{
		display: none;
	}

	#competition .inner_secondary{
		width: 94%;
		padding-top: 100%;
	}

	#competition .text_wrapper{
		width: 100%;
		margin-bottom: 12%;
	}

	#competition .inner_primary{
		padding-bottom: 40%;
	}
}
/************************************************************************
	総合知ギャラリー
**************************************************************************/
#gallery{
	background-image: linear-gradient(75deg, rgba(213, 216, 255, 1) 0, rgba(255, 253, 250, 0) 100%);
}
#gallery.sub_title_section::before{
	content: "gallery";
	color: #fff;
	top: min(90px, 5.6vw);
}

#gallery::after{
	content: "";
	display: block;
	width: 50%;
	padding-top: 48.2%;
	background: url(../img/gallery/gallery_mv.png?240328_2) no-repeat center/contain;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}

#gallery .text_wrapper{
	width: 57%;
	margin-bottom: 7.5%;
}

#gallery .text_wrapper h2{
	color: #a292fe;
	margin-bottom: .35em;
}
#gallery .text_wrapper h3{
	margin-bottom: .5em;
}

#gallery .content04 .wrapper{
	margin-bottom: 1.25em;
}
#gallery .content04 .wrapper p.fz18{
	margin-bottom: .5em;
}


@media screen and (max-width: 768px) {
	#gallery.sub_title_section::before{
		top: 88vw;
	}
	
	#gallery::after{
		width: 100%;
		padding-top: 116.9%;
		background: url(../img/gallery/gallery_mv_sp.png?240328_2) no-repeat center/contain;
		top: -27vw;
	}

	#gallery .inner_primary{
		padding-top: 105.3%;
	}

	#gallery .text_wrapper{
		width: 100%;
		margin-bottom: 12%;
	}
}

/************************************************************************
	総合知学生クラブ
**************************************************************************/
#club{
	background: url(../img/club/club_bg.jpg?240215) no-repeat center/cover;
}

#club .mv_wrapper .img_bg{
	background: url(../img/club/club_mv.jpg) no-repeat center/cover;
}
#club .mv_wrapper .img_bg::before{
	padding-top: 33.3%;
}

#club .mv_wrapper h2{
	color: #fff;
	line-height: .45;
	text-transform: capitalize;
	text-align: center;
	margin-bottom: 8%;
	text-shadow: 0 0 .1em rgba(0, 0, 0, 0.4);
	position: relative;
	z-index: 1;
}

#club .detail_wrapper li{
	width: 31.7%;
	padding: 0 3% 3%;
	border-radius: clamp(10px, 0.067rem + 1.16vw, 15px);/* 769~1200 */
	background-color: #fff;
	box-shadow: 0 0 1em -.33em #ccc;
	position: relative;
	z-index: 1;
}
#club .detail_wrapper li::before{
	content: "";
	display: block;
	width: 42.1%;
	padding-top: 42.1%;
	border-radius: 50%;
	background-color: #fff;
	position: absolute;
	top: -15%;
	left: calc(50% - 21.05%);
	z-index: -1;
}

#club .detail_wrapper li .img_bg{
	width: 32%;
	margin: -6% auto 3%;
	background: url(../img/club/club01.svg) no-repeat top/contain;
}
#club .detail_wrapper li .img_bg::before{
	padding-top: 114.4%;
}

#club .detail_wrapper li:nth-of-type(2) .img_bg{
	width: 36%;
	background: url(../img/club/club02.svg) no-repeat top 20% center/contain;
}
#club .detail_wrapper li:nth-of-type(2) .img_bg::before{
	padding-top: 71.4%;
}

#club .detail_wrapper li:nth-of-type(3) .img_bg{
	background: url(../img/club/club03.svg) no-repeat top/contain;
}
#club .detail_wrapper li:nth-of-type(3) .img_bg::before{
	padding-top: 94.7%;
}

#club .detail_wrapper li h3{
	position: relative;
	z-index: 1;
	margin-bottom: .75em;
}

@media screen and (max-width: 768px) {
	#club{
		background: url(../img/club/club_bg_sp.jpg?240215) no-repeat center/cover;
	}

	#club.inner_primary{
		padding-bottom: 13.3%;
	}

	#club .mv_wrapper{
		margin-bottom: 18%;
	}
	
	#club .mv_wrapper .img_bg{
		background: url(../img/club/club_mv_sp.jpg) no-repeat center/cover;
	}
	#club .mv_wrapper .img_bg::before{
		padding-top: 55.6%;
	}

	#club .detail_wrapper{
		display: block;
	}

	#club .detail_wrapper li{
		width: 93%;
		padding: 11% 13.3%;
		margin-left: auto;
		margin-bottom: 4.5%;
		border-radius: clamp(7.5px, 0.076rem + 1.79vw, 15px);/* 769~1200 */
	}

	#club .detail_wrapper li::before{
		width: 22.7%;
		padding-top: 22.7%;
		top: 50%;
		left: -9%;
		transform: translateY(-50%);
	}

	#club .detail_wrapper li .img_bg{
		width: 13.6%;
		margin: 0;
		background-position: center;
		position: absolute;
		top: 50%;
		left: -5%;
		transform: translateY(-50%);
	}
	#club .detail_wrapper li:nth-of-type(2) .img_bg{
		width: 15.9%;
	}
	#club .detail_wrapper li:nth-of-type(3) .img_bg{
		width: 14.4%;
	}

	#club .detail_wrapper li h3{
		text-align: left;
		margin-bottom: .25em;
	}
}

/************************************************************************
	News&Event
**************************************************************************/
#news{
	overflow: hidden;
}
#news h2{
	line-height: .5;
	padding-left: 4.25em;
	margin-bottom: .5em;
	position: relative;
}
#news h2 .sub{
	color: #000;
}
#news h2::before{
	content: "";
	display: inline-block;
	width: 4em;
	height: 2px;
	background-color: #7060ff;
	position: absolute;
	left: 0;
	top: .25em;
}

@media screen and (max-width: 768px) {
	#news{
		padding-top: 22.7%;
		padding-bottom: 26.7%;
	}

	#news h2{
		line-height: .6;
		padding-left: 1em;
		margin-bottom: .5em;
	}
	#news h2::before{
		width: .625em;
	}
}


@media screen and (max-width: 768px) {
	#news .swiper_container::before{
		width: 96%;
		height: 100%;
		border-radius: 0 clamp(15px, 0.153rem + 3.59vw, 30px) clamp(15px, 0.153rem + 3.59vw, 30px) 0;
	}
}
/* -*-*-*-*-*- スワイパーのナビ -*-*-*-*-*- */
#news .swiper_nav{
	width: 18.75em;
	padding: 6% 0 26%;
	margin-bottom: 2%;
	background: url(../img/news/news_nav.png) no-repeat center/cover;
	border-radius: 0 clamp(15px, 0.38rem + 1.16vw, 20px) clamp(15px, 0.38rem + 1.16vw, 20px) 0;
	position: relative;
	z-index: 2;
}

/* #news .swiper_nav ul{
	width: fit-content;
	padding: 25% 0 50%;
	margin-left: auto;
}

#news .swiper_nav ul li{
	font-weight: 700;
	color: #fff;
	padding: .5em 3.5em .5em 2.5em;
	margin-bottom: .5em;
	border-radius: 2em 0 0 2em;
	background-color: transparent;
	transition: .4s;
	cursor: pointer;
}
#news .swiper_container .swiper_nav ul li.active{
	color: #7060ff;
	background-color: #fff;
} */

#news .swiper_container .swiper_nav p.text{
	font-weight: 700;
	color: #7060ff;
	background-color: #fff;
	width: fit-content;
	padding: .5em 3.5em .5em 2.5em;
	margin-left: auto;
	border-radius: 2em 0 0 2em;
}

@media screen and (max-width: 768px) {
	#news .swiper_container {
		padding-top: 12%;
	}
	#news .swiper_container .swiper_nav{
		width: 88%;
		padding: 5% 0;
		margin-top: -2em;
		margin-bottom: 9%;
		border-radius: 0 clamp(10px, 0.102rem + 2.39vw, 20px) clamp(10px, 0.102rem + 2.39vw, 20px) 0;
		background: url(../img/news/news_nav_sp.png) no-repeat center/cover;
	}
	#news .swiper_container .swiper_nav p.text{
		padding: .5em 3.5em;
		margin-right: 5em;
		border-radius: 2em;
	}
	/* #news .swiper_container .swiper_nav ul{
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: justify;
		justify-content: space-between;
		padding: 3% 2%;
		margin-left: 0;
	}
	#news .swiper_container .swiper_nav ul li{
		padding: .3em 1.3em;
		margin-bottom: 0;
		border-radius: 2em;
		background-color: transparent;
		transition: .4s;
	}
	#news .swiper_container .swiper_nav ul li.active{
		padding: .3em 1.8em;
	} */
}

/* -*-*-*-*-*- スワイパー -*-*-*-*-*- */
#news_swiper{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	align-items: flex-start;
	width: 100%;
	padding-bottom: 2%;
	margin-left: auto;
	margin-right: 0;
	overflow: visible;
}

#news_swiper::before{
	content: "";
	display: block;
	width: 80%;
	height: 82%;
	background-color: #f0efff;
	border-radius: 0 clamp(15px, 0.07rem + 1.81vw, 30px) clamp(15px, 0.07rem + 1.81vw, 30px) 0;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}

#news_swiper .swiper-wrapper{
	width: calc(97% - 18.75em);
	height: 79%;
}

#news_swiper .swiper-slide{
	background-color: #fff;
	max-width: 280px;
	box-shadow: 0 0 1em -.33em #ccc;
	overflow: hidden;
}
@media screen and (min-width: 769px) {
	#news_swiper .swiper-slide{
		max-height: 400px;
	}
}

#news_swiper .swiper-slide .img{
	position: relative;
	overflow: hidden;
}
#news_swiper .swiper-slide .img::before{
	content: "";
	display: block;
	padding-top: 62.5%;
}
#news_swiper .swiper-slide .img img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#news_swiper .swiper-slide .text_wrapper{
	padding: 8% 5%;
}


#news_swiper .swiper-slide .cat{
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 500;
	color: #fff;
	text-align: center;
	width: 100%;
	max-width: 10em;
	margin-bottom: .5em;
	border-radius: .625em;
}
#news_swiper .swiper-slide .cat.event_cat{
	background-color: #56e991;
}
#news_swiper .swiper-slide .cat.info_cat{
	background-color: #ee8942;
}
#news_swiper .swiper-slide .cat.other_cat{
	background-color: #ee52a0;
}

#news_swiper .swiper-slide .text_wrapper .date{
	font-size: 0.9em;
}

#news_swiper .swiper-slide .text_wrapper h3, #news_swiper .swiper-slide .text_wrapper .text{
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

#news_prev, #news_next{
	width: 3.125em;
	height: 3.125em;
	background: url(../img/news/news_arrow.svg) no-repeat center/contain;
}
#news_prev{
	left: 8.25em;
	top: 55%;
}
#news_next{
	transform: scale(-1, 1);
	left: 12.5em;
	top: 55%;
}


#news_prev::after, #news_next::after{
	display: none;
}
@media screen and (max-width: 768px) {
	#news_swiper{
		display: block;
		width: 100%;
		padding-top: 0;
		padding-bottom: 13.3%;
		position: relative;
	}
	#news_swiper::before{
		width: 96%;
		height: 100%;
		border-radius: 0 clamp(15px, 0.153rem + 3.59vw, 30px) clamp(15px, 0.153rem + 3.59vw, 30px) 0;
	}

	#news_swiper .swiper-slide{
		max-width: none;
		height: 100%;
	}

	#news_swiper .swiper-slide .cat{
		font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-weight: 500;
		color: #fff;
		margin-bottom: .5em;
		border-radius: .625em;
	}


	#news_prev, #news_next{
		width: 3.17em;
		height: 3.17em;
		background: url(../img/news/news_arrow02.png) no-repeat center/contain;
	}
	#news_prev:hover, #news_next:hover{
		filter: brightness(120%);
	}
	#news_prev{
		left: 2%;
		top: 55%;
	}
	#news_next{
		transform: scale(-1, 1);
		left: auto;
		right: 2%;
		top: 55%;
	}
}

/************************************************************************
	リレーエッセイ
**************************************************************************/
#relay{
	background: url(../img/relay/relay_bg.png) no-repeat top/100%;
	background-color: #f0efff;
	position: relative;
	overflow: hidden;
}

#relay .sub_title{
	color: rgba(255, 255, 255, .5);
	line-height: 1;
	text-transform: capitalize;
	-webkit-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
	position: absolute;
	right: 0;
	top: 0;
}

#relay h2{
	color: #fff;
	line-height: 1.5;
	text-shadow: 0 0 .1em rgba(0, 0, 0, 0.4);
	margin-bottom: .5em;
}

#relay .order_select{
	width: fit-content;
	padding: .5em 2em;
	margin: auto auto 6%;
	box-shadow: 0 0 1em -.33em #777;
	background-color: rgba(255, 255, 255, .9);
	border-radius: 3em;
}

#relay .order_select li{
	padding-left: 1.5em;
	margin-right: 3em;
	position: relative;
	cursor: pointer;
}
#relay .order_select li:nth-last-of-type(1){
	margin-right: 1.5em;
}

#relay .order_select li.active{
	color: #7060ff;
	text-decoration: underline;
}

#relay .order_select li::before{
	content: "";
	display: block;
	width: .556em;
	height: .556em;
	border-radius: 50%;
	background-color: #a28fff;
	position: absolute;
	top: calc(50% - .278em);
	left: .25em;
}
#relay .order_select li.active::before{
	background-color: #7060ff;
}

@media screen and (max-width: 768px) {
	#relay{
		background-image: url(../img/relay/relay_bg_sp.png);
	}
	#relay .inner_primary{
		padding-top: 17.2%;
		padding-bottom: 20%;
	}

	#relay h2{
		margin-bottom: .667em;
	}

	#relay .order_select{
		padding: .75em 2em;
		margin: auto auto 14.1%;
	}

	#relay .order_select li{
		margin-right: 2em;
	}

	#relay .order_select li::before{
		width: .833em;
		height: .833em;
		top: calc(50% - .4165em);
	}
}

/* -*-*-*-*-*- リスト -*-*-*-*-*- */
.relay_list{
	margin-bottom: 5%;
}

.relay_list .container{
	margin-bottom: 3%;
	background-color: #fff;
	border-radius: clamp(10px, 0.067rem + 1.16vw, 15px);/* 769~1200 */
	box-shadow: 0 0 1em -.33em #ccc;
	overflow: hidden;
	transition: .4s;
}
.relay_list .container:nth-last-of-type(1){
	margin-bottom: 0;
}
.relay_list .container:hover{
	box-shadow: none;
	transform: translateY(.1em);
}

.relay_list .container .flex_wrapper{
	display: -webkit-box;
	display: flex;
}

.relay_list .container .img{
	width: 25%;
	position: relative;
}
.relay_list .container .img img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.relay_list .container .img .num{
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	display: inline-block;
	font-weight: 500;
	color: #fff;
	padding: .5em 1em;
	background-color: #a28fff;
	position: absolute;
	top: 0;
	left: 0;
}

.relay_list .container .title_box{
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif JP', "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 500;
	width: 75%;
	padding: 5%;
}

.relay_list .container .title_box .name{
	margin-top: .3em;
}
.relay_list .container .title_box .class{
	margin-top: .1em;
}

.relay_list .container .more{
	text-align: center;
	color: #7060ff;
	padding: .5em 1em .5em 1.5em;
	border-top: 1px solid #e5e5e5;
	position: relative;
	transition: .4s;
}
.relay_list .container .more::before{
	content: "Read more";
}
.relay_list .container .more::after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 1.125em;
	height: 1.125em;
	margin-left: 1em;
	background: url(../img/cmn/more_arrow.svg) no-repeat center/contain;
	transition: .4s;
}
.relay_list .container .more:hover{
	cursor: pointer;
	opacity: .7;
}
.relay_list .container.open .more::before{
	content: "Close";
}
.relay_list .container.open .more::after{
	transform: scale(1, -1);
}

.relay_list .container .text_wrapper{
	display: none;
	padding: 2em 3%;
}
.relay_list .container .text_wrapper p{
	margin-bottom: .75em;
}

@media screen and (max-width: 768px) {
	.relay_list{
		margin-bottom: 10.7%;
	}
	.relay_list .container{
		margin-bottom: 5.6%;
		border-radius: clamp(7.5px, 0.076rem + 1.79vw, 15px);/* 769~1200 */
	}

	.relay_list .container .flex_wrapper{
		-webkit-box-align: start;
		align-items: flex-start;
	}

	.relay_list .container .img{
		width: 39.4%;
		position: relative;
	}
	.relay_list .container .img::before{
		content: "";
		display: block;
		padding-top: 88.3%;
	}

	.relay_list .container .img .num{
		padding: .3em .8em;
	}

	.relay_list .container .title_box{
		width: 60.6%;
	}

}

/* -*-*-*-*-*- もっと読む -*-*-*-*-*- */
.relay_list .hide{
	display: none;
}

.show_btn{
	width: fit-content;
	color: #7060ff;
	text-align: center;
	min-width: 400px;
	padding: .7em 3em;
	margin: 4em auto 3em;
	background-color: #fff;
	border: 2px solid #7060ff;
	box-shadow: 0 .2em 1em -.33em #ccc;
	border-radius: 2em;
	position: relative;
	transition: .4s;
	cursor: pointer;
}
.show_btn:hover{
	opacity: 1;
	box-shadow: none;
	transform: translateY(.1em);
}

.show_btn::before{
	content: "もっと読む";
}
.show_btn.is_show::before{
	content: "閉じる";
}
.show_btn::after{
	content: "";
	display: block;
	width: .833em;
	height: .556em;
	background: url(../img/cmn/arrow01.svg) no-repeat center/contain;
	position: absolute;
	top: calc(50% - .278em);
	right: 2.5em;
	transition: .4s;
}
.show_btn.is_show::after{
	transform: scale(1, -1);
}

@media screen and (max-width: 768px) {
	.show_btn{
		min-width: 0;
		padding: .7em 5.5em .7em 5em;
		margin: 3em auto;
	}
	.show_btn::after{
		width: .615em;
		height: .385em;
		top: calc(50% - .15em);
		right: 1.25em;
	}
}

/* -*-*-*-*-*- 一覧はこちら -*-*-*-*-*- */
.to_list_page_btn{
	width: fit-content;
	margin: auto;
}

.to_list_page_btn a{
	display: block;
	color: #fff;
	text-align: center;
	min-width: 400px;
	padding: .7em 3em;
	background-color: #7060ff;
	border: 2px solid #fff;
	box-shadow: 0 .2em 1em -.33em #ccc;
	border-radius: 2em;
	position: relative;
}
.to_list_page_btn a:hover{
	opacity: 1;
	box-shadow: none;
	transform: translateY(.1em);
}

.to_list_page_btn a::before{
	content: "";
	display: block;
	width: .833em;
	height: .556em;
	-webkit-mask: url(../img/cmn/arrow01.svg) no-repeat center/contain;
	mask: url(../img/cmn/arrow01.svg) no-repeat center/contain;
	background-color: #fff;
	position: absolute;
	top: calc(50% - .278em);
	right: 2.5em;
	transform: rotate(-90deg);
}

@media screen and (max-width: 768px) {
	.to_list_page_btn a{
		min-width: 0;
		padding: .7em 5.5em .7em 5em;
	}
	.to_list_page_btn a::before{
		width: .615em;
		height: .385em;
		top: calc(50% - .15em);
		right: 1.25em;
	}
}




.page_top {
	display: block;
	width: 80px;
	height: 80px;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 10;
}
.is_scroll .page_top {
	opacity: 1;
	visibility: inherit;
}
@media screen and (max-width: 768px) {
.page_top {
	width: 60px;
	height: 60px;
	right: 10px;
	bottom: 10px;
}
}