@charset "utf-8";
/* ------------------------------------------------------------------------ */

/*  Parts

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

/* Layout
--------------------------------------------------------------------------- */

/* ---------- font-family ---------- */

/* --- margin --- */

.auto {
	margin-right: auto;
	margin-left: auto;
}

.mt0 {
	margin-top: 0 !important;
}
.mt5 {
	margin-top: 5px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt25 {
	margin-top: 25px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt35 {
	margin-top: 35px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mt45 {
	margin-top: 45px !important;
}
.mt50 {
	margin-top: 50px !important;
}

.mr0 {
	margin-right: 0 !important;
}
.mr5 {
	margin-right: 5px !important;
}
.mr10 {
	margin-right: 10px !important;
}
.mr15 {
	margin-right: 15px !important;
}
.mr20 {
	margin-right: 20px !important;
}
.mr25 {
	margin-right: 25px !important;
}
.mr30 {
	margin-right: 30px !important;
}
.mr35 {
	margin-right: 35px !important;
}
.mr40 {
	margin-right: 40px !important;
}
.mr45 {
	margin-right: 45px !important;
}
.mr50 {
	margin-right: 50px !important;
}

.mb0 {
	margin-bottom: 0 !important;
}
.mb5 {
	margin-bottom: 5px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb15 {
	margin-bottom: 15px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb25 {
	margin-bottom: 25px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb35 {
	margin-bottom: 35px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb45 {
	margin-bottom: 45px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}

.ml0 {
	margin-left: 0 !important;
}
.ml5 {
	margin-left: 5px !important;
}
.ml10 {
	margin-left: 10px !important;
}
.ml15 {
	margin-left: 15px !important;
}
.ml20 {
	margin-left: 20px !important;
}
.ml25 {
	margin-left: 25px !important;
}
.ml30 {
	margin-left: 30px !important;
}
.ml35 {
	margin-left: 35px !important;
}
.ml40 {
	margin-left: 40px !important;
}
.ml45 {
	margin-left: 45px !important;
}
.ml50 {
	margin-left: 50px !important;
}

.m0 {
	margin: 0 !important;
}
.m10 {
	margin: 10px !important;
}
.m15 {
	margin: 15px !important;
}
.m20 {
	margin: 20px !important;
}
.m25 {
	margin: 25px !important;
}
.m30 {
	margin: 30px !important;
}
.m35 {
	margin: 35px !important;
}
.m40 {
	margin: 40px !important;
}
.m45 {
	margin: 45px !important;
}
.m50 {
	margin: 50px !important;
}

/* --- padding --- */

.pt0 {
	padding-top: 0 !important;
}
.pt5 {
	padding-top: 5px !important;
}
.pt10 {
	padding-top: 10px !important;
}
.pt15 {
	padding-top: 15px !important;
}
.pt20 {
	padding-top: 20px !important;
}

.pr0 {
	padding-right: 0 !important;
}
.pr5 {
	padding-right: 5px !important;
}
.pr10 {
	padding-right: 10px !important;
}
.pr15 {
	padding-right: 15px !important;
}
.pr20 {
	padding-right: 20px !important;
}

.pl0 {
	padding-left: 0 !important;
}
.pl5 {
	padding-left: 5px !important;
}
.pl10 {
	padding-left: 10px !important;
}
.pl15 {
	padding-left: 15px !important;
}
.pl20 {
	padding-left: 20px !important;
}

.pb0 {
	padding-bottom: 0 !important;
}
.pb5 {
	padding-bottom: 5px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.pb15 {
	padding-bottom: 15px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}

.pb0 {
	padding: 0 !important;
}
.pb5 {
	padding: 5px !important;
}
.pb10 {
	padding: 10px !important;
}
.pb15 {
	padding: 15px !important;
}
.pb20 {
	padding: 20px !important;
}

.nowrap {
	white-space: nowrap;
}

/* --- display --- */

.block {
	display: block;
}
.inline {
	display: inline;
}
.none {
	display: none !important;
}

.fltbox {
	margin: 0 auto;
}
.flt_r {
	float: right !important;
}
.flt_l {
	float: left !important;
}

.txt_r {
	text-align: right !important;
}
.txt_c {
	text-align: center !important;
}
.txt_l {
	text-align: left !important;
}

.psn {
	position: relative;
}

/* Heading
--------------------------------------------------------------------------- */

/* icon
--------------------------------------------------------------------------- */

/* image
--------------------------------------------------------------------------- */

img.image {
	border: solid 1px #d9d9d9;
	padding: 1px;
	background: #fff;
}

.imgbox {
	margin: 0 0 30px;
	_zoom: 1;
	overflow: hidden;
}

.imgL {
	float: left;
	margin: 0 10px 5px 0;
}
.imgR {
	float: right;
	margin: 0 0 5px 10px;
}

.imgbox p {
	overflow: hidden;
	_zoom: 1;
}

/* button
--------------------------------------------------------------------------- */

/* table
--------------------------------------------------------------------------- */

/* list
--------------------------------------------------------------------------- */

/* text
--------------------------------------------------------------------------- */

/* --- size --- */

.font_small {
	font-size: 90%;
	display: inline-block;
	margin-left: -5px;
}

_:-ms-input-placeholder,
:root .font_small {
	margin-left: 3px;
}

/* --- color --- */

/* --- lineheight --- */

/* --- other --- */

.txt_b {
	font-weight: bold;
}

.lead_text01 {
	font-size: 1.4rem;
	margin-top: 10px;
}

/* contents
--------------------------------------------------------------------------- */

.modal_active {
	transition: all 0.35s cubic-bezier(0.39, 0.575, 0.565, 1);
	cursor: pointer;
}

/* ----- モーダル背景 ----- */

.modal-overlay {
	z-index: 999;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%; /*for old Safari*/
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
}

.modal_area {
	display: none;
}

.modal_box {
	position: fixed;
	left: 50%;
	top: 39%;
	opacity: 0;
	transform: translate(-50%, -50%);
	transition: all 0.35s ease-out 0.2s;
	z-index: 9999;
}

.active .modal_box {
	opacity: 1;
	top: 50%;
}

/* 動画の画面サイズ調整 */
.youtube iframe {
	max-width: 800px;
	width: 100%;
	max-height: 450px;
	height: 100%;
}

@media screen and (max-width: 1040px) {
	.youtube iframe {
		max-width: inherit;
		width: 90%;
		max-height: 400px;
	}
}

@media screen and (max-width: 768px) {
	.modal_box {
		width: 80%;
	}
}

@media screen and (max-width: 480px) {
	.youtube iframe {
		max-height: 60vmin;
	}
}
