@charset "UTF-8";

/*----------------------------------------
	- base
-----------------------------------------*/
:root {
	--main_color: #BB2929;
}
.noto_sans {
	font-family: "Noto Sans JP", serif;
}

/*=======================================
	base
=======================================*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body {
	/* font-family: 'Jost', "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","Hiragino Maru Gothic W4 JIS2004", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif; */
	letter-spacing: 0.1em;
}


img,
figure,
picture {
	max-width: 100%;
	height: auto;
	/*vertical-align: top;*/
}
ul,
li {
	list-style: none;
}
a {
	text-decoration: none;
	opacity: 1;
	transition: all 0.3s ease;
}
@media (hover: hover) {
	a:hover {
		opacity: 0.8;
	}
}

/* wide */
.w980 {
	max-width: 980px;
	width: 90%;
}

/*============================
#mv_wrap
============================*/
section#mv_wrap div.contest {
	position: relative;
	width: 100%;
	height: 240px;
	border-bottom: 1px solid #C1C1C1;
}
section#mv_wrap div.contest div.title_area {
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	width: 100%;
}
section#mv_wrap div.contest div.title_area h2 {
	margin-bottom: 16px;
	font-size: 45px;
	letter-spacing: 0.05em;
}
section#mv_wrap div.contest div.title_area p {
	font-weight: 500;
	color: #BB2929;
	font-size: 20px;
}
@media screen and (max-width: 1200px) {
	section#mv_wrap div.contest div.title_area h2 {
		font-size: calc((45 / 1200) * 100vw);
		margin-bottom: 3px;
	}
	section#mv_wrap div.contest div.title_area p {
		font-size: calc((20 / 1200) * 100vw);
	}
}
@media only screen and (max-width: 767px){
	section#mv_wrap div.contest div.title_area h2 {
		font-size: 25px;
		margin-bottom: 10px;
		line-height: 1.2;
	}
	section#mv_wrap div.contest div.title_area p {
		font-size: 13px;
	}
}


#mv_wrap .contest .title_area {
	margin-bottom: 40px;
}
#mv_wrap .contest .txt01 {
	text-align: center;
	width: 90%;
	margin: 0 auto;
	letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px){
section#mv_wrap div.contest {
	height: 120px;
}
#mv_wrap .contest .title_area {
	margin-bottom: 20px;
}
#mv_wrap .contest .txt01 {
	font-size: calc(18/750*100vw);
}
}



/*============================
 sec_intro
============================*/
.sec_intro {
	padding-top: 80px;
	margin-bottom: 156px;
}
.sec_intro .item:not(:last-child) {
	margin-bottom: 200px;
}
.sec_intro .item .flex_area {
	justify-content: space-between;
	margin-bottom: 124px;
}
.sec_intro .item .txt_area {
	width: 39.28%;
}
.sec_intro .item .txt_area .copy {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.566;
	/* margin-bottom: 60px; */
	margin-bottom: 40px;
	position: relative;
}
.sec_intro .item .txt_area .copy::after {
    /* content:  ""; */
    /* width:  166.8px; */
    /* width: 30px; */
    /* height:  3px; */
    /* display:  inline-block; */
    /* background-color: var(--main_color); */
    /* position: absolute; */
    /* bottom: -25px; */
    /* left: 0; */
}
.sec_intro .item .txt_area .txt {
	letter-spacing: 0.1em;
	line-height: 2;
}
.sec_intro .item .img_area {
	width: 53.57%;
}
@media only screen and (max-width: 767px){
.sec_intro {
	margin-bottom: 78px;
}
.sec_intro .item:not(:last-child) {
	margin-bottom: 100px;
}
.sec_intro .item .flex_area {
	margin-bottom: 62px;
}
.sec_intro .item .txt_area {
	width: 100%;
}
.sec_intro .item .txt_area .copy {
	font-size: 18px;
	margin-bottom: 20px;
}
.sec_intro .item .txt_area .copy::after {
    /* width: 83.4px; */
    /* width: 20px; */
    /* bottom: -15px; */
}
.sec_intro .item .txt_area .txt {
	margin-bottom: 20px;
}
.sec_intro .item .img_area {
	width: 100%;
}
}



/*============================
 sec_kinds
============================*/
.sec_kinds {
	padding: 84px 0 30px;
    background: url("../../../images/about/outer_wall/kinds_bg01.jpg") repeat center top;
    background-size: cover;
}
.sec_kinds .sttl {
	font-size: 30px;
	text-align: center;
	font-weight: 700;
	margin: 0 auto 90px;
	position: relative;
	width: fit-content;
}
.sec_kinds .sttl::before {
	content: "";
	position: absolute;
	top: 40%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: -2.7em;
	background: url("../../../images/about/outer_wall/icon_kinds.png") no-repeat;
	background-size: cover;
	/* width: 60.25px; */
	width: 61px;
	height: 52.75px;
}
.sec_kinds .balloon {
	margin-bottom: 65px;
	width: 101.5%;
}
.sec_kinds ul {
	flex-flow: wrap;
	justify-content: space-between;
}
.sec_kinds ul li {
	width: 46.42%;
	margin-bottom: 85px;
}
.sec_kinds ul li .hd_txt {
	font-size: 30px;
	font-weight: 700;
	color: var(--main_color);
	margin-bottom: 15px;
}
.sec_kinds ul li .img {
	margin-bottom: 30px;
}
.sec_kinds ul li .txt {
	letter-spacing: 0.1em;
	line-height: 2;
}
@media only screen and (max-width: 767px){
.sec_kinds {
	padding: 42px 0 15px;
}
.sec_kinds .sttl {
	font-size: 18px;
	margin-bottom: 20px;
}
.sec_kinds .sttl::before {
	left: -2.5em;
	width: 35px;
	height: 31px;
}
.sec_kinds .balloon {
	margin-bottom: 32.5px;
}
.sec_kinds ul {
	display: flex;
}
.sec_kinds ul li {
	width: 48%;
	margin-bottom: 42.5px;
}
.sec_kinds ul li .hd_txt {
	font-size: 18px;
	margin-bottom: 7.5px;
}
.sec_kinds ul li .img {
	margin-bottom: 15px;
}
.sec_kinds ul li .txt {
	letter-spacing: 0.1em;
	line-height: 2;
}
}
@media only screen and (max-width: 640px){
.sec_kinds ul li {
	width: 100%;
}
}



/*=======================================
　sec_case
=======================================*/
.sec_case {
    margin-bottom: 161px;
}
.sec_case h3 {
 	font-size: 60px;
	color: #fff;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
}
.sec_case .txt01 {
 	color: #fff;
 	margin-bottom: 40px;
}
@media only screen and (max-width: 767px){
.sec_case {
    margin-bottom: 80.5px;
}
.sec_case h3 {
 	font-size: 30px;
 	margin-bottom: 5px;
}
.sec_case .txt01 {
	margin-bottom: 10px;
	/* font-size: 10px; */
}
.sec_case .btn01 {
	width: fit-content;
}
}

/*=======================================
　sec_movie
=======================================*/

.sec_movie {
	margin-bottom: 156px;
}

.movie_area {
	width: 850px;
	margin: 0 auto;
}

.movie_area div {
	position: relative;
	padding-bottom: 56.25%;
}

.movie_area div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

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

	.movie_area {
		width: 100%;
	}

	.sec_movie {
		margin-bottom: 78px;
	}


}
