@charset "UTF-8";

/* ---------------------------------- ページ共通設定 ---------------------------------- */

*, *:after, *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

*:after, *:before {
	background-position: left top;
	background-size: 100% auto;
	background-repeat: no-repeat;
}
::-webkit-input-placeholder {
color:#999999;
opacity:1;
}
::-moz-placeholder {
color:#999999;
opacity:1;
}
:-ms-input-placeholder {
color:#999999;
}
:focus::-webkit-input-placeholder {
opacity:1;
color:transparent;
}
:focus:-moz-placeholder {
opacity:1;
color:transparent;
}
:focus::-moz-placeholder {
opacity:1;
color:transparent;
}
:focus:-ms-placeholder {
opacity:1;
color:transparent;
}
a {
	color: inherit;
	text-decoration: none;
}
.normal a:hover {
	text-decoration: underline;
}
.underline {
	text-decoration: underline;
}
a.underline {
	text-decoration: underline;
}
.normal a.underline:hover {
	text-decoration: none;
}
img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
input[type="text"],textarea{
  border: 1px solid #e5e5e5;
  padding: 0 1.28em;
  height: 2.66em;
  line-height: 1;
  color: #666666;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  width: 100%;
}

textarea{
  height: 144px;
  padding: 1em 1.28em;
  line-height: 1.4;
}

hr {
	border-left: none;
	border-right: none;
	border-top: none;
	height: 0;
	border-bottom: 1px solid #66290a;
	margin: 10px 0;
}

figure{
  line-height: 0;
}

.font_san{
  font-family: dnp-shuei-mgothic-std, sans-serif !important;
}

.font_serif{
  font-family: source-han-serif-japanese, serif !important; 
}

@media screen and (max-width:700px) {

input,textarea, select{
  font-size: 16px;
}
  
}

/* ------------------ .bg ------------------ */

.bg_gray01{
  background-color: #f5f5f5 !important;
}

/* ------------------ .link_block ------------------ */

.link_block{
  display: block;
  text-decoration: none !important;
}

/* ------------------ .imghover ------------------ */

.imghover{
  text-decoration: none !important;
  -moz-transition: opacity 0.4s ease 0s;
  -webkit-transition: opacity 0.4s ease 0s;
  -o-transition: opacity 0.4s ease 0s;
  -ms-transition: opacity 0.4s ease 0s;
  transition: opacity 0.4s ease 0s;
}

.normal .imghover:hover{
  -ms-filter: "alpha(opacity=70)" ;
	-khtml-opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}

/* ------------------ .img_cover ------------------ */

.img_cover{
  overflow:  hidden;
  text-indent: 200%;
  white-space: nowrap;
  background-size: cover;
  background-position:  center center;
  height: 0;
  background-color: #eeeeee;
}


.img_cover.delay_load{
  
}

/*
.img_cover.delay_load:after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-image: url(../images/loading01.svg);
  background-size: 10% auto;
  background-repeat: no-repeat;
  background-position:  center center;
  background-color: #eeeeee;
}

.img_cover.delay_load.img_none:after{
  background-color: #eeeeee !important;
}

.img_cover.delay_load.load_img:after{
  display: none;
  background: none !important;
}
*/

.img_cover.delay_load img{
  display: none;
}

.delay_img_obj{
  -ms-filter: "alpha(opacity=0)" ;
	-khtml-opacity: 0;
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}

.delay_img_obj.load_active{
  -ms-filter: "alpha(opacity=100)" ;
	-khtml-opacity: 1;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;	
}

/*  
-------------------------------------------- html、body --------------------------------------------
*/

body{
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 200;
	font-size: 15px;
  letter-spacing: 0.05em;
	line-height: 1.8;
	color: #000000;
	min-width: 320px;
}

.font_hs_l{
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 200;
}


.font_hs_m{
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 500;
}

.font_hsr_m{
  font-family: source-han-serif-japanese, serif; 
  font-weight: 500;
}

.font_bod{
  font-family: bodoni-urw, serif; 
  font-weight: 300;
}

@media screen and (max-width:700px) {
  body{
    font-size: 14px;
    line-height: 1.57;
  }
}

@media all and (-ms-high-contrast:none) {
*::-ms-backdrop, body {
font-family:"メイリオ", Meiryo, Osaka, "sans-serif"
}
}


/* #all_wrap */

#all_wrap {
	overflow: hidden;
}

/* .main_content_wrap */

.main_content_wrap {
	position: relative;
	padding: 100px 30px;
}

.main_content_wrap .main_content {
  position: relative;
	margin: 65px auto;
	max-width: 1200px;
}

.main_content_wrap .main_content:first-child{
  margin-top: 0;
  padding-top: 0;
}

.main_content_wrap .main_content:last-child{
  margin-bottom: 0;
  padding-bottom: 0;
}

@media all and (min-width:901px) {
}

@media screen and (max-width:900px) {
}

@media screen and (min-width:701px) and (max-width:900px) {
  
  .main_content_wrap {
    padding: 45px 30px;
  }
  
  .main_content_wrap .main_content {
    margin: 45px auto;
    padding: 45px 0;
  }
  
  .main_content_child{
    margin: 0px auto 80px auto;
  }
  
}

@media screen and (max-width:700px) {
  .main_content_wrap {
    padding: 30px 20px;
  }
  
  .main_content_wrap .main_content {
    margin: 60px 0 60px 0;
  }
  .main_content_child{
    margin: 0px auto 60px auto;
  }
}


.main_content_obj_wrap{
  position: absolute;
  top: 140px;
  left: 0%;
  text-align: left;
  pointer-events: none;
  width: 100%;
}

.main_content_obj_wrap .main_content_obj{
  position: absolute;
  left: -140px;
}

.main_content_obj_wrap.right_type .main_content_obj{
  left: auto;
  right: -140px;
}

@media screen and (max-width:700px) {
  .main_content_obj_wrap{
    display: none;
  }
}

.window_content{
  position: relative;
  width: 100vw;
  left: 50%;
  margin: 0 0 0 -50vw;
}

@media screen and (max-width:320px) {
  .window_content{
    width: 320px;
    margin: 0 0 0 -160px;
  }
}

.btn_row{
  display: flex;
  justify-content: center;
  margin: 110px 0 0 0;
}

@media screen and (max-width:900px) {
  .btn_row{
    margin: 80px 0 0 0;
  }
}

@media screen and (max-width:700px) {
  .btn_row{
    margin: 55px 0 0 0;
  }
}

/* ----------------------------- .btn_wrap -----------------------------*/

.btn_wrap{
  position: relative;
}

.btn_wrap .btn_block{
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  width: 100%;
  background-color: #ffffff;
}

.btn_wrap .btn{
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  text-decoration: none !important;
  cursor: pointer;
}
.btn_wrap .btn > *{
  display: inline-block;
  vertical-align: baseline;
}

.btn_wrap .btn_text{
  position: relative;
  line-height: 1.5;
  display: inline-block;
}

.btn_wrap .btn_img{
  position: absolute;
  top: 50%;
  right: 15px;
  height: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  line-height: 0;
}

.btn_wrap .btn_img:first-child{
  margin-left: 0;
}

.btn_wrap .btn_img:last-child{
  margin-right: 0;
}

/* .btn_wrap.type_normal */

.btn_wrap.type_normal{
  min-width: 240px;
}

.btn_wrap.type_normal .btn_block,
.btn_wrap.type_normal .btn{
  min-height: 48px;
  border-radius: 9999px;
}

.btn_wrap.type_normal .btn{
  font-size: 15px;
  font-weight: 400;
  color: #ffffff;
  font-family: source-han-sans-japanese, sans-serif;
  background-color: #b60008;
  padding: 15px 30px;
  -moz-transition: background-color 0.4s ease 0s, opacity 0.4s ease 0s;
  -webkit-transition: background-color 0.4s ease 0s, opacity 0.4s ease 0s;
  -o-transition: background-color 0.4s ease 0s, opacity 0.4s ease 0s;
  -ms-transition: background-color 0.4s ease 0s, opacity 0.4s ease 0s;
  transition: background-color 0.4s ease 0s, opacity 0.4s ease 0s;
}

.normal .btn_wrap.type_normal .btn:hover{
  opacity: 0.7;
}

@media screen and (max-width:700px) {
  .btn_wrap.type_normal .btn_block,
  .btn_wrap.type_normal .btn{
    min-height: 50px;
  }
  
}

/* ------------------------------------------------------------------------------
TITLE
------------------------------------------------------------------------------ */

/* .title_type01 */

.title_type01{
  font-size: 30px;
  position: relative;
  text-align: center;
  padding: 0 0 0.66em 0;
  letter-spacing: 0.1em;
  line-height: 1.4;
}

@media screen and (max-width: 900px) {
  .title_type01{
    font-size: 25px;
  }
}

@media screen and (max-width: 700px) {
  
  .title_type01{
    font-size: 20px;
  }
  
}

/* ------------------------------------------------------------------------------
lead
------------------------------------------------------------------------------ */

.lead_text_wrap{
  font-size: 15px;
  text-align: center;
  margin: 70px 0;
}

.lead_text_wrap:first-child{
  margin-top: 0;
}

.lead_text_wrap:last-child{
  margin-bottom: 0;
}

.lead_text_wrap .lead_text{
  display: inline-block;
  vertical-align: top;
  text-align: left;
  max-width: 650px;
}

@media screen and (max-width: 900px) {
  .lead_text_wrap{
    margin: 50px 0;
  }
}

@media screen and (max-width: 700px) {
  .lead_text_wrap{
    margin: 30px 0;
  }
}

/* ------------------------------------------------------------------------------
BG
------------------------------------------------------------------------------ */

.bg01 {
  background-image: url(../img/bg01.png);
  background-size: 250px auto;
  background-repeat: repeat;
}

.bg {
  background-image: url(../img/bg.png);
  background-size: 250px auto;
  background-repeat: repeat;
}

/* ------------------------------------------------------------------------------
#first_load
------------------------------------------------------------------------------ */

#first_load{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: 50000;
}


/* ------------------------------------------------------------------------------
#header
------------------------------------------------------------------------------ */

#header{
  
}

#header_in{
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

#header_logo{
  display: flex;
  align-items: center;
  line-height: 0;
}

#header_logo .text01{
  margin: 0 0 0 0;
}

#header_logo .text02{
  margin: 0 0 0 56px;
}

#header_btn{
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
}

@media screen and (max-width:700px) {
  #header_in{
    padding-left: 0;
    padding-right: 0;
  }
  #header_logo .text01{
    max-width: 67px;
  }
  #header_logo .text02{
    margin: 0 0 0 14px;
  }
  #header_logo .text02 img{
    max-width: 120px;
  }
  
  #header_btn{
    width: 100px;
    padding: 0 10px 0 0;
  }
}

/* ------------------------------------------------------------------------------
#main
------------------------------------------------------------------------------ */

#main{
  position: relative;
}


/* ------------------------------------------------------------------------------
#footer
------------------------------------------------------------------------------ */

#footer{
  
}

/* #footer01 */

#footer01{
  font-size: 18px;
  background-color: #000000;
  color: #ffffff;
  padding-top: 45px;
  padding-bottom: 45px;
  margin-top: 0;
  margin-bottom: 0;
  text-align: center;
}

#footer01_in{
  text-align: center;
}

#footer01_content{
  display: inline-block;
}

#footer01 .app_list_wrap{
  margin: 0 0 20px 0;
}

@media screen and (max-width:700px) {
  #footer01{
    font-size: 15px;
  }
}

/* #footer02 */

#footer02{
  background-color: #ffffff;
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: center;
}


@media screen and (max-width:700px) {
  #footer02{
    text-align: center;
  }
}


/* ------------------------------------------------------------------------------
.app_list_wrap
------------------------------------------------------------------------------ */

.app_list_wrap{
  line-height: 0;
}

.app_list_wrap .app_list{
  display: flex;
  justify-content: center;
}

.app_list_wrap .app_list li{
  max-width: 50%;
  margin: 5px;
}

@media screen and (max-width:900px) {
  
  .app_list_wrap .app_list{
    margin: 0 -15px -15px 0;
  }
  
  .app_list_wrap .app_list li{
    width: 135px;
    padding: 0 15px 15px 0;
  }
}

@media screen and (max-width:700px) {
  .app_list_wrap .app_list{
    margin: 0 -11px -11px 0;
  }
  
  .app_list_wrap .app_list li{
    padding: 0 11px 11px 0;
  }
  
  
}
