@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap');

/* 
font-family: hiragino-kaku-gothic-pron, sans-serif;
font-weight: 300 600;

font-family: "noto-sans-cjk-jp", sans-serif;
font-weight: 400 500 700 900;

font-family: "Roboto Flex", sans-serif;
*/
/* 変数 */
:root {
	--red: #dd001c;
}

/* -------------
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;
}
ul, ol, summary{
	list-style-type: none;
}
summary::-webkit-details-marker {
	/* Safari-デフォルトの三角形を削除*/
	display: 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%;
}
picture{
	display: block;
	width: 100%;
	height: 100%;
}
video{
	max-width: 100%;
}
a {
	cursor: pointer;
	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: none;
}
input[type='checkbox'],
input[type='radio'] {
	display: none;
}
input[type='submit'],
input[type='button'],
label,
button,
select,
summary{
	cursor: pointer;
}
/* select::-ms-expand {
	display: none;
} */


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


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

/************************************************************************
	フォント
**************************************************************************/
html {
	font-size: 62.5%;/* 1.6remで16px */
}
/* 以降 (XXpx/16)×0.625 */
@media screen and (max-width: 1200px){
	html {
		font-size: 58.59%;/* 1.6remで15px */
	}
}
@media screen and (max-width: 1024px){
	html {
		font-size: 54.69%;/* 1.6remで14px */
	}
}
/* 以降、350pxで14pxにしたいので1.4remで指定 */
/* font-size100%時、1.4rem=22.4pxなので、XXpx/22.4=目的の％ */
@media screen and (max-width: 768px){
	html {
		font-size: 93.75%;/* 1.4remで21px */
	}
}
@media screen and (max-width: 530px){/* 350px*1.5 */
	html {
		font-size: 78.13%;/* 1.4remで17.5px */
	}
}
@media screen and (max-width: 430px){
	html {
		font-size: 62.5%;/* 1.4remで14px */
	}
}

body {
	font-family: hiragino-kaku-gothic-pron, '游ゴシック体', 'YuGothic', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #000;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.75;
	/* -moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased; */
	word-wrap: normal;
}

@media screen and (max-width: 768px){
	body{/* 350pxのとき14px */
		font-size: 1.4rem;
	}
}

.mincho{
	font-family: '游明朝 Medium', 'Yu Mincho Medium', '游明朝', 'YuMincho', hiragino-mincho-pron, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 500;
}

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

.cjk{
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-weight: 500;
}


/* -------------
文字サイズ
-------------------------------------------------------- */
.fz12{
	font-size: 1.2rem;
}
.fz14{
	font-size: 1.4rem;
}
.fz15{
	font-size: 1.5rem;
}
.fz16{
	font-size: 1.6rem;
}
.fz18{
	font-size: 1.8rem;
}
.fz20{
	font-size: 2rem;
}
.fz23{
	font-size: 2.3rem;
}
.fz24{
	font-size: 2.4rem;
}
.fz25{
	font-size: 2.5rem;
}
.fz26{
	font-size: 2.6rem;
}
.fz28{
	font-size: 2.8rem;
}
.fz30{
	font-size: 3rem;
}
.fz34{
	font-size: 3.4rem;
}
.fz35{
	font-size: 3.5rem;
}
.fz36{
	font-size: 3.6rem;
}
.fz40{
	font-size: 4rem;
}
.fz42{
	font-size: 4.2rem;
}
.fz48{
	font-size: 4.8rem;
}
.fz51{
	font-size: 5.1rem;
}
.fz54{
	font-size: 5.4rem;
}
.fz56{
	font-size: 5.6rem;
}

.fz70{
	font-size: 7rem;
}
.fz75{
	font-size: 7.5rem;
}

.fz80{
	font-size: 8rem;
}

.fz100{
	font-size: 10rem;
}

.fz108{
	font-size: 10.8rem;
}

@media screen and (max-width: 768px){/* SPデザインなければ×0.66とか */
	.fz16{
		font-size: 1.4rem;
	}
	.fz18{
		font-size: 1.4rem;
	}
	.fz20{
		font-size: 1.5rem;
	}
	.fz23{
		font-size: 1.6rem;
	}
	.fz24{
		font-size: 1.65rem;
	}
	.fz25{
		font-size: 1.65rem;
	}
	.fz26{
		font-size: 1.72rem;
	}
	.fz28{
		font-size: 1.85rem;
	}
	.fz30{
		font-size: 2rem;
	}
	.fz34{
		font-size: 2.24rem;
	}
	.fz35{
		font-size: 2.31rem;
	}
	.fz36{
		font-size: 2.37rem;
	}
	.fz40{
		font-size: 2.64rem;
	}
	.fz42{
		font-size: 2.77rem;
	}
	.fz48{
		font-size: 3.16rem;
	}
	.fz51{
		font-size: 3.36rem;
	}
	.fz54{
		font-size: 3.56rem;
	}
	.fz56{
		font-size: 3.68rem;
	}

	.fz70{
		font-size: 4.62rem;
	}
	.fz75{
		font-size: 4.95rem;
	}

	.fz80{
		font-size: 5.28rem;
	}

	.fz100{
		font-size: 6.6rem;
	}
	

	.fz108{
		font-size: 7.12rem;
	}

	.fz12sp{
		font-size: 1.2rem;
	}
	.fz13sp{
		font-size: 1.3rem;
	}
	.fz14sp{
		font-size: 1.4rem;
	}
	.fz15sp{
		font-size: 1.5rem;
	}
	.fz16sp{
		font-size: 1.6rem;
	}
	.fz18sp{
		font-size: 1.8rem;
	}
	.fz20sp{
		font-size: 2rem;
	}
	.fz21sp{
		font-size: 2.1rem;
	}
	.fz22sp{
		font-size: 2.2rem;
	}
	.fz24sp{
		font-size: 2.4rem;
	}
	.fz25sp{
		font-size: 2.5rem;
	}
	.fz28sp{
		font-size: 2.8rem;
	}
	.fz30sp{
		font-size: 3rem;
	}

	.fz84sp{
		font-size: 8.4rem;
	}
}

/* -------------
並び 間隔
-------------------------------------------------------- */

.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.taj{ text-align: justify;}

.ls0{
	letter-spacing: 0;
}
.ls01{
	letter-spacing: .1em;
}

.lh{
	line-height: 1.875;
}
.lh150{
	line-height: 1.5;
}
.lh2{
	line-height: 2;
}

span.block{
	display: block;
}

.v_rl{
	writing-mode: vertical-rl;
}
.upright{
	text-orientation: upright;
}

.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;
}

@media screen and (max-width: 768px) {
	.palt_sp{
		font-feature-settings: "palt";
	}
}

/* -------------
文字色
-------------------------------------------------------- */
.white{ color: #fff;}
.red{ color: var(--red);}


/* -------------
文字太さ 装飾
-------------------------------------------------------- */
.font_smooth{
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.b { font-weight: 700; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw900 { font-weight: 900; }
.i{
	font-style: italic;
}
.u, .u_trance{
	text-decoration: underline;
}
.u_trance:hover{
	text-decoration: none;
}

.t_shadow{
	text-shadow: 0 .8rem 1.6rem rgba(0, 0, 0, .08), 0 .8rem 1.6rem rgba(0, 0, 0, .08);
}

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

/* -------------
リストなど　擬似要素装飾
-------------------------------------------------------- */
/* 「※」 */
.attention_mark{
	position: relative;
	padding-left: 1.1em;
}
.attention_mark::before{
	content: "\0203B";
	position: absolute;
	left: 0;
}
span.attention_mark{
	display: inline-block;
}

/* 「・」 */
.disk li, .disk_mark{
	padding-left: 1.33em;
	position: relative;
}
.disk li::before, .disk_mark::before{
	content: "・";
	position: absolute;
	left: .25em;
}
span.disk_mark{
	display: inline-block;
}

/* 「⚫︎」 */
.circle li, .circle_mark{
	padding-left: 1.33em;
	position: relative;
}
.circle li::before, .circle_mark::before{
	content: "";
	display: block;
	width: .625em;
	height: .625em;
	background-color: #0079c2;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: .4em;
}

/* 「01.」 */
.num_list{
	counter-reset: num_list;
}
.num_list li{
	counter-increment: num_list;
	padding-left: 1.5em;
	position: relative;
}
.num_list li::before{
	content: counter(num_list, decimal-leading-zero)".";
	position: absolute;
	left: 0;
}

/* 「⚫︎」 */
.square_list li, .square_mark{
	padding-left: 1.33em;
	position: relative;
}
.square_list li::before, .square_mark::before{
	content: "\025A0";
	display: block;
	width: .88em;
	height: .88em;
	position: absolute;
	left: 0;
	top: .05em;
}

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

}


/************************************************************************
	インナー　その他余白
**************************************************************************/
.inner{
	margin: auto;
}
.inner.primary{
	max-width: 1200px;
	width: 96%;
}

.inner.secondary{
	max-width: 1480px;
	width: 97%;
}


/* padding ⚪︎⚪︎px/1600px */
.pt20{ padding-top: 2rem;}
.pb20{ padding-bottom: 2rem;}

.pt30{ padding-top: 3rem;}
.pb30{ padding-bottom: 3rem;}

.pt40{ padding-top: 4rem;}
.pb40{ padding-bottom: 4rem;}

.pt50{ padding-top: 5rem;}
.pb50{ padding-bottom: 5rem;}

.pt60{ padding-top: 6rem;}
.pb60{ padding-bottom: 6rem;}

.pt70{ padding-top: 7rem;}
.pb70{ padding-bottom: 7rem;}

.pt80{ padding-top: 8rem;}
.pb80{padding-bottom: 8rem;}

.pt90{ padding-top: 9rem;}
.pb90{ padding-bottom: 9rem;}

.pt100{ padding-top: 10rem;}
.pb100{ padding-bottom: 10rem;}

.pt110{ padding-top: 11rem;}
.pb110{ padding-bottom: 11rem;}

.pt120{ padding-top: 12rem;}
.pb120{ padding-bottom: 12rem;}

.pt130{ padding-top: 13rem;}
.pb130{ padding-bottom: 13rem;}

.pt140{ padding-top: 14rem;}
.pb140{ padding-bottom: 14rem;}

.pt150{ padding-top: 15rem;}
.pb150{ padding-bottom: 15rem;}

.pt160{ padding-top: 16rem;}
.pb160{ padding-bottom: 16rem;}

.pt170{ padding-top: 17rem;}
.pb170{ padding-bottom: 17rem;}

.pt180{ padding-top: 18rem;}
.pb180{ padding-bottom: 18rem;}

.pt190{ padding-top: 19rem;}
.pb190{ padding-bottom: 19rem;}

.pt200{ padding-top: 20rem;}
.pb200{ padding-bottom: 20rem;}

.pt210{ padding-top: 21rem;}
.pb210{ padding-bottom: 21rem;}

.pt220{ padding-top: 22rem;}
.pb220{ padding-bottom: 22rem;}

@media screen and (max-width: 768px) {/* pcの数字×0.5 */
	.pt20{ padding-top: 1rem;}
	.pb20{ padding-bottom: 1rem;}

	.pt30{ padding-top: 1.5rem;}
	.pb30{ padding-bottom: 1.5rem;}

	.pt40{ padding-top: 2rem;}
	.pb40{ padding-bottom: 2rem;}

	.pt50{ padding-top: 2.5rem;}
	.pb50{ padding-bottom: 2.5rem;}

	.pt60{ padding-top: 3rem;}
	.pb60{ padding-bottom: 3rem;}

	.pt70{ padding-top: 3.5rem;}
	.pb70{ padding-bottom: 3.5rem;}

	.pt80{ padding-top: 5rem;}
	.pb80{padding-bottom: 5rem;}

	.pt90{ padding-top: 4.5rem;}
	.pb90{ padding-bottom: 4.5rem;}

	.pt100{ padding-top: 5rem;}
	.pb100{ padding-bottom: 5rem;}

	.pt110{ padding-top: 5.5rem;}
	.pb110{ padding-bottom: 5.5rem;}

	.pt120{ padding-top: 6rem;}
	.pb120{ padding-bottom: 6rem;}

	.pt130{ padding-top: 6.5rem;}
	.pb130{ padding-bottom: 6.5rem;}

	.pt140{ padding-top: 7rem;}
	.pb140{ padding-bottom: 7rem;}

	.pt150{ padding-top: 7.5rem;}
	.pb150{ padding-bottom: 7.5rem;}

	.pt160{ padding-top: 8rem;}
	.pb160{ padding-bottom: 8rem;}

	.pt170{ padding-top: 8.5rem;}
	.pb170{ padding-bottom: 8.5rem;}

	.pt180{ padding-top: 9rem;}
	.pb180{ padding-bottom: 9rem;}

	.pt190{ padding-top: 9.5rem;}
	.pb190{ padding-bottom: 9.5rem;}

	.pt200{ padding-top: 10rem;}
	.pb200{ padding-bottom: 10rem;}

	.pt210{ padding-top: 10.5rem;}
	.pb210{ padding-bottom: 10.5rem;}

	.pt220{ padding-top: 11rem;}
	.pb220{ padding-bottom: 11rem;}

	/* sp デザイン350px時 */
	.pt20sp{ padding-top: 2rem;}
	.pb20sp{ padding-bottom: 2rem;}

	.pt30sp{ padding-top: 3rem;}
	.pb30sp{ padding-bottom: 3rem;}

	.pt40sp{ padding-top: 4rem;}
	.pb40sp{ padding-bottom: 4rem;}

	.pt50sp{ padding-top: 5rem;}
	.pb50sp{ padding-bottom: 5rem;}

	.pt60sp{ padding-top: 6rem;}
	.pb60sp{ padding-bottom: 6rem;}

	.pt70sp{ padding-top: 7rem;}
	.pb70sp{ padding-bottom: 7rem;}

	.pt80sp{ padding-top: 8rem;}
	.pb80sp{padding-bottom: 8rem;}

	.pt90sp{ padding-top: 9rem;}
	.pb90sp{ padding-bottom: 9rem;}

	.pt100sp{ padding-top: 10rem;}
	.pb100sp{ padding-bottom: 10rem;}

	.pt110sp{ padding-top: 11rem;}
	.pb110sp{ padding-bottom: 11rem;}

	.pt120sp{ padding-top: 12rem;}
	.pb120sp{ padding-bottom: 12rem;}
}

/* margin */

.m_a{ margin: auto;}
.mb025em{ margin-bottom: .25em;}
.mb033em{ margin-bottom: .33em;}
.mb05em{ margin-bottom: .5em;}
.mb1em{ margin-bottom: 1em;}
.mb15em{ margin-bottom: 1.5em;}
.mb2em{ margin-bottom: 2em;}
.mb25em{ margin-bottom: 2.5em;}
.mb3em{ margin-bottom: 3em;}
.mb35em{ margin-bottom: 3.5em;}
.mb4em{ margin-bottom: 4em;}
.mb45em{ margin-bottom: 4.5em;}
.mb5em{ margin-bottom: 5em;}
@media screen and (max-width: 768px) {/* pcの数字×0.6 */
	.mb05em{ margin-bottom: .3em;}
	.mb1em{ margin-bottom: .6em;}
	.mb15em{ margin-bottom: .9em;}
	.mb2em{ margin-bottom: 1.2em;}
	.mb25em{ margin-bottom: 1.5em;}
	.mb3em{ margin-bottom: 1.8em;}
	.mb35em{ margin-bottom: 2.1em;}
	.mb4em{ margin-bottom: 2.4em;}
	.mb45em{ margin-bottom: 2.7em;}
	.mb5em{ margin-bottom: 3em;}
}

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

/************************************************************************
	リンク
**************************************************************************/
a {
	color: inherit;
	transition: .4s;
}
a:hover{
	-webkit-filter: brightness(110%);
	filter: brightness(110%);
}

a.no_anchor{
	pointer-events: none;
	text-decoration: none;
}

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

}

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

/************************************************************************
	画像
**************************************************************************/
.img img,
.img picture{
	width: 100%;
}

.img_bg{
	position: relative;
	background: url(../img/cmn/dummy.png) no-repeat center/cover;
}
.img_bg::before{
	content: "";
	display: block;
	padding-top: 75%;
}

.img_ab{
	position: relative;
}
.img_ab::before{
	content: "";
	display: block;
	padding-top: 75%;
}
.img_ab img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/************************************************************************
	タイトル
**************************************************************************/
.line_title{
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-size: 4.8rem;
	font-weight: 900;
	color: var(--red);
	line-height: 1.5;
	width: fit-content;
	padding: 0 .85em;
	margin: 0 auto;
	position: relative;
}

.line_title::before{
	content: "";
	display: block;
	width: 50vw;
	height: .2rem;
	background-color: #000;
	position: absolute;
	right: 100%;
	top: .8em;
}


@media screen and (max-width: 768px) {
	.line_title{
		font-size: 2.4rem;
		padding: 0;
	}

	.line_title::before{
		display: none;
	}
}

/************************************************************************
	ボタン
**************************************************************************/
.btn_primary{
	display: block;
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-size: 1.8rem;
	font-weight: 900;
	color: var(--red);
	line-height: 1.5;
	letter-spacing: .05em;
	width: fit-content;
	padding: .75em 1em;
    min-width: 350px;
	margin: auto;
	border: .2rem solid var(--red);
	background-color: #fff;
	box-shadow: 1rem 1rem 0 0 var(--red);
	position: relative;
    text-align: center;
}
.btn_primary:hover{
	transform: translate(.5rem, .5rem);
	box-shadow: 0 0 0 0 var(--red);
}

@media screen and (max-width: 768px) {
	.btn_primary{
		font-size: 1.5rem;
		padding: .66em 1em;
		box-shadow: .6rem .6rem 0 0 var(--red);
        min-width: 80%;
	}
	.btn_primary:hover{
		transform: translate(.3rem, .3rem);
		box-shadow: 0 0 0 0 var(--red);
	}
}

.btn_secondary{
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: block;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--red);
	line-height: 1.5;
	letter-spacing: .05em;
	width: fit-content;
	padding: .6em 3.66em .6em 2.44em;
	margin: auto;
	border: .2rem solid var(--red);
	background-color: #fff;
	position: relative;
}
.btn_secondary:hover{
	color: #fff;
	background-color: var(--red);
}
.btn_secondary::after{
	content: "";
	display: block;
	width: 1.1em;
	height: .48em;
	-webkit-mask: url(../img/cmn/btn_arrow02.svg) no-repeat center/contain;
	mask: url(../img/cmn/btn_arrow02.svg) no-repeat center/contain;
	background-color: var(--red);
	position: absolute;
	top: calc(50% - .24em);
	right: 1em;
	transition: right .4s, background-color .4s;
}
.btn_secondary:hover::after{
	background-color: #fff;
	right: .75em;
}

@media screen and (max-width: 768px) {
	.btn_secondary{
		font-size: 1.3rem;
		padding: .5em 2.5em .5em 1.25em;
		margin: auto;
		border: .1rem solid var(--red);
		background-color: #fff;
		position: relative;
	}

}


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


}

/************************************************************************
	その他
**************************************************************************/
/* ドラッグでテキスト選択した時の色 */
/* ::-moz-selection {
	color: #fff;
	background: #1a1a1a;
}
::selection {
	color: #fff;
	background: #1a1a1a;
} */

.block{
	display: block;
}
.dib, .dib_pc{
	display: inline-block;
}

.shadow, .shadow_trance{
	box-shadow: 0 .8rem 1.6rem .2rem rgba(0, 0, 0, .16);
}
a.shadow:hover, .shadow_trance:hover{
	box-shadow: 0 0 0 0 rgba(0, 0, 0, .08);
	transform: translateY(.2rem);
}

.notes_text{
	font-size: 1.5em;
	font-weight: 700;
	color: rgba(255, 0, 0, .6);
	position: relative;
	z-index: 3;
	height: 0;
}

.movie_box{
	position: relative;
}
.movie_box::before{
	content: "";
	display: block;
	padding-top: 56.25%;
}
.movie_box iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

@media (max-width: 768px) {
	.shadow{
		box-shadow: .33rem .33rem 1rem -.75rem rgba(144, 144, 144, .5);
	}

	.dib_pc{
		display: inline;
	}
    .movie_box{
        position: relative;
        margin-bottom: 20px;
    }
}


.hidden{
	overflow: hidden;
}


/* swiper　無限ループ等速スライダー */
.swiper-wrapper.loop_slider{
	transition-timing-function: linear;
}
.swiper-wrapper.loop_slider .swiper-slide img {
	width: 100%;
}

/************************************************************************
	アニメーション
**************************************************************************/
/* animation-delay PCだけ */
@media screen and (max-width: 768px) {
	.delay_pc{
		animation-delay: 0s !important;
	}
}


/* フェードイン　*/
.fade, .fade_down, .fade_right, .fade_left{
	opacity: 0;
}

.animation.fade{/* 下から上へ */
	animation: fadeup .8s ease forwards;
}

.animation.fade_down{/* 上から下へ */
	animation: fadedown .8s ease forwards;
}
.animation.fade_right{/* 左から右へ */
	animation: faderight .8s ease forwards;
}
.animation.fade_left{/* 右から左へ */
	animation: fadeleft .8s ease forwards;
}
	
@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);
	}
}


/* スライドイン　*/
.slide_left{
	transform: translateX(-150%);
}
.animation.slide_left{
	animation: slideleft .6s ease forwards;
}

.slide_right{
	transform: translateX(150%);
}
.animation.slide_right{
	animation: slideright .6s ease forwards;
}
.slide_right02{
	transform: translateX(250%);
}
.animation.slide_right02{
	animation: slideright02 .4s ease forwards;
}

.slide_up{
	transform: translateY(300%);
}
.animation.slide_up{
	animation: slideup .6s ease forwards;
}

.slide_down{
	transform: translateY(-300%);
}
.animation.slide_down{
	animation: slidedown .6s ease forwards;
}

@keyframes slideleft{
	from {
		transform: translateX(-150%);
	}
	
	to {
		transform: translateX(0);
	}
}
@keyframes slideright{
	from {
		transform: translateX(150%);
	}
	
	to {
		transform: translateX(0);
	}
}
@keyframes slideright02{
	from {
		transform: translateX(250%);
	}
	
	to {
		transform: translateX(0);
	}
}
@keyframes slideup{
	from {
		transform: translateY(300%);
	}
	
	to {
		transform: translateY(0);
	}
}
@keyframes slidedown{
	from {
		transform: translateY(-300%);
	}
	
	to {
		transform: translateY(0);
	}
}


/* clip-path */
.clip{
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
	transition: -webkit-clip-path 1.2s ease-out, clip-path 1.2s ease-out;
}
.clip.fast{
	transition-duration: .6s;
}
.clip.late{
	transition-duration: 2s;
}
.clip.left{
	-webkit-clip-path: inset(0 0 0 100%);
	clip-path: inset(0 0 0 100%);
}
.clip.down{
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
}
.clip.up{
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0 0);
}

.clip.animation{
	-webkit-clip-path: inset(0);
	clip-path: inset(0);
}

/* 回転　*/
.rotate{
	animation:6s linear infinite rotate;
}

@keyframes rotate{
	0%{ transform:rotate(0);}
	100%{ transform:rotate(360deg); }
}

/* （ボタンなど）短い総則が左から右へループ */
.loop_deco{
	animation:2s ease-in-out infinite loop_deco;
}

@keyframes loop_deco{
	0%{ left: 0;}
	80%{ left: 133%; }
	81%{ left: -33%; }
	100%{ left: 0;}
}

/* アニメーション時間差 */
.animation.delay01{
	animation-delay: .1s !important;
}
.animation.clip.delay01{
	transition-delay: .1s !important;
}
.animation.delay02{
	animation-delay: .2s !important;
}
.animation.clip.delay02{
	transition-delay: .2s !important;
}
.animation.delay03{
	animation-delay: .3s !important;
}
.animation.clip.delay03{
	transition-delay: .3s !important;
}
.animation.delay04{
	animation-delay: .4s !important;
}
.animation.clip.delay04{
	transition-delay: .4s !important;
}
.animation.delay05{
	animation-delay: .5s !important;
}
.animation.clip.delay05{
	transition-delay: .5s !important;
}
.animation.delay06{
	animation-delay: .6s !important;
}
.animation.clip.delay06{
	transition-delay: .6s !important;
}
.animation.delay07{
	animation-delay: .7s !important;
}
.animation.clip.delay07{
	transition-delay: .7s !important;
}
.animation.delay08{
	animation-delay: .8s !important;
}
.animation.clip.delay08{
	transition-delay: .8s !important;
}
.animation.delay09{
	animation-delay: .9s !important;
}
.animation.clip.delay09{
	transition-delay: .9s !important;
}
.animation.delay10{
	animation-delay: 1s !important;
}
.animation.clip.delay10{
	transition-delay: 1s !important;
}
.animation.delay11{
	animation-delay: 1.1s !important;
}
.animation.clip.delay11{
	transition-delay: 1.1s !important;
}
.animation.delay12{
	animation-delay: 1.2s !important;
}
.animation.clip.delay12{
	transition-delay: 1.2s !important;
}
.animation.delay13{
	animation-delay: 1.3s !important;
}
.animation.clip.delay13{
	transition-delay: 1.3s !important;
}
.animation.delay14{
	animation-delay: 1.4s !important;
}
.animation.clip.delay14{
	transition-delay: 1.4s !important;
}
.animation.delay15{
	animation-delay: 1.5s !important;
}
.animation.clip.delay15{
	transition-delay: 1.5s !important;
}
.animation.delay16{
	animation-delay: 1.6s !important;
}
.animation.clip.delay16{
	transition-delay: 1.6s !important;
}
.animation.delay17{
	animation-delay: 1.7s !important;
}
.animation.clip.delay17{
	transition-delay: 1.7s !important;
}
.animation.delay18{
	animation-delay: 1.8s !important;
}
.animation.clip.delay18{
	transition-delay: 1.8s !important;
}
.animation.delay19{
	animation-delay: 1.9s !important;
}
.animation.clip.delay19{
	transition-delay: 1.9s !important;
}
.animation.delay20{
	animation-delay: 2s !important;
}
.animation.clip.delay20{
	transition-delay: 2s !important;
}
.animation.delay21{
	animation-delay: 2.1s !important;
}
.animation.clip.delay21{
	transition-delay: 2.1s !important;
}
.animation.delay22{
	animation-delay: 2.2s !important;
}
.animation.clip.delay22{
	transition-delay: 2.2s !important;
}
.animation.delay23{
	animation-delay: 2.3s !important;
}
.animation.clip.delay23{
	transition-delay: 2.3s !important;
}
.animation.delay24{
	animation-delay: 2.4s !important;
}
.animation.clip.delay24{
	transition-delay: 2.4s !important;
}
.animation.delay25{
	animation-delay: 2.5s !important;
}
.animation.clip.delay25{
	transition-delay: 2.5s !important;
}
.animation.delay26{
	animation-delay: 2.6s !important;
}
.animation.clip.delay26{
	transition-delay: 2.6s !important;
}
.animation.delay27{
	animation-delay: 2.7s !important;
}
.animation.clip.delay27{
	transition-delay: 2.7s !important;
}
.animation.delay28{
	animation-delay: 2.8s !important;
}
.animation.clip.delay28{
	transition-delay: 2.8s !important;
}
.animation.delay29{
	animation-delay: 2.9s !important;
}
.animation.clip.delay29{
	transition-delay: 2.9s !important;
}



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

/************************************************************************
	フレックス
**************************************************************************/
/* flex系 */
.flex {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}

.flex_pc{/* 768以下block */
	display: -webkit-box;
	display: flex;
	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;
	}
}

/************************************************************************
	ヘッダー
**************************************************************************/
#hd2024{
	width: 100%;
	background-color: rgba(255, 255, 255, 1);
	position: fixed;
	top: 0;
	z-index: 50; 
	transition: background-color .4s;
}
.lower #hd2024{
	background-color: rgba(255, 255, 255, .8);
}
.lower.is_scroll #hd2024{
	background-color: rgba(255, 255, 255, 1);
}
.top #hd2024{
	background-color: rgba(255, 255, 255, 0);
}
.top.surpass_mv #hd2024{
	background-color: rgba(255, 255, 255, 1);
}

#hd2024 .inner{
	width: 97%;
	max-width: 1600px;
	padding: 1rem 0;
}

#hd2024 .hd_logo{
	flex-shrink: 0;
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-size: 4.4rem;
	font-weight: 900;
	color: var(--red);
	line-height: 1.5;
	letter-spacing: .05em;
	text-shadow: 0 0 .1em rgba(255, 255, 255, .5);
	margin-left: 1%;
}
#hd2024 .hd_logo .small{
	font-size: .8em;/* 35.56/44.45 */
}
#hd2024 .hd_logo .sub{
	font-family: "Roboto Flex", Helvetica, "Helvetica Neue", Arial, Verdana, "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", "YuGothic", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: .4em;/* 18/44.45 */
	font-weight: 700;
	letter-spacing: 0;
	text-transform: capitalize;
}

@media screen and (max-width: 1024px) {
	#hd2024 .hd_logo{
		font-size: 3.6rem;
	}
}

@media screen and (max-width: 768px) {
	#hd2024 .inner{
		width: 93%;
		padding: 1rem 0;
	}

	/* .hd_logo{
		width: 0;
		height: 0;
		opacity: 0;
		visibility: hidden;
	} */

	#hd2024 .hd_logo{
		font-size: 2.4rem;
	}
}

/* -------------
ナビ
-------------------------------------------------------- */
#hd_nav li{
	margin-left: .3em;
}
#hd_nav a{
	display: block;
	padding: .5em .85em;
	position: relative;
}
#hd_nav a:hover{
	opacity: 1;
}
#hd_nav a::after{
	content: "";
	display: block;
	width: 0;
	height: 2px;
	background-color: var(--red);
	position: absolute;
	bottom: .25em;
	left: .85em;
	transition: width .4s;
}
#hd_nav a:hover::after{
	width: calc(100% - 1.7em);
}

@media screen and (max-width: 1024px) {
	#hd_nav li{
		margin-left: .2em;
	}
}

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

/* -------------
ハンバーガー
-------------------------------------------------------- */
#hmb{
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-pack: center;
	justify-content: center;
	width: 4rem;
	margin-left: auto;
	border-radius: 50%;
	cursor: pointer;
	transition: .4s;
	position: relative;
	z-index: 100;
}
#hmb:hover{
	opacity: .7;
}

#hmb .text{
	text-align: center;
	line-height: 1;
	margin-bottom: .33em;
}

.hmb_bar{
	width: 100%;
	height: 2.7rem;
	margin: auto;
	position: relative;
	transition: .4s;
}

.hmb_bar span{
	display: inline-block;
	width: 100%;
	height: 2px;
	background-color: var(--red);
	position: absolute;
	right: 0;
	transition: .4s;
}
.top.hmb_open .hmb_bar span{
	background-color: #fff;
}
.top.surpass_mv.hmb_open .hmb_bar span{
	background-color: var(--red);
}

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

.hmb_open .hmb_bar span:nth-of-type(1){
	top: 46%;
	transform: rotate(-33deg);
}
.hmb_open .hmb_bar span:nth-of-type(2){
	opacity: 0;
}
.hmb_open .hmb_bar span:nth-of-type(3){
	width: 100%;
	bottom: 46%;
	transform: rotate(33deg);
}

@media screen and (min-width: 769px) {
	#hmb{
		display: none;
	}
}


/* グローバル
-------------------------------------------------------- */
#gl2024{
	display: -webkit-box;
	display: flex;
	color: #fff;
	width: 100%;
	min-height: 100dvh;
	height: 100%;
	background-color: rgba(19,43,104,.2);
	position: fixed;
	right: -120%;
	top: 0;
	z-index: 40;
	transition: .4s;
	overflow: auto;
}
.hmb_open #gl2024{
	right: 0;
}

#gl2024 .container{
	width: fit-content;
	height: fit-content;
	min-height: 100%;
	padding: 10rem 4rem;
	margin-left: auto;
	background-color: var(--red);
}

.gl_nav{
	margin-bottom: 3rem;
}
.gl_nav li{
	margin-bottom: .5em;
}
.gl_nav a{
	display: block;
	padding: .25em 0;
	position: relative;
}
.gl_nav a:hover{
	opacity: 1;
}

.gl_nav a .wrap{
	display: inline-block;
	position: relative;
}
.gl_nav a .wrap::after{
	content: "";
	display: block;
	width: 0;
	height: 1px;
	background-color: #fff;
	position: absolute;
	bottom: .05em;
	left: 0;
	transition: width .4s;
}
.gl_nav a:hover .wrap::after{
	width: 100%;
}

#gl2024 .ft_sns_wrapper li{
	margin: 0;
}

@media screen and (min-width: 769px) {
	#gl2024{
		display: none;
	}
}


/************************************************************************
	フッター
**************************************************************************/
#ft2024{
	background-color: var(--red);
	position: relative;
}

#ft2024 .ft_inner{
	color: #fff;
	width: 97%;
	padding: 5rem 0 2rem;
	margin: auto;
	position: relative;
}

#ft2024 .ft_sns_wrapper{
	position: absolute;
	right: 0;
	top: 3rem;
}

.ft_sns_wrapper li{
	width: fit-content;
	margin-left: .66rem;
}
.ft_sns_wrapper li a{
	display: block;
	width: 4rem;
	padding: .66rem;
}
.ft_sns_wrapper li a:hover{
	background-color: #1a326f;
}


@media screen and (max-width: 768px) {
	#ft2024 .ft_sns_wrapper{
		-webkit-box-pack: center;
		justify-content: center;
		position: relative;
		right: auto;
		top: auto;
	}

	#ft2024 .ft_inner{
		padding: 3rem 0 2rem;
	}

	.ft_sns_wrapper li{
		margin: 0 .5rem 1.5rem;
	}
}

/* 小林しげきを応援しよう
-------------------------------------------------------- */
#ft_support{
	background-color: #ffc1ac;
}

#ft_support .title_wrapper{
	padding: 3rem 0;
}
#ft_support h2{
	line-height: 1.4;
	width: fit-content;
	padding: 0 1.2em;
	margin: auto;
	position: relative;
}
#ft_support h2::before, #ft_support h2::after{
	content: "";
	display: block;
	width: .75em;
	height: 1.16em;
	background: url(../img/cmn/text_deco01.svg) no-repeat center/contain;
	position: absolute;
	bottom: 0;
}
#ft_support h2::before{
	left: 0;
}
#ft_support h2::after{
	right: 0;
	transform: scale(-1, 1);
}

#ft_support .support_mv{
	padding: 32rem 2% 8rem;
	background: url(../img/cmn/support_mv.webp) no-repeat center/cover;
}
.no-webp #ft_support .support_mv{
	background-image: url(../img/cmn/support_mv.jpg);
}

#ft_support .support_mv .btn_primary{
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-size: 4.8rem;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0;
	padding: .05em 2.33em .25em;
	border: none;
	background-color: #fff100;
}
#ft_support .support_mv .btn_primary .big{
	display: inline-block;
	font-family: "Roboto Flex", Helvetica, "Helvetica Neue", Arial, Verdana, "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", "YuGothic", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.5em;
	font-weight: 700;
	font-style: italic;
	line-height: 1;
	letter-spacing: .05em;
	transform: translateY(.05em);
}

@media screen and (max-width: 768px) {
	#ft_support .title_wrapper{
		padding: 1.75rem 0;
	}
	#ft_support h2{
		padding: 0 .66em;
		margin: auto;
		position: relative;
	}
	#ft_support h2::before, #ft_support h2::after{
		width: .58em;
		height: .9em;
	}

	#ft_support .support_mv{
		padding: 16rem 2% 4.5rem;
		background-image: url(../img/cmn/support_mv_sp.webp);
	}
	.no-webp #ft_support .support_mv{
		background-image: url(../img/cmn/support_mv_sp.jpg);
	}

	#ft_support .support_mv .btn_primary{
		font-size: 2.4rem;
		padding: .05em 2.33em .25em;
	}
}

/* SNS
-------------------------------------------------------- */
#ft_support .sns_container{
	padding: 4rem 0 7rem;
}

#ft_support .sns_container h3{
	line-height: 1.5;
	letter-spacing: .1em;
	width: fit-content;
	margin: 0 auto 1.75em;
	position: relative;
}
#ft_support .sns_container h3::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--red);
	position: absolute;
	bottom: 0;
	left: 0;
}

#ft_support .sns_container .btn_list01{
	margin: 0 auto 3.5rem;
}
#ft_support .sns_container .btn_list li{
	width: 19rem;
	height: 5rem;
	margin: 0 .9%;
}
#ft_support .sns_container .btn_list01 li{
	margin-bottom: 1.5rem;
}

#ft_support .sns_container .btn_list li .btn_primary{
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	letter-spacing: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	box-shadow: .5rem .5rem 0 0 var(--red);
    min-width: inherit !important;
}
#ft_support .sns_container .btn_list li .btn_primary:hover{
	transform: translate(.25rem, .25rem);
	box-shadow: 0 0 0 0 var(--red);
}

#ft_support .sns_container .btn_list01 li .btn_primary{
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-family: hiragino-kaku-gothic-pron, '游ゴシック体', 'YuGothic', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	padding-left: 1em;
    min-width: inherit !important;
}
#ft_support .sns_container .btn_list01 li .btn_primary.facebook{
	padding-left: 2em;
}
#ft_support .sns_container .btn_list01 li .btn_primary::before{
	content: "";
	display: block;
	width: 2em;
	height: 2em;
	background: url(../img/cmn/color-icon_x.svg) no-repeat center/contain;
	position: absolute;
	top: calc(50% - 1em);
	left: 1em;
}
#ft_support .sns_container .btn_list01 li .btn_primary.x::before{
	width: 1.6em;
	height: 1.6em;
	top: calc(50% - .8em);
	left: 1.5em;
}
#ft_support .sns_container .btn_list01 li .btn_primary.facebook::before{
	background-image: url(../img/cmn/color-icon_facebook.png);
	left: 1.5em;
}
#ft_support .sns_container .btn_list01 li .btn_primary.instagram::before{
	background-image: url(../img/cmn/color-icon_instagram.png);
	left: .75em;
}
#ft_support .sns_container .btn_list01 li .btn_primary.youtube::before{
	background-image: url(../img/cmn/icon_y_red.svg);
}
#ft_support .sns_container .btn_list01 li .btn_primary.line::before{
	background-image: url(../img/cmn/color-icon_line.png);
}

@media screen and (max-width: 960px) {
	#ft_support .sns_container .btn_list01{
		width: 70%;
		margin-bottom: 2rem;
	}
}



@media screen and (max-width: 768px) {
	#ft_support .sns_container{
		padding: 2rem 0 6rem;
	}

	#ft_support .sns_container h3{
		margin-bottom: 1em;
	}
	#ft_support .sns_container h3::after{
		display: none;
	}

	#ft_support .sns_container .btn_list{
		-webkit-box-pack: justify;
		justify-content: space-between;
		max-width: 34rem;
		margin: auto;
	}
	#ft_support .sns_container .btn_list01{
		width: 100%;
		max-width: 34rem;
		margin-bottom: 1.5rem;
	}

	#ft_support .sns_container .btn_list li{
		width: 48%;
		max-width: 16rem;
		height: 4rem;
	}
	#ft_support .sns_container .btn_list li:nth-of-type(2n + 1){
		margin-right: auto;
		margin-left: 0;
	}
	#ft_support .sns_container .btn_list li:nth-of-type(2n){
		margin-left: auto;
		margin-right: 0;
	}

	#ft_support .sns_container .btn_list li .btn_primary{
		box-shadow: .25rem .25rem 0 0 var(--red);
	}
	#ft_support .sns_container .btn_list li .btn_primary:hover{
		transform: translate(.125rem, .125rem);
		box-shadow: 0 0 0 0 var(--red);
	}

	#ft_support .sns_container .btn_list01 li .btn_primary{
		font-size: 1.3rem;
	}

	#ft_support .sns_container .btn_list02{
		padding-top: 2rem;
		border-top: 1px solid var(--red);
	}

	#ft_support .sns_container .btn_list02 li{
		margin-bottom: 1.5rem;
	}
}


/************************************************************************
	SNS
**************************************************************************/
#fix_sns{
	color: #fff;
	padding: 2rem .5rem .75rem;
	background-color: var(--red);
	position: fixed;
	box-shadow: 0 .2rem 1rem -.25rem rgba(255, 255, 255, .16);
	z-index: 40;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: opacity .4s;
}
.is_scroll #fix_sns{
	opacity: .7;
}
.is_scroll #fix_sns:hover{
	opacity: 1;
}

#fix_sns .bar{
	display: block;
	width: 1px;
	height: 7.6rem;
	margin: 1.25rem auto;
	background-color: #fff;
}

#fix_sns .icon{
	display: block;
	width: 4rem;
	padding: .5rem;
	margin-bottom: .25rem;
}
#fix_sns .icon:hover{
	background-color: #1a326f;
}

@media screen and (max-width: 768px) {
	#fix_sns{
		display: none;
	}
}
/************************************************************************
	その他共通
**************************************************************************/
main{
	overflow: hidden;
}


/************************************************************************
	トップ MV
**************************************************************************/
#mv{
	font-size: min(16px, 1vw);
	padding-top: 6rem;
	background: url(../img/top/mv_bg2601_2.jpg) no-repeat center/cover;
}
.no-webp #mv{
	background-image: url(../img/top/mv_bg.png);
}

#mv .inner{
	max-width: 1600px;
	margin: auto;
	position: relative;
}

#mv .member{
	width: 33.33%;
	margin-left: 43.75%;
}
#mv .team_nara {
    display: none;
}


@media screen and (max-width: 768px) {
	#mv{
        position: relative;
		padding-top: 3.5em;
		background-image: url(../img/top/mv_bg2601sp.jpg);
	}
	.no-webp #mv{
		background-image: url(../img/top/mv_bg2601sp.jpg);
	}

	#mv .member{
		width: 100%;
		margin-left: 0;
	}
    #mv .team_nara {
        display: block;
        position: absolute;
        bottom: -7.7%;
        width: 47%;
        right: 2%;
    }
}


/* テキスト
-------------------------------------------------------- */
#mv .mv_title{
	width: fit-content;
	position: absolute;
	top: 44.5%;
	left: 7.8%;
	transition-duration: .4s;
}

#mv .mv_title .sub{
	width: 44em;
}
#mv .mv_title.pc .main{
	padding-top: 4.5em;
	position: relative;
}
#mv .mv_title.pc .main::before{
	content: "";
	display: block;
	width: 83%;
	padding-top: 2.63%;
	background: url(../img/top/mv_text2601deco.png) no-repeat center/contain;
	position: absolute;
	top: 1.3em;
	left: 0;
}

#mv .mv_title.pc .main span{
	display: inline-block;
}
#mv .mv_title.pc .main .text02_01{
	width: 51em;/* 306/16 */
	margin-right: 1em;
}
#mv .mv_title.pc .main .text02_02{
	width: 3.6875em;/* 59/16 */
	margin-right: 2.25em;
	transform: translateY(-1.25em);
}
#mv .mv_title.pc .main .text02_03{
	width: 28.5625em;/* 457/16 */
	margin-right: .5em;
}
#mv .mv_title.pc .main .text02_04{
	width: 3.5625em;/* 57/16 */
	transform: translateY(-.25em);
}

#mv .mv_title.pc .main .text02_01,
#mv .mv_title.pc .main .text02_03{
	opacity: 0;
	transform: scale(.2);
}
#mv .mv_title.pc .main .text02_01.animation,
#mv .mv_title.pc .main .text02_03.animation{
	animation: mv_text_anime1 .6s ease forwards;
}

#mv .mv_title.pc .main .text02_02,
#mv .mv_title.pc .main .text02_04{
	opacity: 0;
}
#mv .mv_title.pc .main.arrival .text02_02,
#mv .mv_title.pc .main.arrival .text02_04{
	animation: mv_text_anime2 .6s ease forwards;
}


@keyframes mv_text_anime1{
	0%{
		opacity: 0;
		transform: scale(.2);
	}
	86%{
		opacity: 1;
		transform: scale(1.1);
	}
	100%{
		opacity: 1;
		transform: scale(1);
	}
}
@keyframes mv_text_anime2{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}


@media screen and (max-width: 768px) {
	#mv .mv_title{
		width: 98%;
		top: auto;
		bottom: 6%;
		left: 1.8%;
		transition-duration: .4s;
	}

	#mv .mv_title.sp .main{
		width: 100%;
		margin-bottom: 2%;
	}

	#mv .mv_title.sp .main span{
		display: inline-block;
	}
	#mv .mv_title.sp .main .text02_01sp{
		width: 96%;
	}
	#mv .mv_title.sp .main .text02_02sp{
		margin-left: -11%;
	}

	#mv .mv_title .sub{
		width: 50%;
		margin-left: 2%;
		padding-bottom: 3em;
		position: relative;
	}
	#mv .mv_title .sub.clip{
		transition-duration: .4s;
	}
	/*#mv .mv_title.sp .sub::before{
		content: "";
		display: block;
		width: 98%;
		padding-top: 3.3%;
		background: url(../img/top/mv_text01deco.png) no-repeat center/contain;
		position: absolute;
		bottom: 0;
		left: 0;
	}*/
}

/* 名前
-------------------------------------------------------- */
#mv .name_group{
	position: absolute;
	top: 15%;
	right: 9.7%;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
    text-orientation: upright;
}

#mv .name_group .sub{
	font-size: 1.36875em;/* 21.9/16 */
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .05em;
	color: var(--red);
	height: fit-content;
	padding: 2.25em .7em 2em;
	border-radius: 10em;
	background-color: #fff;
}
#mv .name_group .sub .big{
	font-size: 1.5em;/* 32.85/21.9 */
	line-height: 1.2;
}

#mv .name_group .main{
	width: 6.125em;
	margin-right: 1.5em;
}
.cta {
    background: #dd001c;
    padding: 60px 0;
}
.cta p {
    color: #fff;
    margin-bottom: 25px;
    font-size: 2.5rem;
    text-align: center;
}
.cta ul {
    display: flex;
    justify-content: space-between;
}
.cta .btn_primary {
    box-shadow: 1rem 1rem 0 0 #000;
    border: solid 1px #000;
    color: #000;
}
.cta .btn_primary:hover {
    box-shadow: none;
}
@media screen and (max-width: 768px) {
	#mv .name_group{
		top: 7%;
		right: 3.5%;
	}

	#mv .name_group .sub{
		font-size: 3.38em;/* 25.35/7.5 */
		font-weight: 600;
		line-height: 1.4;
		letter-spacing: .05em;
		color: var(--red);
		height: fit-content;
		padding: 2em .66em 1.5em;
		border-radius: 10em;
		background-color: #fff;
	}

	#mv .name_group .main{
		width: 16em;
		margin-right: 1.5em;
	}
    .rotate-bracket {
  /* 必要に応じて、個別に回転や位置を微調整できます */
  /*display: inline-block;
  transform: rotate(0deg); */
        display: none;
}
    .cta {
        padding: 50px 0 60px;
    }
    .cta p {
        font-size: 1.8rem;
        text-align:left;
        margin-bottom: 50px;
    }
    .cta ul {
        display: block;
    }
    .cta li {
        width: 90%;
        margin: 0 auto 25px;
    }
    .cta li a {
        width: 100%;
        text-align: center;
    }
}



/************************************************************************
	小林しげきが語る 日本のくにづくり
**************************************************************************/
#top_movie{
	background: url(../img/top/movie_bg.webp) no-repeat center bottom/100%;
}
.no-webp #top_movie{
	background-image: url(../img/top/movie_bg.png);
}

#top_movie .line_title{
	padding: 0 .5em;
	margin-bottom: .75em;
}

#top_movie .movie_box.empty{
	background-color: #ececec;
}
#top_movie .movie_box{
	width: 48%;
	max-width: 76.6rem;
}
#top_movie .movie_box.box00{
	margin: auto auto 8rem;
}
#top_movie .movie_box.box01{
	/*margin-left: auto;*/
	margin-bottom: 3rem;
}
#top_movie .movie_box.box02{
	margin-bottom: 8rem;
}

#top_movie .btn_primary{
	font-size: 2.4rem;
	color: #000;
	padding: .85em 4em;
}
#top_movie .btn_primary::after{
	content: "";
	display: block;
	width: 1.54em;
	height: 1.08em;
	background: url(../img/cmn/icon_y_red.svg) no-repeat center/contain;
	position: absolute;
	right: 1.1em;
	top: calc(50% - .54em);
}

@media screen and (max-width: 768px) {
	#top_movie{
		background-image: url(../img/top/movie_bg_sp.webp);
	}
	.no-webp #top_movie{
		background-image: url(../img/top/movie_bg_sp.png);
	}


	#top_movie .line_title{
		font-size: 3rem;
		padding: 0 .33em;
	}
	#top_movie .line_title::before{
		display: block;
		height: .1rem;
		top: .66em;
	}

	#top_movie .line_title .control{
		display: none;
	}

	#top_movie .movie_box{
		width: 100%;
		max-width: none;
	}
	#top_movie .movie_box.box01{
		margin-left: 0;
		margin-bottom: 2rem;
	}
	#top_movie .movie_box.box02, #top_movie .movie_box.box00{
		margin-bottom: 9rem;
	}

	#top_movie .btn_primary{
		font-size: 1.5rem;
		color: #000;
		padding: .75em 3.33em;
	}
}



/************************************************************************
	活動報告
**************************************************************************/
#top_report .inner{
	max-width: 1140px;
	width: 92%;
}

#top_report .line_title{
	letter-spacing: .1em;
	margin-bottom: 2.25em;
}

#top_report .news_list{
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: repeat(3, calc(100% / 3));
    grid-template-columns: repeat(3, calc(100% / 3));
	margin-bottom: 7.5rem;
}

#top_report .news_list li{
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: subgrid;
	grid-template-rows: subgrid;/* サブグリッドにすることで高さ調整可能に */
	grid-row: span 3;/* パーツの数 */
	border-right: 1px solid #000;
}
#top_report .news_list li:nth-of-type(1){
	border-left: 1px solid #000;
}
#top_report .news_list li:nth-of-type(2){
	animation-delay: .4s;
}
#top_report .news_list li:nth-of-type(3){
	animation-delay: .8s;
}


#top_report .news_list li a{
	display: inherit;
	display: inherit;
	-ms-grid-rows: inherit;
	grid-template-rows: inherit;
	grid-row: inherit;
	padding: 0 8% 3rem;
}

#top_report .news_list li .date{
	font-family: "Roboto Flex", Helvetica, "Helvetica Neue", Arial, Verdana, "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", "YuGothic", "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.4rem;
	color: var(--red);
}

#top_report .news_list li .img{
	position: relative;
}
#top_report .news_list li .img::before{
	content: "";
	display: block;
	padding-top: 70.7%;
}
#top_report .news_list li .img .cover{
	width: 100%;
	height: 100%;
	background-size: cover;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

#top_report .news_list li h3{
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-size: 2.2rem;
	font-weight: 600;
	color: var(--red);
	line-height: 1.63;
	padding-top: .5em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2; /* 任意の行数を指定 */
}
#top_report .news_list li a:hover h3{
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	#top_report .line_title{
		margin-bottom: .75em;
	}

	#top_report .news_list{
		display: block;
		margin-bottom: 1.5rem;
	}

	#top_report .news_list li{
		display: block;
		border-right: none;
	}
	#top_report .news_list li:nth-of-type(1){
		border-left: none;
		border-bottom: 1px solid var(--red);
	}
	#top_report .news_list li:nth-last-of-type(1){
		display: none;
		animation-delay: 0;
	}
	#top_report .news_list li:nth-of-type(2){
		animation-delay: 0;
	}

	#top_report .news_list li a{
		padding: 3.5rem 0;
	}
	#top_report .news_list li:nth-of-type(1) a{
		padding-top: 0;
	}

	#top_report .news_list li .date{
		font-size: 1.5rem;
	}
	
	#top_report .news_list li h3{
		font-size: 1.8rem;
		line-height: 1.33;
		padding-top: .75em;
	}
}
/* ---------------------------
　aside_sns
--------------------------- */
#aside_sns {
    margin-top: 70px;
}
#aside_sns ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
    width: 50%;
    margin: 0 auto;
}
#aside_sns ul li {
	width: 100%;
	height: 480px;
	position: relative;
    text-align: center;
    margin: 0 auto;
}

#aside_sns .facebook {
	margin: 0 auto;
}
#aside_sns .facebook > .fb-page {
	width: 100%;
}
#aside_sns .facebook > .fb-page > span,
#aside_sns .facebook iframe {
	width: 100% !important;
}

#aside_sns ul li:not(:last-child) {
	margin: 0 60px 0 0;
}
#aside_sns ul li:last-child {
	border: solid 1px #cdcdcd;
	overflow-y: scroll;
}

@media screen and (max-width: 768px) {
	#aside_sns ul {
		flex-direction: column;
	}
	#aside_sns ul li:not(:last-child) {
		margin: 0 0 60px 0;
	}
    #aside_sns .facebook {
        display: none;
    }
/*	#aside_sns .facebook > .fb-page > span, #aside_sns .facebook iframe {
		width: auto !important;
	}*/

}

/************************************************************************
	改革と実現力。
**************************************************************************/
#innovation .title_wrapper{
	font-size: min(14.4px, 1vw);/* max-width 1440pxにするので */
	color: #fff;
	background-color: var(--red);
	position: relative;
	overflow: hidden;
}


#innovation .title_wrapper .inner{
	max-width: 1440px;
	width: 90%;
	padding: 4.4em 0;
	position: relative;
}

#innovation .title_wrapper h2{
	font-size: 6.94em;/* 100/14.4 */
	letter-spacing: .05em;
	margin-right: 2%;
	position: relative;
}
#innovation .title_wrapper h2::before{
	content: "";
	display: block;
	width: 3em;/* 300/100 */
	height: 3em;
	background: url(../img/top/inovation_deco.svg) no-repeat center/contain;
	position: absolute;
	right: 96%;
	top: -1.9em;
}


#innovation .title_wrapper h2 .small01{
	font-size: .555em;
}
#innovation .title_wrapper h2 .small02{
	font-size: .693em;
}

#innovation .title_wrapper .sub{
	font-size: 2.083em;
	letter-spacing: .05em;
}

@media screen and (max-width: 768px) {
	#innovation .title_wrapper{
		font-size: min(36px, 4.8vw);
	}
	#innovation .title_wrapper .inner{
		display: block;
		width: 100%;
		padding: 1.6em 0 1.4em;
	}

	#innovation .title_wrapper h2{
		font-size: 2.343em;/* 84.37/36 */
		width: fit-content;
		padding: 0 .4em .1em .1em;
		margin-right: 0;
		margin-left: auto;
	}
	#innovation .title_wrapper h2::before{
		right: 98%;
		top: -1.7em;
	}
	#innovation .title_wrapper h2::after{
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background-color: #fff;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	#innovation .title_wrapper h2 .small01{
		font-size: .8em;
	}
	#innovation .title_wrapper h2 .small02{
		font-size: 1em;
	}

	#innovation .title_wrapper .sub{
		font-family: hiragino-kaku-gothic-pron, '游ゴシック体', 'YuGothic', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
		font-size: 1em;
		letter-spacing: -.005em;
		width: fit-content;
		padding-top: .6em;
		margin-left: auto;
		margin-right: 2%;
	}
}


/* 7つの改革
-------------------------------------------------------- */
#innovation .inner02 .relative{
	position: relative;
}

#innovation .inner02 h3{
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-size: min(60px, 5vw);/* max-width: 1200px; */
	font-weight: 900;
	line-height: 1;
	color: var(--red);
	width: fit-content;
	position: absolute;
	left: 0;
	top: 0;
}
#innovation .inner02 h3 .small01{
	font-size: .8em;/* 48/60 */
}
#innovation .inner02 h3 .small02{
	font-size: 1.065em;/* 63.97/60 */
	letter-spacing: .075em;
}
#innovation .inner02 h3 .big01{
	display: inline-block;
	font-size: 4.25em;/* 255.9/60 */
	line-height: .95em;
	margin-left: -.1em;
	transform: translateY(.025em);
}
#innovation .inner02 h3 .big02{
	font-size: 2.1325em;/* 127.95/60 */
	letter-spacing: .075em;
}

#innovation .innovation_nav{
	display: none;
}

@media screen and (max-width: 768px) {
	#innovation .inner02{
		width: 100%;
		padding-top: 9%;
		padding-bottom: 5rem;
	}

	#innovation .inner02 h3{
		font-size: 5.157vw;/* 38.68/750 */
		left: 1%;
		top: -1.2em;
	}
	#innovation .inner02 h3 .small02{
		font-size: 1em;
	}
	#innovation .inner02 h3 .big01{
		display: inline-block;
		font-size: 3.9em;/* 154.72/38.68 */
		margin-left: 0;
	}
	#innovation .inner02 h3 .big02{
		font-size: 2em;/* 77.36/38.68 */
		letter-spacing: .033em;
	}

	#innovation .inner02 h3 .control{
		display: none;
	}

	#innovation .innovation_nav{
		counter-reset: innovation_nav;
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: repeat(2, 50%);
		grid-template-columns: repeat(2, 50%);
		width: 96%;
		margin: 0 auto 4.5rem;
	}

	#innovation .innovation_nav li{
		counter-increment:  innovation_nav;
		font-size: 4.125vw;/* 30.94/750 */
		font-weight: 600;
		text-align: center;
		color: var(--red);
		font-feature-settings: "palt";
		border: 1px solid var(--red);
	}
	#innovation .innovation_nav li:nth-of-type(2n+1){
		-ms-grid-column: 2;
		-ms-grid-column-span: 1;
		grid-column: 2 / 3;
	}
	#innovation .innovation_nav li:nth-of-type(2n){
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
		grid-column: 1 / 2;
		border-right: none;
	}
	#innovation .innovation_nav li:nth-child(-n+5){
		border-bottom: none;
	}
	#innovation .innovation_nav li:nth-child(n+4):nth-child(-n+6){
		font-size: 3.782vw;/* 28.37/750 */
	}

	#innovation .innovation_nav li a{
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		align-items: center;
		width: 100%;
		height: 12.7vw;/* 見た目 */
		position: relative;
	}
	#innovation .innovation_nav li a:hover{
		color: #fff;
		background-color: var(--red);
	}
	#innovation .innovation_nav li a::before{
		content: counter(innovation_nav, decimal-leading-zero);
		font-family: "Roboto Flex", sans-serif;
		font-size: .84em;/* 25.79/30.94 */
		font-weight: 700;
		font-style: italic;
		position: absolute;
		left: .2em;
		top: .1em;
	}
	
}

/* 7つの改革 01~07
-------------------------------------------------------- */
#innovation .innovation_list{
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: repeat(2, 47.5%);
    grid-template-columns: repeat(2, 47.5%);
	-ms-grid-rows: max-content;/* 高さを要素に合わせたい箇所がmax-content　可変しなくていい箇所は1fr */
	grid-template-rows: max-content;
	row-gap: 17rem;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

#innovation .innovation_list li{
	-ms-grid-column-span: 1;
	-ms-grid-row-span: 2;
}
#innovation .innovation_list li:nth-of-type(2n){
	-ms-grid-column: 1;
	grid-column: 1 / 2;
	margin-top: -3rem;
}
#innovation .innovation_list li:nth-of-type(2n+1){
	-ms-grid-column: 2;
	grid-column: 2 / 3;
}
#innovation .innovation_list #innovation01{
	-ms-grid-row: 1;
	grid-row: 1/ 3;
}
#innovation .innovation_list #innovation02{
	-ms-grid-row: 2;
	grid-row: 2/ 4;
}
#innovation .innovation_list #innovation03{
	-ms-grid-row: 3;
	grid-row: 3/ 5;
}
#innovation .innovation_list #innovation04{
	-ms-grid-row: 4;
	grid-row: 4/ 6;
}
#innovation .innovation_list #innovation05{
	-ms-grid-row: 5;
	grid-row: 5/ 7;
}
#innovation .innovation_list #innovation06{
	-ms-grid-row: 6;
	grid-row: 6/ 8;
}
#innovation .innovation_list #innovation07{
	-ms-grid-row: 7;
	grid-row: 7/ 9;
	margin-top: -2rem;
}

#innovation .innovation_list .title_box{
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	color: #fff;
	padding: .5rem 3%;
	background-color: var(--red);
}

#innovation .innovation_list .title_box .num{
	flex-shrink: 0;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	font-size: 4.8rem;
	line-height: 1.5;
	letter-spacing: .05em;
	vertical-align: middle;
}
#innovation .innovation_list .title_box .num .sub{
	font-size: .375em;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

#innovation .innovation_list .title_box h4{
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.5;
	margin-left: 8%;
}


#innovation .innovation_list .text_box{
	width: 94%;
	max-width: 53rem;
	padding: 2rem 5%;
	margin: -16% auto 0;
	background-color: #fff;
	position: relative;
	z-index: 1;
}
#innovation .innovation_list .text_box h5{
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-size: 2.4rem;
	font-weight: 900;
	color: var(--red);
	line-height: 1.5;
	margin-bottom: .75em;
}
#innovation .innovation_list .text_box .text{
	color: var(--red);
	letter-spacing: .05em;
}

#innovation .innovation_list .text_box .btn_secondary{
	margin-top: 2.66em;
}
@media screen and (max-width: 768px) {
	#innovation .innovation_list{
		display: block;
	}

	#innovation .innovation_list li{
		margin-bottom: 3rem;
	}
	#innovation .innovation_list li:nth-of-type(2n){
		margin-top: 0;
	}
	#innovation .innovation_list #innovation07{
		margin-top: -1rem;
		margin-bottom: 0;
	}

	#innovation .innovation_list .title_box{
		padding: .25rem 1%;
	}
	
	#innovation .innovation_list .title_box .num{
		font-size: 3.2rem;
	}

	#innovation .innovation_list .title_box h4{
		font-size: 2.3rem;
		margin-left: 1em;
	}

	#innovation .innovation_list .text_box{
		width: 96%;
		max-width: none;
		padding: 1.5rem 3%;
		margin-top: -20%;
		background-color: #fff;
		position: relative;
		z-index: 1;
	}
	#innovation .innovation_list .text_box h5{
		font-size: 1.8rem;
		letter-spacing: .05em;
		margin-bottom: .75em;
	}
}



/************************************************************************
	パララックス
**************************************************************************/
#top_parallax{
	width: 100%;
	padding-top: 47.5%;
	background-image: url(../img/top/parallax.webp);
	background-repeat: no-repeat;
	background-position-y: 0%;
	background-size: 100%;
}
.no-webp #top_parallax{
	background-image: url(../img/top/parallax.jpg);
}

@media screen and (max-width: 768px) {
	#top_parallax{
		height: 30rem;
		background-size: cover;
		background-position-y: center !important;
	}
}




/************************************************************************
	21の実現
**************************************************************************/
#realize .title_wrapper{
	font-size: min(12.5px, 1vw);/* 1200px=96%→1250pxから縮む */
	color: #fff;
	background-color: var(--red);
}
#realize .title_wrapper .inner{
	padding: 5.8em 0 3.5em;
}

#realize .title_wrapper .sub01{
	font-size: 3.84em;/* 48/12.5 */
	line-height: 1;
	letter-spacing: .01em;
}
#realize .title_wrapper .sub01 .big{
	font-size: 1.25em;
}

#realize .title_wrapper hgroup .main{
	font-size: 10.236em;/* 127.95/12.5 */
	line-height: .875;
	margin-right: 2%;
}
#realize .title_wrapper hgroup .main .big{
	display: inline-block;
	font-size: 2em;
	transform: translateY(.03em);
	margin-right: -.02em;
}
#realize .title_wrapper hgroup .main .small{
	font-size: .5em;
}

#realize .title_wrapper hgroup .sub02{
	font-size: 2.88em;/* 36/12.5 */
	line-height: 1.52;
	padding: 0 1.33em 1.33em 1.2em;
	position: relative;
}
#realize .title_wrapper hgroup .sub02::after{
	content: "";
	display: block;
	width: 100%;
	height: .56em;
	background: url(../img/top/realize_title_deco.svg) no-repeat center/contain;
	position: absolute;
	bottom: .45em;
	left: 0;
}

@media screen and (max-width: 768px) {
	#realize .title_wrapper{
		font-size: 6.4vw;/* 48/750 */
	}
	#realize .title_wrapper .inner{
		padding: 1.66em 0 1em;
	}

	#realize .title_wrapper .sub01{
		font-size: 1em;/* 48/48 */
	}
	#realize .title_wrapper .sub01 .big{
		letter-spacing: -.02em;
	}

	#realize .title_wrapper hgroup .main{
		font-size: 2.6em;/* 127.95/48 */
		margin-right: 0;
		margin-left: 2%;
	}
	#realize .title_wrapper hgroup .main .big{
		display: inline-block;
		font-size: 2em;
		transform: translateY(.03em);
		margin-right: -.02em;
	}
	#realize .title_wrapper hgroup .main .small{
		font-size: .5em;
	}

	#realize .title_wrapper hgroup .sub02{
		font-size: 1em;/* 48/48 */
		line-height: 1.52;
		letter-spacing: -.01em;
		padding: .5em .25em 1.33em .25em;
		margin-left: 1.5%;
		position: relative;
	}
}


/* 人の命、地球環境を守る〜
-------------------------------------------------------- */
#realize01{
	margin-bottom: 5.5rem;
}
#realize02{
	margin-bottom: 4.5rem;
}

#realize01 .line_title{
	margin-bottom: 1.33em;
}
#realize02 .line_title{
	margin-bottom: 1.5em;
}
#realize03 .line_title{
	padding: 0 .25em;
	margin-bottom: 1.5em;
}
#realize03 .line_title::before{
	top: calc(50% - .1rem);
}

#realize02 .flex_container01{
	margin-bottom: 3.5rem;
}

#realize .text_wrapper{
	width: 48%;
	max-width: 57rem;
}
#realize01 .text_wrapper{
	margin-top: -.5rem;
}
#realize02 .text_wrapper{
	width: 49%;
	max-width: none;
}
#realize02 .flex_container01 .text_wrapper{
	padding-top: .5rem;
}
#realize02 .flex_container02 .text_wrapper{
	margin-top: -1rem;
}
#realize03 .text_wrapper{
	padding-top: 5.5%;
}

#realize .text_wrapper .square_list li{
	margin-bottom: .5em;
}
#realize .text_wrapper .square_list.fz18 li{
	margin-bottom: .25em;
}
#realize .text_wrapper .square_list li span {
    background: #fff100;
}

#realize .text_wrapper h4{
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-size: 2.4rem;
	font-weight: 900;
	color: var(--red);
	line-height: 1.5;
	margin-bottom: .4em;
}
#realize .text_wrapper h4.mb1em{
	margin-bottom: 1em;
}
#realize .text_wrapper h4.mb075em{
	margin-bottom: .75em;
}


@media screen and (max-width: 1024px) {
	#realize .line_title{
		font-size: 4rem;
	}
}

@media screen and (max-width: 768px) {
	#realize02, #realize03{
		border-top: 1px solid var(--red);
	}
	#realize02{
		padding-top: 1.5rem;
		margin-bottom: 3rem;
	}
	#realize03{
		padding-top: 2.5rem;
		margin-bottom: 3rem;
	}

	#realize .line_title{
		font-size: 2.4rem;
		line-height: 1.75;
	}
	#realize01 .line_title{
		margin-bottom: .75em;
	}
	#realize02 .line_title{
		font-feature-settings: normal;
		text-align: center;
		margin-bottom: .75em;
	}
	#realize03 .line_title{
		text-align: center;
		line-height: 1.5;
		margin-bottom: .75em;
	}

	#realize .flex_container{
		display: block;
	}
	#realize02 .flex_container01{
		margin-bottom: 4.5rem;
	}

	#realize .text_wrapper{
		width: 96%;
		max-width: none;
		margin: auto;
	}
	#realize02 .text_wrapper{
		width: 96%;
		padding-top: 0;
	}
	#realize03 .text_wrapper{
		padding-top: 0;
	}

	#realize .text_wrapper .cjk.fw900{
		font-family: hiragino-kaku-gothic-pron, '游ゴシック体', 'YuGothic', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
		font-weight: 600;
	}
	#realize .text_wrapper .fw600{
		font-weight: 300;
	}

	#realize .text_wrapper .square_list{
		line-height: 1.3;
	}
	#realize .text_wrapper .square_list.mb2em_sp{
		margin-bottom: 2em;
	}

	#realize .text_wrapper .square_list li{
		margin-bottom: .75em;
	}
	#realize .text_wrapper .square_list.fz18 li{
		margin-bottom: .5em;
	}

	#realize .text_wrapper h4{
		font-size: 1.8rem;
		line-height: 1.5;
		margin-bottom: 1em;
	}

}


/* スワイパー
-------------------------------------------------------- */
#realize .flex_container .swiper{
	width: 48%;
	max-width: 57rem;
	padding-bottom: 3rem;
	margin: 0;
}

#realize .flex_container .swiper .swiper-slide{
	position: relative;
}
#realize .flex_container .swiper .swiper-slide figure figcaption{
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--red);
	line-height: 1.285;
	width: 100%;
	padding: .75em;
	background-color: rgba(255, 255, 255, .9);
	position: absolute;
	left: 0;
	bottom: 0;
}

#realize .flex_container .swiper .swiper-pagination{
	bottom: 0;
}
#realize .flex_container .swiper .swiper-pagination .swiper-pagination-bullet{
	width: 1rem;
	height: 1rem;
	margin: 0 .5rem;
}
#realize .flex_container .swiper .swiper-pagination .swiper-pagination-bullet-active{
	background: var(--red);
}

@media screen and (max-width: 768px) {
	#realize .flex_container .swiper{
		width: 100%;
		max-width: none;
		padding-bottom: 2.5rem;
		margin-bottom: 1rem;
	}

	#realize .flex_container .swiper .swiper-slide figure figcaption{
		font-size: 1.4rem;
		line-height: 1.75;
		padding: .25em .75em;
	}
}




/* 
-------------------------------------------------------- */


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



/************************************************************************
	
**************************************************************************/


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


/* 
-------------------------------------------------------- */


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

/* 
-------------------------------------------------------- */


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


