/*
Theme Name: BETTEI
Author: Haruka Kuga
Description: This template for "BETTEI" located in Kamagari island Hiroshima, JP.
License:
License URI:
Text Domain: bettei
*/

/*--------------------------------------------------------------
>>> fonts:
----------------------------------------------------------------*/

/*@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);*/


html {
	font-size: 20px;
	font-size: calc(100vw / 75);
}

*,
body {
	font-family: 'Shippori Mincho B1', serif;
	color: #fff;
	font-size: 100%;
	font-size: 1rem;
	line-height: 2.5;
	letter-spacing: 0.08rem;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-weight: 400;
	-webkit-font-kerning: auto;
	font-kerning: auto;
	-webkit-font-feature-settings: "liga"0;
	font-feature-settings: "liga"0;
	font-optical-sizing: auto;
}

body {
	background-color: #727783;
	background-color: #7b8891;
}


/*--------------------------------------------------------------
>>> TEXT:
--------------------------------------------------------------*/

a,
a:focus,
a:visited {
	color: #fff;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
	color: #434B4E;
}

h1 {}

h2 {
	font-size: 1.6rem;
	letter-spacing: 0.35rem;
	font-style: normal;
	text-transform: uppercase;

}

h3 {}

h4 {}

h5 {}

h6 {}

p {
	letter-spacing: 0.12rem;
	margin: 0;
}

b,
.bold {
	font-weight: 600;
}


.EN {
	font-family: 'Roboto', sans-serif;
	font-style: normal;
	line-height: 160%;
}

h2.EN{
	font-size: 1.6rem;
	letter-spacing: 0.3rem;
	font-weight: 600;
}

.JA-vertical {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.text-left {
	text-align: left;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}



.small {
	font-size: 80% !important;
	line-height: 2 !important;
}

.big {
	font-size: 120% !important;
}

.normal {
	font-size: normal !important;
}



img {
	width: 100%;
	height: auto;
}

/*--------------------------------------------------------------
>>> COMMON CSS:
--------------------------------------------------------------*/

.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}

.site-wrapper {
	overflow: hidden;
	/*position: relative;*/
	min-height: 100vh;

}

.content-wrapper {
	padding: 0 0 5% 0;
}


/******
.table {
	margin-top: 12px;
	margin-top: 2rem;
	margin-bottom: 18px;
	margin-bottom: 3rem;
	width: 100%;
	background-color: #fff;
	border-radius: 0.2rem;
	border: 1px solid #eee;
}

.table tr th,
.table tr td {
	padding: 16px 16px;
	padding: 1rem;
	vertical-align: middle;
	border-bottom: 1px solid #eee;
}

.table tr:last-child th,
.table tr:last-child td {
	border-bottom: none;
}

.table tr th {
	font-weight: 500;
	width: 20%;
	margin: 0;
	font-size: 0.8rem;
	letter-spacing: 0.15rem;
}

.table tr td {
	font-weight: 300;
	width: 80%;
	margin: 0;
	font-size: 0.95rem;
}

.table tr td *,
.table tr th * {
	font-weight: inherit;
}

.table tr td ul {
	padding: 0 1rem;
	list-style: circle;
	margin: 0.5rem 0;
}

.table tr td ul li {
	font-size: 0.9rem;
	padding: 0.25rem 0;
}

.table tr td ul li * {
	font-size: 0.9rem;
}

******/

/******
button,
input[type="submit"] {
	background-color: #333;
	color: #fff;
	border-radius: 0.15rem;
	border: 2px #333 solid;
	padding: 0.5rem 3rem;
	margin: 1rem;
	letter-spacing: 0.1rem;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

button *,
button a,
button a:visited,
button a:focus,
input[type="submit"] *,
input[type="submit"] a,
input[type="submit"] a:visited,
input[type="submit"] a:focus {
	color: #fff;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	outline: none;
	vertical-align: inherit;
}

button:hover,
input[type="submit"]:hover {
	background-color: #fff;
	border: 2px #333 solid;
	color: #333;
}

button:hover *,
button:hover a,
button:hover a:visited,
button:hover a:focus,
input[type="submit"]:hover *,
input[type="submit"]:hover a,
input[type="submit"]:hover a:visited,
input[type="submit"]:hover a:focus {
	color: #333;
	outline: none;
}

button,
input[type="button"] {
	background-color: #84a1bb;
	color: #fff;
	border-radius: 0.15rem;
	border: 2px #84a1bb solid;
	padding: 0.5rem 3rem;
	margin: 1rem;
	letter-spacing: 0.1rem;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

button:hover,
input[type="button"]:hover {
	background-color: #fff;
	border: 2px #84a1bb solid;
	color: #688eaf;
}

input[type="button"]:hover *,
input[type="button"]:hover a,
input[type="button"]:hover a:visited,
input[type="button"]:hover a:focus {
	color: #688eaf;
	outline: none;
}

.btn_s,
.btn_s * {
	padding: 0 0.5rem;
	margin: 0 0.5rem;
	background-color: #84a1bb;
	color: #fff;
	display: inline-block;
	font-size: 0.75rem;
	border-radius: 0.15rem;
	border: 1px solid #84a1bb;
}

.btn_s:hover {
	background-color: #FFF;
	color: #688eaf;
}

******/


.block {
	display: block;
	width: 100%;
}

.inline {
	display: inline-block;
}


/*--------------------------------------------------------------
>>> margin padding:
----------------------------------------------------------------*/

.mt5 {
	margin-top: 5px;
}

.mb5 {
	margin-bottom: 5px;
}

.mr5 {
	margin-right: 5px;
}

.ml5 {
	margin-left: 5px;
}

.mt10 {
	margin-top: 10px;
}

.mb10 {
	margin-bottom: 10px;
}

.mr10 {
	margin-right: 10px;
}

.ml10 {
	margin-left: 10px;
}

.mt20 {
	margin-top: 20px;
}

.mb20 {
	margin-bottom: 20px;
}

.mr20 {
	margin-right: 20px;
}

.ml20 {
	margin-left: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mb30 {
	margin-bottom: 30px;
}

.mr30 {
	margin-right: 30px;
}

.ml30 {
	margin-left: 30px;
}

.mt40 {
	margin-top: 40px;
}

.mb40 {
	margin-bottom: 40px;
}

.mr40 {
	margin-right: 40px;
}

.ml40 {
	margin-left: 40px;
}

.mt50 {
	margin-top: 50px;
}

.mb50 {
	margin-bottom: 50px;
}

.mr50 {
	margin-right: 50px;
}

.ml50 {
	margin-left: 50px;
}

.mt60 {
	margin-top: 60px;
}

.mb60 {
	margin-bottom: 60px;
}

.mr60 {
	margin-right: 60px;
}

.ml60 {
	margin-left: 60px;
}

.mt70 {
	margin-top: 70px;
}

.mb70 {
	margin-bottom: 70px;
}

.mr70 {
	margin-right: 70px;
}

.ml70 {
	margin-left: 70px;
}




.mt100 {
	margin-top: 100px;
}

.mb100 {
	margin-bottom: 100px;
}

.mr100 {
	margin-right: 100px;
}

.ml100 {
	margin-left: 100px;
}



.pt10 {
	padding-top: 10px;
}

.pb10 {
	padding-bottom: 10px;
}

.pr10 {
	padding-right: 10px;
}

.pl10 {
	padding-left: 10px;
}

.pt20 {
	padding-top: 20px;
}

.pb20 {
	padding-bottom: 20px;
}

.pr20 {
	padding-right: 20px;
}

.pl20 {
	padding-left: 20px;
}

.pt30 {
	padding-top: 30px;
}

.pb30 {
	padding-bottom: 30px;
}

.pr30 {
	padding-right: 30px;
}

.pl30 {
	padding-left: 30px;
}

.pt40 {
	padding-top: 40px;
}

.pb40 {
	padding-bottom: 40px;
}

.pr40 {
	padding-right: 40px;
}

.pl40 {
	padding-left: 40px;
}

.pt50 {
	padding-top: 50px;
}

.pb50 {
	padding-bottom: 50px;
}

.pr50 {
	padding-right: 50px;
}

.pl50 {
	padding-left: 50px;
}

/*--------------------------------------------------------------
>>> basic body:
----------------------------------------------------------------*/

html {
	height: 100%;
	position: relative;
}

body {
	margin: 0 auto;
	height: 100%;
	width: 100%;
}


/*--------------------------------------------------------------
>>> header:
----------------------------------------------------------------*/

/*.header-warpper {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	overflow: initial;
	z-index: 200;
}*/




header {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}



.header_logo {
	margin: 0;
	text-decoration: none;
	line-height: 0;
}

.header_logo img {
	width: 8rem;
	padding: 1rem 1.5rem;
}

.header_nav {
	right: 0;
	text-align: right;
	margin: 0 1rem 0 auto;
	padding: 2rem 0;

}


.header-warpper {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 9;
}

.header-warpper[aria-expanded=false] {
	top: -200px;
	-webkit-transition: .5s;
	transition: .5s;
}

.header-warpper[aria-expanded=true] {
	top: 0;
	-webkit-transition: .5s;
	transition: .5s;
}


/*--------------------------------------------------------------
>>> common:
----------------------------------------------------------------*/



.section-wrapper > section > * {}


.section-wrapper section h2 {}






/*--------------------------------------------------------------
>>> footer:
----------------------------------------------------------------*/
footer a:hover {}

.footer-wrapper {
	bottom: 0;
	padding: 5%;
	margin: 0 auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}


.footer-wrapper * {
	text-align: center;
}


.footer-wrapper .logo {
	width: calc(100vw / 10);
	margin: 0 auto;
}

.footer-wrapper .logo img {}

.footer-wrapper .copy {
	font-size: 0.5rem;
	letter-spacing: 0.1rem;
}

.footer-wrapper .copy * {
	font-size: 0.5rem;
}

/*--------------------------------------------------------------
>>> front page
----------------------------------------------------------------*/
.home .topmovie-box {
	width: 100%;
	height: auto;
	margin-bottom: 3%;
}

.home .topmovie-box video {
	width: 100%;
	height: auto;
}

.home .topmovie-box iframe {
	width: 100%;
	height: calc(100vw * 0.5625);
	/*動画の縦横比率16:9で計算*/
	border: none;
}


.home .content-box {
	width: calc(100vw * 0.8);
	margin: calc(100% * 0.05) calc(100% * 0.1);
}

.home .content-wrapper {}


.home .content-box:before {
	content: ' ';
	border-top: solid 1px;
	width: 15%;
	height: 1px;
	display: block;
	margin: 20vh auto;
}



/*-----section first-----*/

.home #first:before {
	content: none;
	border-top: none;
	width: 0;
	height: 0;
	display: none;
	margin: auto;
}

.home #first {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: calc(100vh * 0.3);
	-ms-flex-line-pack: justify;
	align-content: space-between;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.home #first figure {
	width: calc(100% / 1.8);
	margin: 0;
}


.home #first h2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-preferred-size: content;
	flex-basis: content;
	font-size: 1.8rem;
}

.home #first h2:before {
	content: ' ';
	border-top: 1px solid;
	width: 3rem;
	display: inline-block;
	height: 1px;
	width: calc(calc(calc(1.8rem * 2.5) * 3) - 2rem);
	margin: 0 1rem 0 0rem;
	padding-bottom: 2.5rem;
}


/*-----section second-----*/

.home #second {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}

.home #second h2 {
	width: 100%;
}

.home #second div {
	width: 50%;
}

.home #second figure {
	margin: 0;
}

.home #second .large {
	width: calc(100vw / 3);
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	height: auto;
}

.home #second .small {
	width: calc(100vw / 6);
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	height: auto;
}

.home #second figure:first-of-type {
	width: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-line-pack: justify;
	align-content: space-between;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.home #second figure:first-of-type img {}

.home #second figure:nth-of-type(2) {
	width: 100%;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding-top: 20vh;
}


/*-----section third-----*/

.home #third {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}


.home #third h2 {
	width: 100%;
}

.home #third < div {
	width: 60%;
}

.home #third figure {
	margin: 0;
	width: 40%;
	-ms-flex-item-align: end;
	align-self: flex-end;
}

/*-----section fourth-----*/



.home #fourth {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;

}


.home #fourth h2,
.home #fourth div {
	width: 100%;
}