@charset "utf-8";
/* CSS Document */
html{
	font-size: 62.5%;
/*16px*62.5%=10px*/
}
body{
	font-size: 1.5rem;
	font-family: "Zen Kaku Gothic Antique", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	line-height: 2;
	font-weight: 400;
	letter-spacing: 1.3px;
	background-color: #fff;
	color: #0e372e;
	position: relative;
	z-index: 1;
}
p{
	line-height: 2.2;
}
.video-wrapper{
	position: fixed;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
	height: 100vh;
	z-index: -1;
}
.video-wrapper::before{
	display: block;
	content: "";
	background-color: rgba(255,255,255,.4);
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
/*pc_tab(横)のみ*/
.d_tab {
	display: none !important;
}
/*SP(481～767px)のみ*/
.d_sp {
	display: none !important;
}
/*SSP(～480px)のみ*/
.d_ssp {
	display: none !important;
}
/*SP以外*/
.d_pc_but{
	display: none !important;
}
@media print, screen and (max-width: 999px) {
	.d_pc_tab{
		display: block !important;
	}
	.d_pc {
		display: none !important;
	}
	.d_tab{
		display: block !important;
	}
	.d_sp {
		display: none !important;
	}
	.d_ssp {
		display: none !important;
	}
	.d_pc_but{
		display: block !important;
	}
}
@media print, screen and (max-width: 767px) {
	/*PC,tab*/
	.d_pc_tab{
		display: none !important;
	}
	.d_pc {
		display: none !important;
	}
	.d_tab{
		display: none !important;
	}
	.d_sp {
		display: block!important;
	}
	.d_ssp {
		display: none!important;
	}
	.d_pc_but{
		display: block !important;
	}
}
@media print, screen and (max-width: 480px) {
	.d_pc {
		display: none !important;
	}
	.d_tab{
		display: none !important;
	}
	.d_sp {
		display: none !important;
	}
	.d_ssp {
		display: block!important;
	}
	/*SP以外*/
	.d_sp_but{
		display: none !important;
	}
	/*PC以外*/
	.d_pc_but{
		display: block !important;
	}
}
/* ===== * reset * =====*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,figure {
	margin: 0;
	padding: 0;
}
address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
section{
	position: relative;
	padding: 10rem 0;
	z-index: 1;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
q:before,q:after {
	content: '';
}
object,embed {
	vertical-align: top;
}
hr,legend {
	display: none;
}
img,abbr,acronym,fieldset {
	border: 0;
}
ol,ul {
	list-style-type: none;
}
img{
	display: block;
	width: 100%;
	height: auto;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
*:before,
*:after {
	font-family: "Font Awesome 5 free";
	font-weight: bold;
}
section{
/*	max-width: 1400px;
	margin: 0 auto;*/
	overflow: hidden;
}
/*.main_wrap{
	max-width: 1000px;
	margin: 0 auto;
	padding: 5rem 0;
}*/
.te_left {
	text-align: left !important;
}
.te_right {
	text-align: right !important;
}
.te_center {
	text-align: center !important;
}
.inb{
	display: inline-block;
}
.flex {
	display: flex !important;
	flex-wrap: wrap;
}
.reverse {
	flex-flow: row-reverse;
}
.a_center {
	align-items: center;
}
.j_center {
	justify-content: center;
}
.j_sb{
	justify-content: space-between;
}
small {
	font-size: 90%;
	font-weight: normal;
}
a {
	outline: none;
	text-decoration: none;
	color: #0e372e;
	transition: .4s;
}
a:hover {
	opacity: 0.8;
/*	color: #ff7d00;*/
	filter: alpha(opacity=80);
/* ie lt 8 */
	-ms-filter: alpha(opacity=80);
/* ie 8 */
	-moz-opacity: 0.8;
/* FF lt 1.5, Netscape */
	-khtml-opacity: 0.8;
/* Safari 1.x */
}
.button {
    position: relative;
    cursor: pointer;
    text-decoration: none;
    line-height: 2rem;
    display: block;
	width: 100%;
	max-width: 300px;
	z-index: 100;
	padding: 1.5rem 0;
	border-radius: 5rem;
	text-align: center;
	border: 2px solid transparent;
	margin: 1.5rem auto;
	background: linear-gradient(45deg, #22D4C8, #22BBD4, #EDF4C2);
	background-size: 600% 600%;
	animation: GradientBackground 10s ease infinite;
	color: #fff;
}
@keyframes GradientBackground {
	0% {
		background-position: 10% 50%;
	}
	50% {
		background-position: 80% 50%;
	}
	100% {
		background-position: 10% 50%;
	}
}
.button:hover{
	border: 2px solid #eddb84;
	color: #fff;
}
span.anchorlink {
	position: relative;
	top: -180px;
	display: block;
}
.b{
	font-weight: bold;
}
.im_txt{
	font-size: 2rem;
	font-weight: 800;
}
.im_line{
	background-image: -webkit-gradient(linear,left top,right top,color-stop(rgba(255,0,0,.3)),#ffe640);
    background-image: linear-gradient(90deg,rgba(255,232,0,.7),#ffcb33);
    background-repeat: no-repeat;
    background-size: 200% 40%;
    background-position: 0 bottom;
    -webkit-animation: marker 5s ease 0s;
    animation: marker 5s ease 0s;
    font-weight: 500;
}
/* ぼかしから出現 */
.blur{
	animation: blurAnime 1.2s forwards;
}
@keyframes blurAnime{
  from {
	  filter: blur(10px);
	  transform: scale(1.02);
	  opacity: 0;
  }
  to {
	  filter: blur(0);
	  transform: scale(1);
	  opacity: 1;
  }
}
.blurTrigger_l{
    opacity: 0;
}
/* 出現 */
.fadeIn{
	animation: fadeinAnime 1.2s forwards;
}
@keyframes fadeinAnime{
  from {
	  opacity: 0;
  }
  to {
	  opacity: 1;
  }
}
.fadeInTrigger_l{
    opacity: 0;
}
/*color*/
.black{
	color: #000;
}
.red{
	color: #ff0000;
}
.blue {
	color: #34698d;
}
.pink {
	color: #268600;
}
.green{
	color: #21b8bb;
}
.yellow {
	color: #ffff00;
}
.gray{
	color: #888;
}
.white {
	color: #fff !important;
}
.brown {
	color: #411700;
}
.gold {
	color: #927700;
}
.gold_l {
	color: #d7b77d;
}
.orange {
	color: #ff6200;
}
/*size*/
.small{
	font-size: 80%;
}
.big{
	font-size: 130%;
}
/* 画面内に入った状態 */
.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}
/*--===アコーディオン===--*/
/*ラベル*/
.accbox label {
	display: block;
	cursor :pointer;
	transition: all 0.5s;
}
/*チェックは隠す*/
.accbox input {
	display: none;
}
/*中身を非表示にしておく*/
.accbox .accshow {
	height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	transition: 0.8s;
}
/*クリックで中身表示*/
.cssacc:checked + label + .accshow {
	height: auto;
	padding: 5px 0 0 0;
	opacity: 1;
}
.accbox .accshow p {
	margin: 0 0 0 2.8rem;
}
/*チェックマークがついているリスト*/
ul.list01 li {
	display: flex;
	border-bottom: 1px dashed #c3e1da;
	padding-bottom: 0.2rem;
	padding-top: 0.5rem;
}
ul.list01 li:before {
	content: "\f00c";
	display: block;
	font-size: 1.2rem;
	position: relative;
	top: 5px;
	margin: 0 0.5rem;
	color: #22b8bb;
}
/*青丸がついているリスト*/
ul.list02 li,

.format ul li {
	display: flex;
	padding-bottom: 0.2rem;
	padding-top: 0.5rem;
}
ul.list02 li:before,
.format ul li:before {
	content: "\f111";
	color: #34698d;
	display: block;
	font-size: 0.9rem;
	position: relative;
	top: 5px;
	margin: 0 0.5rem;
}
/* 数字がついているリスト */
ol.list03,
.format ol {
	margin: 3rem;
}
ol.list03 li,
.format ol li {
	list-style-type: decimal;
	border-bottom: 1px dashed #aaa;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}
ol.list03 li::marker,
.format ol li {
	font-size: 2.5rem;
	color: #385674;
	font-weight: bold;
}
/* box01 */
.box01 {
	box-shadow: 0px 0px 3px #2d4b69;
	margin: 2rem 0.5rem;
	padding: 2rem ;
	border-radius: 1rem;
}
.box02 {
	background: rgba(0,0,0,.7);
	margin: 0.5rem 0.5rem;
	padding: 2rem 3rem;;
	border-radius: 0.5rem;
}
/*--== タブ切替 ==--*/
.tab-wrap {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	margin-top: 1rem;
}
.tab-label {
	color: #fff;
	cursor: pointer;
	flex: 1;
	font-weight: bold;
	order: -1;
	padding: 12px 24px;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
	background: rgba(0,0,0,.7);
/*	border-radius: 3rem;*/
	margin: 0 1rem;
}
.tab-switch:checked + .tab-label.honin {
	background: #355064;
}
.tab-label:hover {
	background: rgba(177,132,67,.7);
}
.tab-switch:checked + .tab-label {
	color: #fff;
	background: rgba(155,28,37,0.8);
	overflow: hidden;
}
.tab-label::after {
	background: #355064;
	bottom: 0;
	content: '';
	display: block;
	height: 3px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(100%);
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s 80ms;
	width: 100%;
	z-index: 1;
}
.tab-switch:checked ~ .tab-label::after {
	transform: translateX(-100%);
}

.tab-switch:checked + .tab-label::after {
	opacity: 1;
	transform: translateX(0);
}
.tab-content {
	height:0;
	opacity:0;
	pointer-events:none;
	transform: translateX(-30%);
	transition: transform .3s 80ms, opacity .3s 80ms;
	width: 100%;
	margin-top: .5rem;
	}
.tab-switch:checked ~ .tab-content {
	nsform: translateX(30%);
}
.tab-switch:checked + .tab-label + .tab-content {
	height: auto;
	opacity: 1;
	order: 1;
	pointer-events:auto;
	transform: translateX(0);
	min-height: 30vh;
	margin-bottom: 1rem;
}
.tab-wrap::after {
	content: '';
	height: 20px;
	order: -1;
	width: 100%;
}
.tab-switch {
	display: none;
}
/*--==== CONTACT ====--*/
/*input,textarea {
  -webkit-appearance: none;
}*/
.form-wrap.contact .sec-contact dl{
	margin: 1rem 0;
	padding: 1rem 0;
	border-top: 1px dashed;
	border-bottom: 1px dashed;
}
.form-wrap.contact .sec-contact .headline04{
	color: #de0909;
}
.form-wrap.contact .sec-contact ul {
	line-height: 2rem;
	letter-spacing: 1px;
	margin: 0 1rem;
	padding-left: 1rem;
}
.form-wrap.contact .sec-contact ul li {
	list-style: disc;
}
.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"] ,
.form-wrap select,
.form-wrap input[type="date"] ,
.form-wrap textarea {
	font-family: acumin-pro,heisei-kaku-gothic-std,"ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	width: 100%;
    background: #fff;
    border: 1px solid #ccc;
    height: 41px;
    font-size: 15px;
    letter-spacing: .05em;
    padding: 0 1em;
}

.form-wrap input:-internal-autofill-selected {
	background: #aaa;
}
.form-wrap textarea {
	min-height: 200px;
	padding: 1rem;
}
.form-wrap input[type="radio"] {
	min-height: 20px;
	width: 20px;
	display: inline-block;
	content: "";
	position: relative;
	top: 3px;
	margin: 7px 5px 0 10px;
}
.mwform-radio-field input {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}
.form-wrap input[type="checkbox"] {
	vertical-align: middle;
	min-height: 22px;
	width: 22px;
	display: inline;
	margin: 7px 5px 10px 10px;
}
.form-wrap option {
	font-weight: 300;
}

.form-wrap input[type="submit"] {
	text-align: center;
	display: block;
	margin: 2rem auto 4rem;
	font-size: 1.2rem;
	padding: 0.5rem 1.5rem 0.3rem;
	background: #9b1c25;
	color: #fff;
	border: none;
	transition: .3s;
}
.form-wrap input[type="submit"]:hover {
	opacity: .7;
}
input:active {
    border-color: #355064;
}
.form-wrap .required:before {
	content: "※";
	color: #cf000f;
}
.form-wrap label p {
	margin-top: 0.8rem;
}
.form-wrap input.submit:hover {
    background: #355064;
}
.form-wrap input.submit {
    padding: 1rem !important;
    display: block;
    width: 250px;
    background: #010101;
    border: none;
    color: #fff;
    font-weight: bold;
    font-size: 1.5rem;
    cursor: pointer;
}
.form-wrap dt {
    margin-bottom: 0.5rem;
}
.form-wrap dl {
    margin-bottom: 1.5rem;
	font-size: .9rem;
}
@media print, screen and (max-width: 1499px) {
	.video-wrapper{
		height: 80vh;
	}
}
@media print, screen and (max-width: 1199px) {
	body{
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 1024px) and (orientation: portrait) {
	.mv_box_wrap {
		height: 60vh;
	}
	video{
		height: 100vh;
		max-width: none;
		object-fit: cover;
	}
}
@media print, screen and (max-width: 999px) {
	section{
		padding: 5rem 0;
	}
}
@media print, screen and (max-width: 480px) {

}
