@charset "utf-8";

/*====================================================================================================

  会社概要

====================================================================================================*/

@media print,screen and (min-width:641px) {
  .company {
    padding-bottom:144px;
  }
}

@media screen and (max-width:640px) {
  .company {
    padding-bottom:3.5em;
  }
}


/*----------------------------------------------------------------------------------------------------

  Section
  
----------------------------------------------------------------------------------------------------*/

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

@media print,screen and (min-width:641px) {
  .sec {
    padding-top:112px;
  }
  
  .sec-hdline {
    width:22%;
  }
  
  .sec-cont {
    -webkit-box-flex:1;
    -ms-flex:1;
    flex:1;
  }
  
  .sec-hdline .ff-min {
    display:block;
    vertical-align:baseline;
  }
}

@media screen and (max-width:640px) {
  .sec {
    padding-top:3.5em;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }
  
  .sec-hdline {
    font-size:1.1em;
    padding-bottom:2em;
  }
  
  .sec-hdline .ff-en {
    display:inline-block;
    vertical-align:bottom;
  }
  
  .sec-hdline .ff-min {
    display:inline-block;
    margin-left:1em;
    padding-bottom:0.6em;
  }
  
  .sec-hdline .p-textEffect.is-scroll .p-textEffect__txt {
    -webkit-animation-delay:0s !important;
    animation-delay:0s !important;
  }
}


/*----------------------------------------------------------------------------------------------------

  Profile
  
----------------------------------------------------------------------------------------------------*/

.profile {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  border-top:1px solid #e1e1e1;
}

.profile dt,
.profile dd {
  border-bottom:1px solid #e1e1e1;
  padding-top:1em;
  padding-bottom:1em;
}

.profile dt {
  font-weight:500;
  text-align:center;
}

.profile dd b,
.profile dd strong {
  font-weight:500;
}

.profile .itemList {
  list-style:none;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

.profile .itemList li:not(:last-child):after {
  content:"、";
}

.map {
  width:100%;
  height:70vh;
}

.map iframe {
  width:100%;
  height:100%;
  vertical-align:bottom;
}

@media print,screen and (min-width:641px) {
  .profile {
    padding-bottom:96px;
  }
  
  .profile dt {
    width:10em;
  }

  .profile dd {
    width:-webkit-calc(100% - 10em);
    width:calc(100% - 10em);
  }
  
  .profile .yno {
    display:inline-block;
    margin-right:1em;
  }
  
  .profile .fax {
    display:inline-block;
  }
  
  .profile .fax:before {
    content:"/";
    display:inline-block;
    margin-left:0.5em;
    margin-right:0.5em;
  }
  
  .map {
    max-height:600px;
    min-height:400px;
  }
}

@media screen and (max-width:640px) {
  .profile {
    padding-bottom:3em;
  }
  
  .profile dt {
    width:7.5em;
  }

  .profile dd {
    width:-webkit-calc(100% - 7.5em);
    width:calc(100% - 7.5em);
  }
  
  .profile .yno {
    display:block;
  }
  
  .profile .fax:before {
    content:"\A";
    white-space:pre;
  }
  
  .map {
    max-height:500px;
    min-height:300px;
  }
}


/*----------------------------------------------------------------------------------------------------

  History
  
----------------------------------------------------------------------------------------------------*/

.history {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

.history dt:not(:first-child),
.history dt:not(:first-child) + dd {
  padding-top:0.75em;
}

.history dt {
  font-weight:500;
}

.history .y,
.history .m {
  display:inline-block;
  width:1.5em;
  text-align:right;
}

.history dd {
  width:-webkit-calc(100% - 10em);
  width:calc(100% - 10em);
}

.history dd b,
.history dd strong {
  font-weight:500;
}

@media print,screen and (min-width:641px) {
  .history {
    padding-top:1em;
    padding-bottom:1em;
    padding-left:1.25em;
  }
  
  .history dt {
    width:10em;
  }

  .history dd {
    width:-webkit-calc(100% - 10em);
    width:calc(100% - 10em);
  }
}

@media screen and (max-width:640px) {
  .history dt {
    width:8.25em;
  }

  .history dd {
    width:-webkit-calc(100% - 8.25em);
    width:calc(100% - 8.25em);
  }
}


/*----------------------------------------------------------------------------------------------------

  License
  
----------------------------------------------------------------------------------------------------*/

.sec-license {
  background-color:#f0f0f0;
}

.license {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-align:stretch;
  -ms-flex-align:stretch;
  align-items:stretch;
}

.license dt,
.license dd {
  background-color:#fff;
  border-bottom:1px solid #f0f0f0;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  box-sizing:border-box;
}
  
.license dt:nth-of-type(even) {
  border-left:1px solid #e1e1e1;
}
  
.license dt:not(:nth-of-type(even)) {
  width:-webkit-calc(50% - 5em);
  width:calc(50% - 5em);
}
  
.license dt {
  width:-webkit-calc(50% - 5em - 1px);
  width:calc(50% - 5em - 1px);
}

.license dd {
  width:5em;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -ms-flex-line-pack:end;
  align-content:flex-end;
  border-left:1px solid #f0f0f0;
}

@media print,screen and (min-width:641px) {
  .sec-license {
    margin-top:112px;
    margin-bottom:-144px;
  }
  
  .sec-license .sec {
    padding-top:96px;
    padding-bottom:96px;
  }
  
  .license {
    font-size:0.9em;
  }
  
  .license dt,
  .license dd {
    padding:1em 1.25em;
  }
}

@media screen and (max-width:640px) {
  .sec-license {
    margin-top:3.5em;
    margin-bottom:-3.5em;
  }
  
  .sec-license .sec {
    padding-bottom:3.5em;
  }
  
  .license {
    font-size:0.88em;
  }
  
  .license dt,
  .license dd {
    padding:1em;
  }
}


/*----------------------------------------------------------------------------------------------------

  Masterpiece
  
----------------------------------------------------------------------------------------------------*/

.sec-mp {
  position:relative;
  overflow:hidden;
}

@media print,screen and (min-width:641px) {
  .sec-mp {
    padding-top:144px;
  }
  
  .mp {
    padding-top:96px;
  }
}

@media screen and (max-width:640px) {
  .sec-mp {
    padding-top:3.5em;
  }
  
  .mp {
    padding-top:3em;
  }
}


/*--------------------------------------------------------------------------------
  Headline
--------------------------------------------------------------------------------*/

.mp-hdline {
  position:relative;
  z-index:4;
}

.mp-hdline .ff-min {
  width:128px;
  height:96px;
  letter-spacing:0;
  padding-top:1.25em;
  display:inline-block;
  text-align:center;
  color:#fff;
  background-color:#b3954f;
  position:relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
}

.mp-hdline .ff-min:before,
.mp-hdline .ff-min:after {
  content:"";
  width:0;
  height:0;
  display:block;
  position:absolute;
  top:100%;
  border-style:solid;
}

.mp-hdline .ff-min:before {
  left:0;
  border-width:40px 128px 0 0;
  border-color:#b3954f transparent transparent transparent;
}

.mp-hdline .ff-min:after {
  right:0;
  border-width:0 128px 40px 0;
  border-color:transparent #b3954f transparent transparent;
}

.mp-hdline .ff-en {
  display:block;
  color:#b3954f;
  font-weight:500;
}

@media print,screen and (min-width:641px) {
  .mp-hdline .ff-en {
    padding-top:160px;
    font-size:5em;
  }
}

@media screen and (max-width:640px) {
  .mp-hdline {
    height:-webkit-calc((260 / 640 * 100vw) + 1.75em);
    height:calc((260 / 640 * 100vw) + 1.75em);
  }
  
  .mp-hdline .ff-en {
    font-size:4em;
    position:absolute;
    left:0;
    bottom:0;
  }
  
  .mp-hdline .ff-min {
    font-size:0.9em;
    width:-webkit-calc(128 / 640 * 100vw);
    height:-webkit-calc(96 / 640 * 100vw);
    width:calc(128 / 640 * 100vw);
    height:calc(96 / 640 * 100vw);
  }
  
  .mp-hdline .ff-min:before {
    border-width:-webkit-calc(40 / 640 * 100vw) -webkit-calc(128 / 640 * 100vw) 0 0;
    border-width:calc(40 / 640 * 100vw) calc(128 / 640 * 100vw) 0 0;
  }
  
  .mp-hdline .ff-min:after {
    border-width:0 -webkit-calc(128 / 640 * 100vw) -webkit-calc(40 / 640 * 100vw) 0;
    border-width:0 calc(128 / 640 * 100vw) calc(40 / 640 * 100vw) 0;
  }
}

@media screen and (max-width:560px) {
  .mp-hdline .ff-min {
    font-size:0.88em;
  }
}

@media screen and (max-width:480px) {  
  .mp-hdline .ff-en {
    font-size:13vw;
  }
}


/*--------------------------------------------------------------------------------
  Photos
--------------------------------------------------------------------------------*/

.mp-photos {
  position:relative;
  z-index:2;
}

@media print,screen and (min-width:641px) {
  .mp-photos {
    width:200%;
    position:absolute;
    top:96px;
  }
}

@media print,screen and (min-width:1381px) {
  .mp-photos {
    left:-webkit-calc(50% - 345px);
    left:calc(50% - 345px);
  }
  
  .mp-photos .p-loop li {
    width:500px;
    height:450px;
  }
}

@media print,screen and (min-width:641px) and (max-width:1380px) {
  .mp-photos {
    left:334px;
  }
  
  .mp-photos .p-loop li {
    width:-webkit-calc(500 / 1380 * 100vw);
    width:calc(500 / 1380 * 100vw);
    height:-webkit-calc(450 / 1380 * 100vw);
    height:calc(450 / 1380 * 100vw);
    min-width:450px;
    min-height:400px;
  }
}

@media screen and (max-width:640px) {
  .mp-photos {
    width:180%;
    position:absolute;
    top:3em;
    left:31%;
  }
  
  .mp-photos .p-loop li {
    width:-webkit-calc(260 / 640 * 100vw);
    width:calc(260 / 640 * 100vw);
    height:-webkit-calc(260 / 640 * 100vw);
    height:calc(260 / 640 * 100vw);
  }
}


/*--------------------------------------------------------------------------------
  List
--------------------------------------------------------------------------------*/

.mp-list {
  position:relative;
}

.mp-list .inner {
  background-color:#fff;
  position:relative;
  z-index:3;
}

.mp-list li:not(last-child) {
  padding-bottom:0.75em;
}

@media print,screen and (min-width:641px) {
  .mp-list .inner {
    width:80%;
    margin-top:-40px;
    padding-top:120px;
    padding-right:80px;
  }
}

@media screen and (max-width:640px) {
  .mp-list {
    padding-top:2.5em;
  }
}

