@charset "utf-8";
/* ===================================================
	Concept CSS
====================================================== */

#lead_col h2 { text-indent: -1em; padding-top: 0.5em; }

/* ---------------------------------------------------
	sec01
------------------------------------------------------ */
#sec01 { padding: 100px 0 105px; background: var(--color04); }
#sec01 .cmn_tit01 { margin-bottom: 130px; }
#sec01 .flex_box { display: flex; justify-content: space-between; flex-direction: row-reverse; }
#sec01 .flex_box .photo_col div + div { margin-top: 10px; }
#sec01 .flex_box .txt_col { color: #fff; line-height: 2.2; }
#sec01 .flex_box .txt_col p + p { margin-top: 2em;}
#sec01 .movie_col { margin: 105px auto 0; text-align: center; }
#sec01 .movie_col .movie { padding-bottom: 63.75%; position: relative; }
#sec01 .movie_col .movie iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
	#sec01 .flex_box .photo_col { width: min(430px, 36%); }
	#sec01 .flex_box .txt_col { width: min(705px, 58.75%); }
	#sec01 .movie_col { width: 800px; }
}
@media screen and (max-width: 600px) {
	#sec01 { padding: 60px 0; }
	#sec01 .cmn_tit01 { margin-bottom: 40px; }
	#sec01 .flex_box { flex-direction: column; }
	#sec01 .flex_box .photo_col { margin-top: 20px; }
	#sec01 .flex_box .photo_col div + div { margin-top: 10px; }
	#sec01 .flex_box .txt_col { line-height: 1.8; }
	#sec01 .flex_box .txt_col p + p { margin-top: 1em;}
	#sec01 .movie_col { margin-top: 40px; }
}

/* ---------------------------------------------------
	sec02
------------------------------------------------------ */
#sec02 { padding: 110px 0 160px; position: relative; }
#sec02::before { content: ''; width: 674px; height: 625px; background: url(../../concept/img/sec02_bg01.png) no-repeat center/contain; position: absolute; top: -20px; right: -295px; z-index: -1; }
#sec02::after { content: ''; width: 674px; height: 604px; background: url(../../concept/img/sec02_bg02.png) no-repeat center/contain; position: absolute; bottom: 110px; left: -235px; z-index: -1; }
#sec02 section + section { margin-top: 115px; }
#sec02 .cmn_tit01 { margin-bottom: 95px; }
#sec02 .main_photo { display: flex; gap: 3px; }
#sec02 .flex_box { display: flex; justify-content: space-between; margin-top: 35px; }
#sec02 .flex_box .point { display: flex; align-items: center; flex-direction: column; padding: 25px 75px 0 60px; margin-right: 70px; border-right: 1px solid #898989; color: var(--color04); }
#sec02 .flex_box .point span:nth-child(1) { font-size: 50px; letter-spacing: 0.1em;  line-height: 1; margin-bottom: 5px; }
#sec02 .flex_box .point span:nth-child(2) { font-size: 20px; letter-spacing: 0.15em; }
#sec02 .flex_box .txt_col { flex-grow: 1; }
#sec02 .flex_box .txt_col h3 { font-size: 26px; margin-bottom: 25px; }
#sec02 .flex_box .txt_col p { line-height: 2.2; }

@media screen and (hover: hover) {
}
@media screen and (min-width: 601px) {
}
@media screen and (max-width: 600px) {
	#sec02 { padding: 60px 0; }
	#sec02::before { width: 90vw; height: 85vw; top: -40px; right: -50vw; }
	#sec02::after { width: 90vw; height: 70vw; bottom: -35vw; left: -30vw; }
	#sec02 section + section { margin-top: 65px; }
	#sec02 .cmn_tit01 { margin-bottom: 40px; filter: drop-shadow(0 0 3px var(--color01)) drop-shadow(0 0 3px var(--color01)); }
	#sec02 .flex_box .txt_col { display: contents; }
	#sec02 .main_photo { display: flex; gap: 2px; height: 55vw; }
	#sec02 .flex_box { margin-top: 15px; flex-wrap: wrap; }
	#sec02 .flex_box .point { width: 70px; padding: 0 5px 0 0; margin-right: 20px; justify-content: center; }
	#sec02 .flex_box .point span:nth-child(1) { font-size: 30px; margin-bottom: 5px; }
	#sec02 .flex_box .point span:nth-child(2) { font-size: 14px; letter-spacing: 0.1em; }
	#sec02 .flex_box .txt_col h3 { width: calc(100% - 90px); font-size: 20px; margin: 0; align-content: center; }
	#sec02 .flex_box .txt_col p { line-height: 1.8; width: 100%; margin-top: 10px; filter: drop-shadow(0 0 3px var(--color01)) drop-shadow(0 0 3px var(--color01)); }
}
