@charset "UTF-8";

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* append */
html {
  font-size: 62.5%;
	font-size: calc(100vw / 1600);
}

body {
  line-height: 1.5;
  font-family: 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, sans-serif;
  font-size: 1.4em;
  color: #000;
}

input, textarea, code, select {
  line-height: 1.5;
  font-family: 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, sans-serif;
  font-size: 1em;
  color: #000;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: 'palt' 1;
  font-variant-ligatures: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

ul,
ol {
  list-style: none;
}

input, textarea, code, select, button {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  border: none;
  background: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

em {
  font-style: normal;
}

hr {
  margin: 0;
}

sup,
sub {
  position: relative;
  line-height: 0;
  font-size: 75%;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

[tabindex="-1"]:focus {
  outline: 0;
}

/* ========================================
  layout
======================================== */

@media all and (min-width: 768px) {
  .l-container {
		overflow: hidden;
		padding: 141rem 0 92rem ;
		padding-bottom: 120rem;
		position: relative;
		max-width: 1600px;
		margin: 0 auto;
    min-height: calc(100dvh - 222rem - 46px);
  }
  .l-container .curtain {
    position: absolute;
    width: calc(100vw - calc(100vw - 100%));
    height: 100%;
    top: 0;
    background: url(../img/bg_curtain.png)no-repeat center 0 /contain;
  }
  .l-container .deco {
    position: absolute;
  }
  .l-container .deco.deco_top {
    width: 800rem;
    top: 35rem;
    left: calc(50% - 399rem);
  }
  .l-container .deco.deco_bottom {
    width: 558rem;
    bottom: 20rem;
    left: calc(50% - 279rem);
  }
  .l-container .deco.deco_left {
    height: 730rem;
    bottom: calc(50% - 365rem);
    left: 73rem;
  }
  .l-container .deco.deco_right {
    height: 730rem;
    bottom: calc(50% - 365rem);
    right: 73rem;
  }
  .l-container .deco.deco_corner1 {
    height: 268rem;
    top: 31rem;
    left: 65rem;
  }
  .l-container .deco.deco_corner2 {
    height: 268rem;
    top: 31rem;
    right: 65rem;
  }
  .l-container .deco.deco_corner3 {
    height: 268rem;
    bottom: 18rem;
    right: 65rem;
  }
  .l-container .deco.deco_corner4 {
    height: 268rem;
    bottom: 18rem;
    left: 65rem;
  }

	.bg_title{
		text-align: center;
    margin: 18rem auto 0;
    font-size: min(28rem,28px);
    color: #784628;
    background: url(../img/title_bg.png) no-repeat center /contain;
    max-height: 113px;
    height: 113rem;
    line-height: 4.15;
    font-weight: 600;
	}
  .l-container__inner {
		width: 1048rem;
		max-width: 1048px;
    margin: 0 auto;
		position: relative;
  }
  .page .footer-logo{
    transition:.3s;
  }
  .page .footer-logo:hover {
    filter: brightness(1.1);
    transform: scale(1.05);
  }
}

@media all and (min-width: 1600px){
	.l-container {
		padding: 141px 0 92px;
		padding-bottom: 120px;
    overflow: visible;
	}
    .l-container .curtain {
      width: 100vw;
      background: url(../img/bg_curtain_wide.png)no-repeat center 0 /2111px;
      left: calc(50% - 50vw);
    }
    .l-container .deco.deco_top {
      width: 800px;
      top: 35px;
      left: calc(50% - 399px);
    }
    .l-container .deco.deco_bottom {
      width: 558px;
      bottom: 20px;
      left: calc(50% - 279px);
    }
    .l-container .deco.deco_left {
      height: 730px;
      bottom: calc(50% - 365px);
      left: 73px;
    }
    .l-container .deco.deco_right {
      height: 730px;
      bottom: calc(50% - 365px);
      right: 73px;
    }
    .l-container .deco.deco_corner1 {
      height: 268px;
      top: 31px;
      left: 65px;
    }
    .l-container .deco.deco_corner2 {
      height: 268px;
      top: 31px;
      right: 65px;
    }
    .l-container .deco.deco_corner3 {
      height: 268px;
      bottom: 18px;
      right: 65px;
    }
    .l-container .deco.deco_corner4 {
      height: 268px;
      bottom: 18px;
      left: 65px;
    }
	.bg_title{
		margin-top: 18px;
	}
}

@media screen and (max-width: 767px) {
  .l-container {
    position: relative;
  }
  .l-container__inner {
    padding: 0 90rem 210rem;
  }
    .l-container .curtain {
      position: absolute;
      width: 100vw;
      height: 100%;
      top: -126rem;
      background: url(../img/bg_curtain_sp.png)no-repeat center 0 /contain;
    }
    .l-container .deco {
      position: absolute;
    }
    .l-container .deco.deco_top {
      width: 100vw;
      top: -100rem;
      left: calc(50% - 50vw);
    }
    .l-container .deco.deco_bottom {
      width: 100vw;
      bottom: 21rem;
      left: calc(50% - 50vw);
    }
    .l-container .deco.deco_left, .l-container .deco.deco_right, .l-container .deco.deco_corner1, .l-container .deco.deco_corner2, .l-container .deco.deco_corner3, .l-container .deco.deco_corner4 {
      display: none;
    }
}


/* header（不要であれば消す） */
@media all and (min-width: 760px) {
  .l-header{
    position: relative;
    z-index: 41;
  }
  .l-header-body{
    position: relative;
  }
  .l-header-logo{
    position: absolute;
    top: 0;
    right: 0;
    text-align: right;
  }
  .l-header-logo__label{
    display: inline-block;
    vertical-align: top;
    width: 100px;
  }
}
@media all and (min-width: 760px) and (max-width: 1199px) {
  .l-header-logo__label{
    width: 100px;
  }
}
@media screen and (max-width: 759px) {
  .l-header{
    position: relative;
    z-index: 41;
  }
  .l-header-body{
    position: relative;
  }
  .l-header-logo{
    position: absolute;
    top: 0;
    right: 0;
    margin-top: 6px;
    margin-right: 6px;
    text-align: right;
  }
  .l-header-logo__label{
    display: inline-block;
    vertical-align: top;
    width: 50px;
  }
}