@charset "utf-8";
html {height: 100%;}
body {
    -webkit-text-size-adjust: none;
    /*padding-bottom: 140px;*/
}
@media screen and (max-width: 768px){body {padding-bottom: 70px;}}
* {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
img {
	max-width: 100%;
	width: auto;
}
p {
    font-size: 16px;
    line-height: 1.8;
}
@media screen and (max-width: 768px){p {font-size: 14px;}}
a {
	color: #FF9326;
	text-decoration: underline;
}
a:hover {text-decoration: none;}
::selection {
    background:#0088B2;
    color: #FFF;
}
::-moz-selection {
    background:#0088B2;
    color: #FFF;
}
.inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 48px;
}
.sp_only {display: none;}
.w50 {
	width: 50%;
	padding: 6px;
}
@media screen and (max-width: 768px){
	.inner {
		padding: 0 12px;
	}
	.pc_only {display: none;}
	.sp_only {display: block;}
	.w50 {
		width: 100%;
		padding: 0;
		margin-bottom: 24px;
	}
}


@media (min-width: 1024px) {
	.visible-lg { 
		display: none !important; /* 1025px以上は消える */
	}
}

@media (min-width: 768px) {
	.visible-md {
		display: none !important; /* 768px以上は消える */
	}
}

@media (min-width: 480px) {
	.visible-sm{
		display: none !important; /* 481px以上は消える */
	}
}

@media (max-width: 767px) {
	.hidden-sp{
		display: none !important; /* 0～767pxは消える */
	}
}

/* kv */
#kv {
	background: url(../imgs/kv.jpg) center no-repeat;
	background-size: cover;
	padding: 35px 12px 50px 12px;
	text-align: center;
}
h1 {
	max-width: 600px;
	margin: 0 auto;
}
h1 span {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 24px;
	display: block;
	line-height: 1.4;
}
#lead {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.2;
	margin:30px auto 20px auto;
	border:4px solid #333;
	padding:25px;
	max-width: 730px;
}
@media screen and (max-width: 768px){
	#lead {
	padding:15px;
	}
}

#kv .catch{
	margin:0 0 30px 0;
	padding:0;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.4;
}

@media screen and (min-width: 768px){
	#kv .catch{
		font-size: 15px;
		line-height: 1.6;
	}
}

#contact img {
	box-shadow: 8px 8px 14px 0 rgba(0,0,0,0.5);
}

#Sp-btn{
display: none;
}

@media screen and (max-width: 768px){
	#lead {font-size: 22px;}
	#lead br {display: none;}
	
	#Sp-btn{
	display: block;
	position: fixed;
	top:0;
	right:0;
	z-index: 9999;
	}
}

/* section */
section {padding: 120px 0;}
section h2 {
	text-align: center;
	margin-bottom: 80px;
}
.flex {
	display: -webkit-flex;
	display: flex;
}
@media screen and (max-width: 768px){
	section {padding: 60px 0;}
	section h2 {margin-bottom: 48px;}
}
/** section sec_01 **/
#sec_01 .flex {
	-webkit-flex-direction: row-reverse;
	flex-direction:         row-reverse;
}
#sec_01 .txt {
	padding-right: 80px;
	margin-bottom: 48px;
	width: calc(100% - 185px);
}
#sec_01 h3 {margin-bottom: 24px;}
#sec_01 h3 + p {padding-left: 66px;}
#sec_01 .photo {
	margin-top: 32px;
	width: 185px;
	height: 185px;
	border-radius: 200px;
	overflow: hidden;
}
@media screen and (max-width: 768px){
	.flex {display: block;}
	#sec_01 .txt {
		padding-right: 0;
		width: 100%;
	}
	#sec_01 h3 {margin-bottom: 24px;}
	#sec_01 h3 + p {padding-left: 0;}
	#sec_01 .photo {
		width: 100px;
		height: 100px;
		margin: 0 auto 24px;
	}
	#sec_01 h3 img {width: 314px;}
}

/** sec_02 **/
#sec_02 {background: url(../imgs/bg_01.png);}
@media screen and (max-width: 768px){
	#sec_02 .tri {
		width: 500px;
		display: block;
		margin: 0 auto 48px;
	}
	#sec_02 h3 {
		width: 160px;
		margin-bottom: 24px;
	}
}

/** sec_03 **/

/** sec_04 **/
#sec_04 {
	background: url(../imgs/bg_02.jpg) center no-repeat;
	background-size: cover;
}
#sec_04 h2 {background-color: rgba(0,0,0,0.4);padding: 24px 0;}

/** sec_05 **/
#sec_05 {/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f3f3f3+0,ffffff+100 */
background: rgb(243,243,243); /* Old browsers */
background: -moz-linear-gradient(top, rgba(243,243,243,1) 0%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(243,243,243,1) 0%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(243,243,243,1) 0%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3f3f3', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
position: relative;
}
#sec_05 hr.line {
	position: absolute;
	width: 100%;
	height: 6px;
	background: url(../imgs/line_01.png) center repeat-x;
	border: none;
	margin: 0;
	background-color: transparent;
}
#sec_05 hr.top-line {
	top: 1px;
}
#sec_05 hr.bottom-line {
	bottom: -6px;
}
#sec_05 .catch {
	text-align: center;
	margin-bottom: 48px;
}
#sec_05 h3 {
	font-size: 32px;
	margin-bottom: 32px;
	line-height: 1.5;
}
#sec_05 h3 span {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f3f3f3+0,ffffff+50,ffffff+50,ffff00+51,ffff00+100&0+50,1+51,1+100 */
background: -moz-linear-gradient(top, rgba(243,243,243,0) 0%, rgba(255,255,255,0) 50%, rgba(255,255,0,1) 51%, rgba(255,255,0,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(243,243,243,0) 0%,rgba(255,255,255,0) 50%,rgba(255,255,0,1) 51%,rgba(255,255,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(243,243,243,0) 0%,rgba(255,255,255,0) 50%,rgba(255,255,0,1) 51%,rgba(255,255,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00f3f3f3', endColorstr='#ffff00',GradientType=0 ); /* IE6-9 */
}
@media screen and (max-width: 768px){
	#sec_05 h3 {
		font-size: 18px;
		line-height: 1.2;
	}
	#sec_05 h3 br {display: none;}
}

/** sec_06 **/
#sec_06 {
	background: url(../imgs/registration-bg.gif);
	padding-top: 120px;
}
#sec_06 h2 {
	border-top: 4px solid #231815;
	background-color: #FFF;
	border-bottom: 4px solid #231815;
	padding: 24px;
	margin-bottom: 48px;
}
#sec_06 .inner > p {
	text-align: center;
	font-size: 20px;
	letter-spacing: 0;
	line-height: 1.5;
	margin-bottom: 32px;
}
#sec_06 .flow_cap {
	display: block;
	width: 580px;
	margin: 0 auto;
}
@media screen and (max-width: 768px){
	#sec_06 .inner > p {
		font-size: 14px;
		text-align: left;
	}
}

/** sec_07 **/
#sec_07 {background: url(../imgs/bg_03.png);}
#sec_07 dt {
	font-size: 24px;
	min-height: 42px;
	margin-bottom: 24px;
	background: url(../imgs/icon_01.png) 0 0 no-repeat;
	background-size: 50px;
	padding: 4px 0 0 74px;
	line-height: 1.2;
}
#sec_07 dd {
	font-size: 16px;
	line-height: 1.8;
	border-bottom: 1px solid #BBBBBB;
	margin-bottom: 48px;
	background: url(../imgs/icon_02.png) 0 0 no-repeat;
	background-size: 50px;
	padding: 2px 0 48px 74px;
}
#sec_07 .kome {
	font-size: 12px;
	letter-spacing: 0;
	color: #999;
	line-height: 1.5;
	display: inline-block;
	margin-top: 12px;
}
@media screen and (max-width: 768px){
	#sec_07 dt {font-size: 16px;padding-top: 10px;font-weight: bold;}
	#sec_07 dd {font-size: 14px;}
}

/** sec_08 **/
#sec_08 {
	padding: 0;}
#sec_08 #houjin {
	background: #9a1300;
	border-top: solid 3px #c25f3e;
	border-bottom: solid 3px #c25f3e;
	padding: 6px 0 18px;
	text-align: center;
}
#sec_08 #houjin .f_01 {
	height: auto;
	margin: 0 auto;
	padding: 20px 0
}
#sec_08 #houjin .f_01 img {
	width: 490px;
}
#sec_08 #houjin .f_02 {
	height: auto;
	margin: 0 auto;
	padding: 14px 20px 10px;
	border-top: solid 1px #c25f3e;
}
#sec_08 #houjin .f_02 img {
	width: 720px;
}
#sec_08 a {
	color: #333;
}
#sec_08 #credit {
	padding: 26px 0;
	text-align: center;
}
#sec_08 #credit a{
	color: #333;
	font-size: 20px;
	font-weight: bold;
	text-decoration: none;
}
#copy {
	background-color: #9a1300;
	color: #FFF;
	text-align: center;
	padding: 12px 0;
}
@media screen and (max-width: 768px){
	#sec_08 #houjin .f_01 img {
		width: 70%;
	}
	#sec_08 #credit a{font-size: 14px;}
}

/** footer **/
footer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: rgba(0,0,0,0.9);
	padding-top: 16px;
	height: 134px;
	-webkit-transform: translateY(120%);
	-moz-transform: translateY(120%);
	-ms-transform: translateY(120%);
	-o-transform: translateY(120%);
	transform: translateY(120%);
	-webkit-transition: linear 0.2s;
	transition: linear 0.2s;
}
footer.on {
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
}
footer .tel {margin-bottom: 10px;}
@media screen and (max-width: 768px){
	footer {height: auto;padding: 12px 0;}
	footer .flex {display: flex;}
	footer .sub_contact {display: flex;}
	footer .tel {
		width: 20%;
		margin-right: 12px;
		margin-bottom: 0;
	}
	footer .houjin_contact {width: 80%;}
	footer .w50 {margin-bottom: 0;}
}

@media screen and (min-width: 768px){
	footer{display:none;}
}

/* page-top */
.pagetop {
	display: none;
	position: fixed;
	bottom: 100px;
	right: 30px;
	-webkit-transform: translateX(140px);
	-moz-transform: translateX(140px);
	-ms-transform: translateX(140px);
	-o-transform: translateX(140px);
	transform: translateX(140px);
	-webkit-transition: linear 0.2s;
	transition: linear 0.2s;
}
.pagetop.on {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}
.pagetop span{
	font-size: 14px;
}

.pagetop a {
	display: block;
	width: 60px;
	height: 60px;
	background-color: rgba(25,25,25,0.7);
	text-align: center;
	color: #fff;
	font-size: 11px;
	text-decoration: none;
	line-height: 16px;
	padding: 14px 0 0;
	border-radius: 
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px; 
}


/* ==============================================================
   #171012：ヘッダー部分（サイト内リンク含む）追加
   ============================================================== */ 

#header {
	display:none;
}

@media screen and (min-width: 768px){
	#header {
		display: block;
		width: 100%;
		z-index: 100;
	}
}

#header section{ padding:0; }

#head-top {
	background-color:rgba(255,255,255,1);
	margin: auto;
	z-index: 0;
	border-bottom: none;
	display: none;
}

.head-topInner{
	position: relative;
	max-width: 1000px;
	margin: auto;
}

#header.scroll #head-top {
		background-color:rgba(255,255,255,0.95);
}

.display{
	display: block !important; /* header-topにつく */
}

#logo {
	margin:20px 0 20px 10px;
	padding:0;
	float: left;
}

/*--- スクロール時ヘッダーメニュー ---*/
	#header.scroll {
		position: fixed;
		top: 0;
		left: 0;
		-webkit-animation-name: fadeInDown;
		animation-name: fadeInDown;
		-webkit-animation-duration: 400ms;
		animation-duration: 400ms;
		-webkit-animation-fill-mode: both;
		animation-fill-mode: both;
		box-shadow: 0px 4px 16px 0px rgba(0,0,0,.2);
		-webkit-box-shadow: 0px 4px 16px 0px rgba(0,0,0,.2);
	}

	@-webkit-keyframes fadeInDown {
		 from {
		 opacity: 0;
		 -webkit-transform: translate3d(0, -100%, 0);
		 transform: translate3d(0, -100%, 0);
		}
		to {
			opacity: 1;
			-webkit-transform: none;
			transform: none;
		}
	}
	@keyframes fadeInDown {
		 from {
		 opacity: 0;
		 -webkit-transform: translate3d(0, -100%, 0);
		 transform: translate3d(0, -100%, 0);
		}
		to {
			opacity: 1;
			-webkit-transform: none;
			transform: none;
		}
	}

/* ==============================================================
   #ヘッダーナビ
   ============================================================== */ 

.h-navi {
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	top: 0;
	right: 10px;
}

.h-navi ul{
	display: flex;
	justify-content: flex-end;
	align-items:center;
	margin:13px 0 0 220px;
	padding:0;
}

.h-navi li{
	margin:0;
	padding:0 0 0 5px;
}

/* ==============================================================
   #グローバルナビ
   ============================================================== */ 

#global-navi {
	display: block;
	background-color:rgba(48,40,38,1);
}

#header.scroll #global-navi{
	background-color:rgba(48,40,38,0.95);
}

#global-navi > ul{
margin:0 auto;
max-width: 1000px;
display: flex;
flex-wrap:nowrap;
justify-content:center;
align-items:center;
}

#global-navi > ul > li > a {
	position: relative;
	text-align: center;
	padding: 20px 25px;
	color: #fff;
	font-size: 1rem;
	display: block;
	text-decoration: none;
	line-height: 1.4;
}

@media screen and (min-width: 960px){
	#global-navi > ul > li > a {
		padding: 20px 38px;
	}
}

#global-navi > ul > li > a img{
	width:auto;
	max-height: 33px;
	transition: 0.2s linear;
	opacity:1;
	filter: alpha(opacity=100);
}


#global-navi > ul > li > a img:hover {
	opacity:0.60;
	filter: alpha(opacity=60);
}

#global-navi > ul > li > a:after {
	content: "";
	height: 20px;
	width: 0;
	border-left: #fff solid 2px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	-webkit-transform: rotate3d(0, 0, 1, 24deg);
	transform: rotate3d(0, 0, 1, 24deg);
}

#global-navi > ul > li:last-child > a:after {
	display: none;
}

