@charset "utf-8";
.mainvisual {
  background: #1a1a1a url(../img/mv.gif) no-repeat 0 0;
  background-size: cover
}
.home_anchor_block.contents {
  padding-bottom: 0
}
.home_anchor_list {
  font-size: 0;
  padding-top: 20px;
  padding-bottom: 10px
}
.home_anchor_item {
  display: inline-block;
  width: 50%;
  box-sizing: border-box;
  padding-bottom: 10px
}
.home_anchor_item:nth-of-type(1n) {
  padding-right: 5px
}
.home_anchor_item:nth-of-type(2n) {
  padding-right: 0;
  padding-left: 5px
}
.about_lead_body {
  text-align: center
}
.about_i {
  max-width: 800px;
  margin: 1.6em auto;
  padding: 0 1.6em;/*追記*/
  font-style: italic;
  text-align: left
}
.concept_block {
  margin-top: 1.5em
}
.concept_ttl {
  font-weight: bold
}
.concept_list {
  margin: 1em 0;
  padding-left: 1em
}
.concept_list_item {
  list-style: outside disc;
  line-height: 1.4
}
.suit_lead_block {
  margin-bottom: 1.6em
}
.menu_lead_block {
  text-align: center
}
.menu_i {
  margin: 1.6em 0;
  font-style: italic
}
.menu_btn {
  width: 85%
}
#menu_list {
  font-size: 0;
  margin-top: 20px
}
.menu_list_item {
  display: inline-block;
  width: 50%;
  padding-bottom: 1px;
}
.menu_list_item:first-child {
  width: 100%;
}
.menu_list_item:nth-of-type(2n) {
  padding-right: 1px;
}
.menu_option_header {
  max-width: 272px;
  margin: 0 auto 2em;
  margin-top: 1em;
  padding-bottom: 1.5em;
}
.menu_option_lead {
  text-align: center;
}
.flow_block {
  margin-top: 1.5em;
}
.flow_step {
  float: left;
  width: 35%;
  max-width: 138px;
  padding-right: 10px;
  box-sizing: border-box;
}
.flow_body {
  float: right;
  width: 65%;
}
/*.company_greeting_image {
  float: left;
  width: 50%;
  padding-right: 10px;
  padding-bottom: 20px;
  box-sizing: border-box;
}*/
.company_info_table {
  width: 100%;
  border-collapse: collapse;
}
.company_info_header, .company_info_body {
  border-top: #c0c0c0 1px solid;
  margin: 0;
  padding: .5em;
  box-sizing: border-box
}
.company_info_header.first, .company_info_body.first {
  border-top: 0
}
.company_info_header {
  width: 50%;
  font-weight: bold
}
.company_info_body {
  width: 50%
}
#map_canvas {
  width: 100%;
  height: 400px
}
.partner_lead_block {
  text-align: center
}
.partner_list_header {
  padding: 0 0 10px;
  text-align: center
}
.partner_list_header:after {
  content: "";
  display: block;
  width: 70%;
  border-bottom: #292929 1px solid;
  margin: 1em auto .5em
}
.partner_list_item {
  list-style: outside disc;
  margin: .8em 1.5em;
  font-weight: bold
}
.contact_header {
  padding: 0 0 1.5em
}
.contact_text {
  text-align: center;
}
.form_table {
  margin: 1.5em 0;
}
.form_header {
  font-weight: bold;
  margin-top: 1em;
  margin-bottom: .3em;
}
/*.form_body {
  position: relative;
}*/
.contact_err_list {
  margin: 1.5em 0;
}
.contact_err_item {
  list-style: outside disc;
  margin: .8em 1.5em;
}
.form_text_m, .form_text_l, .form_textarea {
  width: 100%;
}
.form_text_s {
  width: 5em;
}
input[type="image"], select#contact_title {
  width: 100%;
}
select#contact_title, #contact_form input, #contact_form textarea {
  font-size: 100%;
  padding: .3em .5em;
  box-sizing: border-box;
}
#contact_form input[type="image"] {
  padding: 0;
}
.form_btn {
  max-width: 550px;
  margin: 0 auto;
  text-align: center;
}


/*******************************************************************************/
/*　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　*/
/*　　　　　　　　　　　　　　　　▼　ここから改修部分　▼　　　　　　　　　　　　　　　　　　　*/
/*　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　*/
/*******************************************************************************/

/* ---------------▼ 共通 ▼--------------- */

/*.menu_option_header img {
  max-width: 60%;
}*/

.menu_option_header::after,
.order_header::after,
.gallery_header::after {
  content: "";
  display: block;
  width: 70%;
  border-bottom: #c0c0c0 1px solid;
  margin: 1em auto .5em;
}

.subttl .main {
  font-size: 16px;
}

.five_reason {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  max-width: 680px;
  margin: 0 auto;
}

.reason {
  width: 30%;
  padding: 0 1%;
}
.reason:nth-of-type(4),
.reason:nth-of-type(5) { margin-top: -5%; }

.reason:nth-of-type(4) { margin-left: 15%; }
.reason:nth-of-type(5) { margin-right: 15%; }

.reason_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 2.5rem;
}

.reason_img {
  max-width: 460px;
  margin-bottom: 1rem;
}

.reason_txt {
  max-width: 530px;
}

.indent {
  margin-top: 2rem;
}

.reason_full_img {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;  
}

.reason_full_img div {
  width: 30%;
}

@media screen and (min-width: 1024px) {
  .reason_box {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .indent { margin-left: 3rem; }
  .subttl .main { font-size: 24px; }
  .subttl .sub { font-size: 18px; }
  .five_reason {
    flex-wrap: nowrap;
    max-width: inherit;
  }
  .reason { width: auto; }
  .reason:nth-of-type(4),
  .reason:nth-of-type(5) { margin-top: 0; }
  .reason:nth-of-type(4) { margin-left: 0; }
  .reason:nth-of-type(5) { margin-right: 0; }
  
  .reason_block {
    margin-top: 8em;
    margin-bottom: 8em;
  }
  .reason_box {
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}

/* GALLERYエリア */
.gallery {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: calc(980px + 30px * 2); /* width + margins at full-size*/
}
.gallery-item img {
  width: 130px;
}
.gallery_header { max-width: 181px; }

@media (min-width: 768px) {
  .gallery-item { margin: 5px; }
  .foot_bn_area { display: flex; }
  .foot_bn { padding: 10px; }
}
@media screen and (max-width: 900px) {
    .gallery-item {
    margin: 5px;
    display: block;
    width: 20%;
    }
}

  
/* ORDER&CONTACT・フッターバナーエリア */
.contact_area{
  padding: 2em 0;
  background-color: #fff;
}

.order .bold_frame_outer { background: #fffef1 url(../img/bg_gold_sp.jpg) no-repeat 50% 0; }
@media screen and (min-width: 768px) {
  .order .bold_frame_outer { background: #fffef1 url(../img/bg_gold_pc.jpg) no-repeat 50% 0; }
}

.order_btn {
  max-width: 325px;
	margin: 0 auto;
}

.order_header {
  max-width: 345px;
  margin: 0 auto 2em;
  margin-top: 1em;
  padding-bottom: 1.5em;
}

/* ---------------▼ TOP ▼--------------- */

.top_suit {
  background: url(../img/top_suit_img_sp.jpg) no-repeat 50% 0% / cover;
}

.top_shirt {
  background: url(../img/top_shirt_img_sp.jpg) no-repeat 50% 0% / cover;
}

.top_tux {
  background: url(../img/top_tux_img_sp.jpg) no-repeat 50% 0% / cover;
}

.top_flow {
  background: url(../img/top_flow_img_sp.jpg) no-repeat 50% 50% / cover;
}

.top_concept {
  background: url(../img/top_concept_img_sp.jpg) no-repeat 50% 50% / cover;
}

.top_company {
  background: url(../img/top_company_img_sp.jpg) no-repeat 50% 50% / cover;
}

.top_contact {
  background: url(../img/top_contact_img_sp.jpg) no-repeat 50% 50% / cover;
}

.top_menu {
  position: relative;
  height: 580px;
  background-color: #272725;
}

.top_menu_sub {
  position: relative;
  height: 460px;
  background-color: #272725;
}

.top_ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  padding: 0 3%;
}

.more {
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%,-70%);
  margin: 0 auto;
  padding: 10px 40px;
  font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho","serif";
  font-weight: 100;
  color: #fff;
  font-size: 12px;
  letter-spacing: 1.5px;
  border: 1px solid #fff;
  overflow: hidden;
}

.top_menu_sub .more { top: 80%; }

.more::before {  
  content: '';
  filter: blur(20px);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.top_suit .more::before { background: url(../img/top_suit_img_sp.jpg) no-repeat 50% 0% / cover; }
.top_shirt .more::before { background: url(../img/top_shirt_img_sp.jpg) no-repeat 50% 0% / cover; }
.top_tux .more::before { background: url(../img/top_tux_img_sp.jpg) no-repeat 50% 0% / cover; }
.top_flow .more::before { background: url(../img/top_flow_img_sp.jpg) no-repeat 50% 50% / cover; }
.top_concept .more::before { background: url(../img/top_concept_img_sp.jpg) no-repeat 50% 50% / cover; }
.top_company .more::before { background: url(../img/top_company_img_sp.jpg) no-repeat 50% 50% / cover; }
.top_contact .more::before { background: url(../img/top_contact_img_sp.jpg) no-repeat 50% 50% / cover; }
.more.android::before { background: none; }
_:lang(x)::-ms-backdrop, .more::before { background: none!important; }


@media screen and ( min-width: 1024px ) {
  .mainvisual { display: none!important; }
  #welcome.slide {
	padding-bottom: 0;
	background-image: none;
	background-color: #1a1a1a
  }
  .video {
    position: relative;
    height: 0;
    padding: 0 0 56.25%;
    overflow: hidden
  }
  .video iframe {
    position: absolute;
    top: -40%;
    left: 0;
    width: 100%;
    height: 180%
  }
  .mv_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -155px 0 0 -200px;
    width: 456px;
    height: 272px
  }
	
	.top_suit {
		background: url(../img/top_suit_img_pc.jpg) no-repeat 50% 0% / cover;
	}

	.top_shirt {
		background: url(../img/top_shirt_img_pc.jpg) no-repeat 50% 0% / cover;
	}

	.top_tux {
		background: url(../img/top_tux_img_pc.jpg) no-repeat 50% 0% / cover;
	}
	.top_flow {
  background: url(../img/top_flow_img_pc.jpg) no-repeat 50% 50% / cover;
	}

	.top_concept {
		background: url(../img/top_concept_img_pc.jpg) no-repeat 50% 50% / cover;
	}

	.top_company {
		background: url(../img/top_company_img_pc.jpg) no-repeat 50% 50% / cover;
	}

	.top_contact {
		background: url(../img/top_contact_img_pc.jpg) no-repeat 50% 50% / cover;
	}
	.top_suit .more::before { background: url(../img/top_suit_img_pc.jpg) no-repeat 50% 0% / cover; }
	.top_shirt .more::before { background: url(../img/top_shirt_img_pc.jpg) no-repeat 50% 0% / cover; }
	.top_tux .more::before { background: url(../img/top_tux_img_pc.jpg) no-repeat 50% 0% / cover; }
	.top_flow .more::before { background: url(../img/top_flow_img_pc.jpg) no-repeat 50% 50% / cover; }
	.top_concept .more::before { background: url(../img/top_concept_img.jpg) no-repeat 50% 50% / cover; }
	.top_company .more::before { background: url(../img/top_company_img.jpg) no-repeat 50% 50% / cover; }
	.top_contact .more::before { background: url(../img/top_contact_img.jpg) no-repeat 50% 50% / cover; }
  
  .top_menu .top_ttl { width: 50%; }
  #home_anchor .top_menu .top_ttl.odd,
  #home_anchor .top_menu .more.odd { margin-left: -25%; }
  #home_anchor .top_menu .top_ttl.even,
  #home_anchor .top_menu .more.even { margin-left: 25%; }
  .top_menu_sub .top_ttl { width: 40%; }
  .more {
    top: 80%;
    left: 50%;
    transform: translate(-50%,-80%);
    padding: 15px 55px;
  }
}


/* ---------------▼ ../suit ▼--------------- */

.suit_table {
  border: 1px solid #ddd;
}

.suit_table .table {
  background-color: #eee;
}

.suit_table .table.suit_table_mark {
  display: block;
  background: #fff;
}

.suit_table .suit_table_mark li {
  text-indent: 2em;
}

.menu_option_img {
  max-width: 550px;
  margin: 0 auto;
}

@media screen and ( min-width: 1024px ) {
  .suit_table { display: flex; }
  .suit_table .table { flex: 1; }
  .menu_option_img { max-width: 828px; }
}

/* ---------------▼ ../shirt ▼--------------- */

.reason_h4 {
  font-size: 16px;
  text-align: center;
}

@media screen and ( max-width: 1024px ) {
  .reason_box_full .table dt {
    border-bottom: none;
  }
  .reason_box_full .table .bb {    
    border-bottom: 1px solid #ddd;
  }
}

@media screen and ( min-width: 1024px ) {  
  .reason_full_img { flex-wrap: nowrap; }
  .row { flex-direction: row; }
  .table.full_list dl {
    display: flex;
    flex-wrap: wrap;
  }
  .table.full_list dt { width: 40%; }
  .table.full_list dd { width: 60%; }
  .table.full_list .bb { width: 100%; }
}

/* ---------------▼ ../flow ▼--------------- */

.flow_body .btn { float: left; }

@media screen and ( min-width: 768px ) {
  .flow_step { max-width: 176px; }
  .flow_body {
    width: calc( 100% - 176px);
    padding-left: 80px;
  }
}
/* ---------------▼ ../concept ▼--------------- */
.suit_lead_block_img {
  width: 45%;
  margin: 0 auto;
}

@media screen and ( min-width: 768px ) {
  .suit_lead {
    display: flex;
  }
  .suit_lead_block {
    flex: 1;
    padding: 2em;
  }
  .suit_lead_block_img {
    width: 100%;
    max-width: 260px;
  }
  #about_concept .section_header { max-width: 900px; }
  
  .concept_block {
    display: flex;
  }
  .concept_block:nth-child(even) { flex-direction: row-reverse; }
  .concept_txt { width: 60%; }
  .concept_img { max-width: 364px; }
  .concept_bottom { text-align: center; }
}

/* ---------------▼ ../company ▼--------------- */
.company_img {
  max-width: 300px;
  margin: 0 auto;
}

.map_area {
  position: relative;
  width: 100%;
  height: 0px;
  padding-bottom: 100%;
}

.map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

#company_bnr img { max-width: 600px; }

@media screen and ( min-width: 768px ) {
  #map.wrapper { max-width: 100%; }
  .map_area {padding-bottom: 400px; }
  .map{ height: 400px; }
  .about_i { padding: 2em 1.6em; }
}

@media screen and ( min-width: 1024px ) {
  .company_box {
    display: flex;
    justify-content: space-between;
  }
  #company_greeting .company_box {
    flex-direction: row-reverse;
  }
  .company_img { width: 35%; }
  .company_txt { width: 65%; }
  #about_mission .company_txt { padding-left: 2rem; }
  #company_greeting .company_txt { padding-right: 2rem; }
  
  .company_info_table {
    width: 90%;
    margin: 0 auto;
  }
  .company_info_header { width: 30%; }
  .company_info_body { width: 70%; }
  .space { display: none; }
  #company_bnr img { max-width: 846px; }
}

/* ---------------▼ ../contact ▼--------------- */
@media screen and ( min-width: 1024px ) {
  .form_table {
    display: flex;
    flex-wrap: wrap;
  }
  .form_header, .form_body { padding: 10px 20px; }
  .form_header { width: 40%; }
  .form_body { width: 60%; }
}