@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:500,900,100,300,700,400');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:400,300,700');


/*
	background-color: #e72428;
	background: rgba(231,36,40,0.5);
*/

/*初期設定
----------------------------------------------------*/
body {
	width:100%;
	min-width: 320px;
	color: #333;
	font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-feature-settings: "palt";
	background-image: url("../images/bg.jpg");
	background-attachment: fixed;
	background-size: cover;
}

a {
	color: #e54444;
	word-break: break-all;
	text-decoration: none;
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
a:hover {
	color: #f58989;
}
a img {
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
}
a:hover img {
	opacity: 0.6;
}
input[type=text] {
	font-size: 16px;
}

/*
Page Loader
*/
#loader_base {
	width: 100vw;
	height: 100vh;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100000;
}

#loader img{
	width: 100px;
	height: auto;
}
#loader p {
	font-family: adobe-garamond-pro, serif;
	font-size:12px;
	text-align: center;
	margin-top: 20px;
}


/*
header
*/
header {
	width:100%;
	height: 50px;
	margin: 0px auto;
	box-sizing: border-box;
	position: fixed;
	background: rgba(255,255,255,1);
	z-index:10000;
}
header img {
	width:100%;
	height:100%;
	max-height: 50px;
}
header #headerArea {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1000px;
	margin: 0px auto;
}
header #titleArea {
	width:240px;
	height: 50px;
	padding:0px 0px;
}
header #titleArea h1 img {
	margin-top: 7px; 
}
header #nav_mainArea,
header #nav_subArea {
	padding: 12px 0px;
}
header #navigation {
	padding: 0px 0px;
}
header #nav_main {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header #nav_sub {
	vertical-align: middle;
	width: 140px;
	margin: 0px 0px 0px 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header #nav_sub img {
	display: block;
	height: 24px;
	width: auto;
}

#navigation {
	font-family: adobe-garamond-pro, serif;
	font-weight: 700;
	font-style: normal;
	width:760px;
	display: flex;
	justify-content: flex-end;
	-webkit-transition: all 1.2s ease;
	-moz-transition: all 1.2s ease;
	-o-transition: all 1.2s ease;
}
#navigation li {
	font-weight: 600;
	list-style-type: none;
}
#navigation li.nav2 {
	border-left: 1px solid #333;
}
#navigation li.nav1.last {
	margin-right: 10px;
}
#navigation #nav_sub li {
	padding:0px 0px;
}
#navigation #nav_main li a {
	color:#000;
	font-size: 15px;
	text-align: center;
	display: block;
	padding:2px 8px;
	text-decoration: none;
}
#navigation #nav_main li.nav2 a {
	padding:2px 12px;
}
#navigation #nav_main li a:hover {
	color:#f58989;
}

.btn_li iframe {
	margin: 0 !important;
}

#overlay {
	display: none;
}


/*
Buttons
*/
.btn {
	border: none;
	display: inline-block;
	padding: 0 10px;
	vertical-align: middle;
	-webkit-tap-highlight-color: transparent;
	outline: 0;
	box-shadow: 0 1px 2px 0 rgba(0,0,0,0.3);
}
.btn:hover {
	box-shadow: 0 1px 1px 0 rgba(0,0,0,0.2);
}

.viewBtn {
	font-family: "roboto" , san-serif;
	color: #2A86E2;
	font-size: 13px;
	font-weight: 600;
	padding: 5px 10px;
	background: #fff;
	border-radius: 20px;
	margin: 0px auto;
}
.viewBtn:hover {
	color: #fff;
	background: #2A86E2;
}
.viewBtn2 {
	font-family: "roboto" , san-serif;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	padding: 5px 10px;
	background: #2A86E2;
	border-radius: 20px;
	margin: 0px auto;
}
.viewBtn2:hover {
	color: #2A86E2;
	background: #fff;
}

/*
ex Link
*/
a.ex_link {
	margin-left: 5px;
	display: inline-block;
}
a.ex_link:after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	line-height: 1;
    content: '\f35d';
	font-size:80%;
	margin-left: 2px;
	display: inline-block;
}

#totop {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
#top #totop {
	text-align: center;
	position: absolute;
	bottom: 5px;
	right: 10px;
	z-index: 300;
}
.page #totop {
	text-align: center;
	position: fixed;
	bottom: 5px;
	right: 10px;
	z-index: 300;
}
#totop a {
	font-size: 16px;
	line-height:50px;
	font-weight: 600;
	color: #fff;
	display: block;
	background-color: #f58989;
	border: none;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	box-shadow: 0 2px 5px 0 rgba(0,0,0,.26);
}
#totop a:hover {
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	color:#fff;
	background:#000000;
}


#footerArea {
	z-index: 200;
}
#top #footerArea {
	position: relative;
}
footer {
	font-family: adobe-garamond-pro, serif;
	text-align: center;
	width:100%;
	padding:20px 0;
	background: #fff;
}

footer p {
	color:#333;
	font-size:12px;
	line-height:150%;
	font-family:'Lato';
}
footer p a {
	color:#333;
	border-bottom: 1px solid #ccc; 
}

.sp {
	display: none;
}
.sp2 {
	display: none;
}
.pc {
	display: block;
}





@media screen and (max-width: 1000px) {
/*
header
*/
header {
}
header img {
	width:auto;
	height:auto;
	max-height: 50px;
}
header .contentsArea {
	display: block;
	justify-content: space-between;
	width: 100%;
	max-width: 768px;
	margin: 0px auto;
}
header #titleArea {
	text-align: center;
	width:100%;
	height: 50px;
	padding:0px auto;
}
header #titleArea h1 {
	text-align: center;
	margin: 0px auto;
}
header #titleArea h1 img {
	text-align: center;
	margin: 0px auto;
}

#overlay {
	width: 100%;
	height: 100vh;
	background: rgba(255,255,255,0.9);
	backdrop-filter: blur(3px);
	position: absolute;
	top:0px;
	z-index:10003;
}

#navBtn {
	width: 50px;
	height: 50px;
	position: absolute;
	left: 0px;
	top: 0px;
	display: block;
	z-index: 10005;
}

.btnBody {
	width: 50px;
	height: 50px;
	display: block;
	cursor: pointer;
	position: absolute;
	left:0px;
	top:0px;
	text-align: center;
}

.btnBody span {
	width: 30px;
	height: 1px;
	display: block;
	background: #000;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -15px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
}
#navBtn .btnBody span {
}

.btnBody .top {
	-webkit-transform: translateY(-10px);
	-ms-transform: translateY(-10px);
	transform: translateY(-10px);
}

.btnBody .bottom {
	-webkit-transform: translateY(10px);
	-ms-transform: translateY(10px);
	transform: translateY(10px);
}

.nav_open .middle {
	background: rgba(51, 51, 51, 0);
}
.nav_open .top {
	-webkit-transform: rotate(-45deg) translateY(0px);
	-ms-transform: rotate(-45deg) translateY(0px);
	transform: rotate(-45deg) translateY(0px);
}
.nav_open .bottom {
	-webkit-transform: rotate(45deg) translateY(0px);
	-ms-transform: rotate(45deg) translateY(0px);
	transform: rotate(45deg) translateY(0px);
}

header #navigation {
	padding: 0px 0px;
}
header #nav_main {
	text-align: left;
	width: 100%;
	padding: 0px 0px;
	display: block;
	margin: 10px 0px 20px 40px;
	align-items: flex-start;
}

header #nav_sub {
	vertical-align: middle;
	width: 100%;
	display: flex;
	justify-content:flex-start;
	align-items: center;
	margin: 0px 0px 10px 50px;
}
header #nav_sub img {
	display: block;
	height: 24px;
	width: auto;
}
#navigation {
	opacity: 0;
	width: 100%;
	display: none;
	position: absolute;
	top:0px;
	z-index:10004;
}
#navigation.nav_open {
	opacity: 1;
	display: block;
}
#navigation li {
	font-weight: 300;
	padding:0px 10px;
	list-style-type: none;
}
#navigation li.nav2 {
	padding:0px 12px;
	border-left: none;
}
#navigation li.nav1 {
	margin-right: 10px;
}
#navigation #nav_main li a {
	text-align: left;
}
#navigation #nav_sub li {
	padding:0 0 0 10px;
}
#navigation #nav_main li a {
	color:#000;
	font-size: 20px;
	line-height: 200%;
	text-align: left;
	padding:2px 8px;
	display: block;
	text-decoration: none;
}
#navigation #nav_main li.nav2 a {
	padding:2px 8px;
}

#navigation #nav_main li:nth-of-type(1) a {
	font-size: 18px!important;
}

#navigation #nav_main li a:hover {
	color:#f58989;
}


.sp {
	display: none;
}
.sp2 {
	display: block;
}
.sp3 {
	display: block;
}
.pc {
	display: none;
}

}



@media screen and (max-width: 480px) {
header h1 {
	line-height: 40px;
	height: 40px;
	padding: 5px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
}
header h1 img {
	height: 40px;
	width: auto;
}


.sp {
	display: block;
}
.sp2 {
	display: none;
}
.sp3 {
	display: block;
}
.pc {
	display: none;
}
header h1 {
	font-size: 14px;
}

}



/*
*/
header:after, section:after, .contentsBody:after, footer:after, .clearfix:after {
	content: "";
	clear: both;
	display: block;
}
