@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap");
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio[controls],
canvas,
video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

html {
  font-size: 100%; /* 1 */
  overflow-y: scroll; /* 2 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* 3 */
  -webkit-text-size-adjust: 100%; /* 4 */
  -ms-text-size-adjust: 100%; /* 4 */
}

body {
  margin: 0;
}

body,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}

q:before,
q:after {
  content: "";
  content: none;
}

small {
  font-size: 75%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul,
ol {
  margin: 1em 0;
  padding: 0 0 0 40px;
}

dd {
  margin: 0 0 0 40px;
}

nav ul,
nav ol {
  /*list-style: none;*/
}

img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

form {
  margin: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0; /* 1 */
  *margin-left: -7px; /* 2 */
}

button,
input,
select,
textarea {
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 3 */
  *vertical-align: middle; /* 3 */
}

button,
input {
  line-height: normal; /* 1 */
  *overflow: visible; /* 2 */
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer; /* 1 */
  -webkit-appearance: button; /* 2 */
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
}

input[type=search] {
  -webkit-appearance: textfield; /* 1 */ /* 2 */
  box-sizing: content-box;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

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

/*
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: normal;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
*/
html, body {
  width: 100%;
  height: 100%;
}

body {
  margin: 0px;
  padding: 0px;
  font-family: "Noto Serif JP", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  text-align: left;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0px;
  padding: 0px;
  color: #000;
  font-size: 16px;
  line-height: 1.8em;
  letter-spacing: 0.02em;
}

hr {
  display: none;
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  margin: 0;
  padding: 0;
}

p, li, dt, dd, th, td, figcaption, time, address {
  margin: 0px;
  padding: 0px;
  font-size: 14px;
  line-height: 1.8em;
  color: #000;
}

th p, td p {
  font-size: 100%;
}

p {
  margin-bottom: 2em;
}

a {
  color: #000;
  text-decoration: underline;
  outline: none;
}

a.outline:focus {
  outline: 1px dotted;
}

a:focus {
  outline: none;
}

a:hover {
  text-decoration: none;
}

a img {
  margin: 0px;
  padding: 0px;
  border: none;
}

ol li p,
ul li p,
ol li table tr th,
ol li table tr td,
table tr td p,
table tr td ol li,
table tr td ul li,
table tr td ol li p,
table tr td ul li p {
  font-size: 100%;
}

ol.lmnone,
ul.lmnone {
  margin: 0;
  padding: 0;
  list-style: none;
}

ol.fllist li,
ul.fllist li {
  float: left;
  list-style: none;
}

/* dl table */
dl.table1 dt,
dl.table2 dt {
  margin: 0;
  margin-right: -110px;
  float: left;
  clear: both;
  display: inline;
  width: 110px;
}

dl.table1 dd {
  margin-left: 110px;
}

dl.table1 {
  /*\*/
  min-height: 1px;
  _height: 1%;
  /* */
  /*\*/ /*/
overflow: hidden;
/**/
}

dl.table1::after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

dl.table2 dt {
  width: 120px;
  margin-right: -120px;
}

dl.table2 dd {
  margin-left: 120px;
}

form {
  margin: 0;
  padding: 0;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
}

#layout {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.dwrap {
  position: relative;
  clear: both;
}

.dleft {
  float: left;
}

.dright {
  float: right;
}

/* スペースの調整用 */
.pt-15 {
  padding-top: -15px;
}

.pt0 {
  padding-top: 0;
}

.pt1em {
  padding-top: 1em;
}

.pt2em {
  padding-top: 2em;
}

.pt3em {
  padding-top: 3em;
}

.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pt55 {
  padding-top: 55px;
}

.pt60 {
  padding-top: 60px;
}

.pt65 {
  padding-top: 65px;
}

.pt70 {
  padding-top: 70px;
}

.pt75 {
  padding-top: 75px;
}

.pt80 {
  padding-top: 80px;
}

.pt85 {
  padding-top: 85px;
}

.pt124 {
  padding-top: 124px;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb1em {
  padding-bottom: 1em;
}

.pb2em {
  padding-bottom: 2em;
}

.pb3em {
  padding-bottom: 3em;
}

.pb4em {
  padding-bottom: 4em;
}

.pb5em {
  padding-bottom: 5em;
}

.pb6em {
  padding-bottom: 6em;
}

.pb5 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb120 {
  padding-bottom: 120px;
}

.mt0 {
  margin-top: 0;
}

.mt1em {
  margin-top: 1em;
}

.mt2em {
  margin-top: 2em;
}

.mt3em {
  margin-top: 3em;
}

.mt4em {
  margin-top: 4em;
}

.mt5em {
  margin-top: 5em;
}

.mt6em {
  margin-top: 6em;
}

.mt7em {
  margin-top: 7em;
}

.mt8em {
  margin-top: 8em;
}

.mt9em {
  margin-top: 9em;
}

.mt5 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt120 {
  margin-top: 120px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb1em {
  margin-bottom: 1em;
}

.mb2em {
  margin-bottom: 2em;
}

.mb3em {
  margin-bottom: 3em;
}

.mb4em {
  margin-bottom: 4em;
}

.mb5em {
  margin-bottom: 5em;
}

.mb6em {
  margin-bottom: 6em;
}

.mb7em {
  margin-bottom: 7em;
}

.mb8em {
  margin-bottom: 8em;
}

.mb9em {
  margin-bottom: 9em;
}

.mb7 {
  margin-bottom: 7px;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb120 {
  margin-bottom: 120px;
}

.pl1em {
  padding-left: 1em;
}

.ml1em {
  margin-left: 1em;
}

.rp0 {
  padding-right: 0;
}

.rm0 {
  margin-right: 0;
}

.pr10 {
  padding-right: 10px;
}

.pr20 {
  padding-right: 20px;
}

.pr35 {
  padding-right: 35px;
}

.pr50 {
  padding-right: 50px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 25px;
}

.pl30 {
  padding-left: 30px;
}

.pl340 {
  padding-left: 340px;
}

.bb5 {
  border-bottom: 5px solid #78BE00;
}

.bt5 {
  border-top: 5px solid #78BE00;
  padding-top: 70px;
}

.f11 {
  font-size: 11px !important;
}

.f12 {
  font-size: 12px !important;
}

.red {
  color: red;
}

.text-right {
  text-align: right;
}

.text-rightb {
  font-weight: bold;
  text-align: right;
}

.tcenter {
  text-align: center;
}

body {
  _zoom: 0.7;
}

.pcv {
  display: block;
}
@media screen and (max-width: 750px) {
  .pcv {
    display: none;
  }
}

.pcv1160 {
  display: block;
}
@media screen and (max-width: 1160px) {
  .pcv1160 {
    display: none;
  }
}

.pcvin {
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .pcvin {
    display: none;
  }
}

.spv {
  display: none;
}
@media screen and (max-width: 750px) {
  .spv {
    display: block;
  }
}

.detail img {
  max-width: 100%;
  height: auto;
}

.inview.fade {
  opacity: 0;
  transform: translate(0, 30px);
  transition: 0.3s;
}

.inview.fade.show {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 0.3s;
}

.inview.fade2 {
  opacity: 0;
  transform: translate(0, 30px);
  transition: 0.5s;
}

.inview.fade2.show {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 0.5s;
}

.inview.left {
  opacity: 0;
  transform: translateX(-30px);
  transition: 0.5s;
}

.inview.left.show {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.5s;
}

.inview.right {
  opacity: 0;
  transform: translateX(30px);
  transition: 0.5s;
}

.inview.right.show {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.5s;
}

.inview.d1.show {
  transition-delay: 0.5s;
}

.inview.d2.show {
  transition-delay: 0.8s;
}

.inview.d3.show {
  transition-delay: 1.2s;
}

.inview.top::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  z-index: 2;
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  /* background-color: transparent; */
  z-index: 2;
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top.show::after, .inview.top.show::before {
  transform: translateX(100%);
}

.image.inview.top.show::after, .image.inview.top.show::before {
  transition-delay: 0.2s;
}

body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}

body.fadeout::after {
  opacity: 1;
}

/*
.overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #CCC;
    z-index: 9999;
    -webkit-transition: opacity .3s ease;
    -ms-transition: opacity .3s ease;
    -moz-transition: opacity .3s ease;
    transition: opacity .3s ease;
}
.fadeout{
    .overlay{
        -webkit-transition: opacity .3s ease;
        -ms-transition: opacity .3s ease;
        -moz-transition: opacity .3s ease;
        transition: opacity .3s ease;
        opacity: 1;
    }
}
*/
header,
.header_inner,
.contents,
footer {
  position: relative;
  clear: both;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  box-sizing: border-box;
}

.contents_base {
  position: relative;
  clear: both;
  width: 1000px;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 1040px) {
  .contents_base {
    width: 100%;
  }
}

header {
  background: #8d80bb;
  height: 232px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
header img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 756px) {
  header {
    height: auto;
  }
}

.header_logo {
  position: relative;
  width: 500px;
  height: 232px;
  background: #FFF;
  padding: 50px 0;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.header_logo h1 {
  width: 153px;
  margin: 16px 55px 0 73px;
}
.header_logo .header_mes {
  width: 82px;
  padding: 0 67px;
  border-left: 1px solid #8d80bb;
}
.header_logo .header_mes a {
  display: block;
  text-decoration: none;
  color: #8d80bb;
  transition: all 0.2s;
}
.header_logo .header_mes a:hover {
  opacity: 0.7;
}
.header_logo .header_mes figure {
  line-height: 0;
  font-size: 0;
  margin-bottom: 6px;
}
.header_logo .header_mes p {
  position: relative;
  font-size: 12px;
  padding-right: 15px;
  margin: 0;
  color: #8d80bb;
}
.header_logo .header_mes p::before {
  content: "";
  width: 13px;
  height: 13px;
  background: #8d80bb;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
}
.header_logo .header_mes p::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 3px;
  margin-top: -5.5px;
}
@media screen and (max-width: 900px) {
  .header_logo {
    width: 50vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header_logo h1 {
    width: 153px;
    margin: 0 6vw 0 8vw;
  }
  .header_logo .header_mes {
    width: 94px;
    padding: 0 5vw;
  }
  .header_logo .header_mes p {
    font-size: 11px;
  }
}
@media screen and (max-width: 756px) {
  .header_logo {
    width: 100%;
    padding: 4.6vw 0;
    height: auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .header_logo h1 {
    position: relative;
    width: 25vw;
    margin: 0 0 0 8.5vw;
  }
  .header_logo .header_mes {
    width: auto;
    padding: 0 0 0 5.8vw;
    border-left: none;
  }
  .header_logo .header_mes a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .header_logo .header_mes a figure {
    width: 10.6vw;
    margin: 0 3vw 0 0;
  }
  .header_logo .header_mes a p {
    font-size: 3.2vw;
    padding-right: 3.8vw;
  }
  .header_logo .header_mes a p::before {
    width: 2.5vw;
    height: 2.5vw;
    margin-top: -1vw;
  }
  .header_logo .header_mes a p::after {
    border-width: 0.7vw 0 0.7vw 1.4vw;
    right: 0.5vw;
    margin-top: -0.5vw;
  }
}

.gnav {
  position: relative;
  padding: 30px 145px 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
.gnav .gnav_list {
  list-style: none;
  margin-right: 15px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
.gnav .gnav_list li {
  position: relative;
  writing-mode: vertical-rl;
  margin-right: 24px;
  font-size: 14px;
  padding-top: 60px;
}
.gnav .gnav_list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 11px;
  width: 1px;
  height: 38px;
  background: none;
  border-left: 1px solid #FFF;
}
.gnav .gnav_list li a {
  position: relative;
  display: block;
  color: #FFF;
  text-decoration: none;
  transition: all 0.2s;
}
.gnav .gnav_list li a:hover {
  padding-top: 1em;
}
.gnav .gnav_mv {
  writing-mode: vertical-rl;
  font-size: 12px;
}
.gnav .gnav_mv span {
  color: #FFF;
  display: block;
  text-decoration: none;
  border: 1px solid #FFF;
  padding: 0.5em 0.3em 2em 0.2em;
  background: url(/common/images/share/icon_youtube.svg) no-repeat center bottom 0.5em;
  background-size: 15px;
  cursor: pointer;
}
.gnav .gnav_mv ul {
  position: absolute;
  display: none;
  padding: 0;
  margin: 0;
  width: 6em;
  list-style: none;
  height: 100%;
}
.gnav .gnav_mv ul li {
  margin-right: 0;
}
.gnav .gnav_mv ul li::before {
  display: none;
}
.gnav .gnav_mv ul li a {
  display: block;
  text-decoration: none;
  background: #FFF;
  height: 10.2em;
  padding: 0.5em 0.3em 2em 0.2em;
  transition: all 0.2s;
}
.gnav .gnav_mv ul li a:hover {
  padding: 0.5em 0.3em 2em 0.2em;
  background: #000;
  color: #FFF;
}
@media screen and (max-width: 1120px) {
  .gnav {
    padding: 30px 70px 0 0;
  }
}
@media screen and (max-width: 950px) {
  .gnav ul {
    margin-right: 1.5vw;
  }
  .gnav ul li {
    margin-right: 1.5vw;
  }
}
@media screen and (max-width: 756px) {
  .gnav {
    display: none;
  }
}

/* sp menu */
#menu {
  position: fixed;
  width: 44px;
  height: 44px;
  background: #8d80bb;
  right: 25px;
  top: 20px;
  cursor: pointer;
  margin: 0px;
  z-index: 40;
}
#menu::before, #menu::after,
#menu .icon {
  position: absolute;
  top: 14px;
  left: 8px;
  width: 28px;
  height: 1px;
  background-color: #FFF;
  text-indent: -9999px;
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
#menu::after {
  content: "";
  top: 21px;
  background: #FFF;
}
#menu::before {
  content: "";
  top: 28px;
  width: 18px;
  background: #FFF;
}
#menu .open {
  display: block;
}
#menu .close {
  display: none;
}
#menu.on::before {
  transform: translateY(-7px) rotate(-45deg);
  background-color: #FFF;
  width: 28px;
}
#menu.on::after {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  transition: 0.2s;
}
#menu.on .icon {
  transform: translateY(7px) rotate(45deg);
  background-color: #FFF;
}
#menu.on .open {
  display: none;
}
#menu.on .close {
  display: block;
}
#menu p {
  display: none;
}
@media screen and (max-width: 1120px) {
  #menu {
    right: 10px;
  }
}
@media screen and (max-width: 750px) {
  #menu {
    right: 0;
    top: 0;
  }
  #menu #menu {
    position: fixed;
    width: 10vw;
    height: 10vw;
  }
  #menu #menu::before, #menu #menu::after,
  #menu #menu .icon {
    top: 3.8vw;
    left: 3.3vw;
    width: 3.6vw;
  }
  #menu #menu::after {
    top: 4.8vw;
  }
  #menu #menu::before {
    top: 6vw;
    width: 2.4vw;
  }
  #menu #menu.on::before {
    transform: translateY(-1.1vw) rotate(-45deg);
    width: 3.6vw;
  }
  #menu #menu.on .icon {
    transform: translateY(1.1vw) rotate(45deg);
  }
}

/*
#spnav{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    margin:0;
    background: rgba($color: #FFF, $alpha: 0.95);
    z-index: 38;
    text-align: center;
    ul{
        position: relative;
        display: inline-block;
        width: auto;
        list-style: none;
        left:auto;
        top:0;
        margin:0;
        top: 50%;
        padding-bottom: 10vw;
        -ms-transform: translateY(-50%);
        -webkit-transform : translateY(-50%);
        li{
            text-align: left;
            font-size: 20px;
            margin-bottom: 2em;
            a{
                color: #000;
                text-decoration: none;
                &:hover{
                    color: #808080;
                }
            }
        }
    }
    @media screen and (max-width:756px){
        ul{
            li{
                font-size: 3.7vw;
                margin-bottom: 2em;
            }
        }
    }
    @media screen and (max-width:540px){
        ul{
            li{
                margin-bottom: 1em;
            }
        }
    }
}
*/
.spnav2 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  margin: 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: 38;
}
.spnav2 .spnav_inner {
  position: relative;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.spnav2 .spnav_inner p {
  text-align: left;
  font-size: 20px;
  margin: 0 0 1em 0;
}
.spnav2 .spnav_inner p a {
  color: #000;
  text-decoration: none;
}
.spnav2 .spnav_inner p a:hover {
  color: #808080;
}
.spnav2 .spnav_inner .spnav_wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.spnav2 .spnav_inner .spnav_wrap ul {
  padding-right: 2em;
  list-style: none;
  width: 15em;
}
.spnav2 .spnav_inner .spnav_wrap ul:nth-child(2) {
  padding-right: 0;
}
.spnav2 .spnav_inner .spnav_wrap ul li {
  text-align: left;
  font-size: 20px;
  margin-bottom: 1em;
}
.spnav2 .spnav_inner .spnav_wrap ul li a {
  color: #000;
  text-decoration: none;
}
.spnav2 .spnav_inner .spnav_wrap ul li a:hover {
  color: #808080;
}
@media screen and (max-width: 756px) {
  .spnav2 .spnav_inner p {
    font-size: 3.2vw;
    margin-bottom: 0.5em;
  }
  .spnav2 .spnav_inner .spnav_wrap ul {
    width: 28vw;
    padding-right: 0;
  }
  .spnav2 .spnav_inner .spnav_wrap ul:nth-child(2) {
    width: 35vw;
  }
  .spnav2 .spnav_inner .spnav_wrap ul li {
    font-size: 3.2vw;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 540px) {
  .spnav2 .spnav_inner p {
    font-size: 3.7vw;
  }
  .spnav2 .spnav_inner .spnav_wrap ul {
    width: 28vw;
    padding-right: 0;
  }
  .spnav2 .spnav_inner .spnav_wrap ul:nth-child(2) {
    width: 35vw;
  }
  .spnav2 .spnav_inner .spnav_wrap ul li {
    font-size: 3.7vw;
  }
}

.side_nav {
  position: absolute;
  top: 50%;
  left: auto;
  transform: translateY(-50%);
  position: fixed;
  right: 25px;
  z-index: 38;
}
.side_nav ul {
  list-style: none;
}
.side_nav ul li {
  position: relative;
  writing-mode: vertical-rl;
  line-height: 19px;
}
.side_nav ul li:nth-child(1) {
  padding: 30px 0 20px 0;
  background: url(/common/images/share/icon_sideshop.svg) no-repeat top center;
  background-size: 19px;
}
.side_nav ul li:nth-child(1)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 13px;
  height: 1px;
  border-bottom: 1px solid #000;
}
.side_nav ul li:nth-child(2) {
  padding: 20px 0 28px 0;
  background: url(/common/images/share/icon_sidemail.svg) no-repeat bottom 3px center;
  background-size: 19px;
}
.side_nav ul li a {
  text-decoration: none;
  transition: all 0.2s;
}
.side_nav ul li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1330px) {
  .side_nav {
    right: 10px;
  }
}
@media screen and (max-width: 756px) {
  .side_nav {
    position: absolute;
    text-align: inherit;
    top: auto;
    left: auto;
    transform: none;
    position: fixed;
    top: auto;
    right: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #FFF;
  }
  .side_nav ul {
    padding: 5vw 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .side_nav ul li {
    width: 50%;
    writing-mode: horizontal-tb;
    text-align: right;
    font-size: 3.9vw;
  }
  .side_nav ul li:nth-child(1) {
    width: 55%;
    text-align: right;
    padding: 0;
    background: none;
  }
  .side_nav ul li:nth-child(1) a {
    padding: 0 1.5em 0 1.3em;
    background: url(/common/images/share/icon_sideshop.svg) no-repeat center left;
    background-size: 1em;
  }
  .side_nav ul li:nth-child(1)::after {
    content: "";
    position: absolute;
    left: auto;
    bottom: 2px;
    right: 0;
    width: 1px;
    height: 4vw;
    border-bottom: none;
    border-right: 1px solid #000;
  }
  .side_nav ul li:nth-child(2) {
    width: 45%;
    text-align: left;
    padding: 0;
    background: none;
  }
  .side_nav ul li:nth-child(2) a {
    padding: 0 1.5em 0 1.5em;
    background: url(/common/images/share/icon_sidemail.svg) no-repeat top 0.5em right;
    background-size: 1.1em;
  }
}

footer {
  background: #8d80bb;
  padding: 50px 0;
}

.footer_base {
  position: relative;
  width: 960px;
  margin: 0 auto;
}
@media screen and (max-width: 1020px) {
  .footer_base {
    width: 90%;
  }
}

.footer_top_nav {
  position: relative;
  margin: 0 0 50px 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
.footer_top_nav h2 {
  width: 16.6%;
}
.footer_top_nav h2 img {
  width: 115px;
}
@media screen and (max-width: 900px) {
  .footer_top_nav h2 {
    width: 14.6%;
    margin-right: 2%;
  }
  .footer_top_nav h2 img {
    max-width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 756px) {
  .footer_top_nav h2 {
    width: 44%;
    margin: 0 auto;
  }
  .footer_top_nav h2 img {
    width: 100%;
    height: auto;
  }
}

.footer_sub_nav {
  position: relative;
  list-style: none;
  width: 55.7%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
.footer_sub_nav li {
  font-weight: bold;
  margin: 0 20px 0 0;
}
.footer_sub_nav li a {
  color: #FFF;
  text-decoration: none;
  border-bottom: 1px solid #8d80bb;
  transition: all 0.2s;
}
.footer_sub_nav li a:hover {
  border-bottom: 1px solid #FFF;
}
@media screen and (max-width: 900px) {
  .footer_sub_nav li {
    margin: 0 2.2vw 0 0;
    font-size: 13px;
  }
}
@media screen and (max-width: 756px) {
  .footer_sub_nav {
    display: none;
  }
}

.footer_sns_nav {
  list-style: none;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
.footer_sns_nav li {
  width: 14px;
  margin-right: 6px;
  line-height: 0;
  font-size: 0;
}
.footer_sns_nav li a {
  transition: all 0.2s;
}
.footer_sns_nav li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 756px) {
  .footer_sns_nav {
    display: none;
  }
}

.footer_main_nav {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.footer_main_nav .footer_mnav {
  position: relative;
}
.footer_main_nav .footer_mnav h3 {
  font-size: 13px;
  color: #FFF;
  margin-bottom: 0.3em;
}
.footer_main_nav .footer_mnav h4 {
  font-size: 13px;
  color: #FFF;
}
.footer_main_nav .footer_mnav p {
  color: #FFF;
  font-size: 12px;
  margin: 0 0 1.5em 0;
}
.footer_main_nav .footer_mnav ul li {
  list-style: none;
  margin: 0 0 10px 0;
  font-size: 12px;
}
.footer_main_nav .footer_mnav a {
  color: #FFF;
  text-decoration: none;
  border-bottom: 1px solid #8d80bb;
  transition: all 0.2s;
}
.footer_main_nav .footer_mnav a:hover {
  border-bottom: 1px solid #FFF;
}
.footer_main_nav .fnav1 {
  width: 16.7%;
}
.footer_main_nav .fnav1 ul li {
  font-weight: bold;
  font-size: 13px;
}
.footer_main_nav .fnav2 {
  width: 19.2%;
}
.footer_main_nav .fnav2 h3 {
  margin-bottom: 10px;
}
.footer_main_nav .fnav3 {
  width: 36.4%;
}
.footer_main_nav .fnav4 {
  width: 27.5%;
}
.footer_main_nav .fnav4 ul {
  margin-bottom: 4em;
}
@media screen and (max-width: 756px) {
  .footer_main_nav {
    display: none;
  }
}

.copyright {
  color: #FFF;
  font-size: 10px;
}
@media screen and (max-width: 756px) {
  .copyright {
    font-size: 3vw;
    text-align: center;
  }
}

main {
  overflow: hidden;
}

.line_title {
  position: relative;
  writing-mode: vertical-rl;
  font-size: 26px;
  padding-top: 150px;
  line-height: 1em;
  font-weight: normal;
}
.line_title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 12px;
  width: 1px;
  height: 135px;
  background: none;
  border-left: 1px solid #3e3a39;
}

.linelink {
  position: relative;
  font-size: 15px;
}
.linelink a {
  border-bottom: 1px solid #3e3a39;
  display: block;
  text-decoration: none;
  transition: all 0.2s;
}
.linelink a::after {
  position: absolute;
  content: "";
  right: -9px;
  bottom: 23px;
  width: 70px;
  height: 1px;
  border-top: 1px solid #3e3a39;
  transform: rotate(45deg);
}
.linelink a:hover {
  opacity: 0.5;
}

.home_caution .home_caution_wrap {
  position: relative;
  width: 650px;
  margin: -40px auto 0 auto;
}
.home_caution .home_caution_wrap p {
  font-weight: bold;
  font-size: 18px;
}
.home_caution .home_caution_wrap p a {
  display: block;
  border: 2px double red;
  padding: 1.2em 0;
  color: red;
  text-align: center;
  margin-bottom: 50px;
  text-decoration: none;
  transition: all 0.2s;
}
.home_caution .home_caution_wrap p a:hover {
  background: red;
  color: #FFF;
}
@media screen and (max-width: 1040px) {
  .home_caution .home_caution_wrap {
    width: 70%;
  }
  .home_caution .home_caution_wrap p {
    font-size: 2.3vw;
  }
}
@media screen and (max-width: 750px) {
  .home_caution .home_caution_wrap p {
    font-size: 3.7vw;
    line-height: 1.5em;
  }
  .home_caution .home_caution_wrap p a {
    padding: 1em 0;
  }
}

.main_image {
  position: relative;
}
.main_image .slider {
  position: relative;
  list-style: none;
  z-index: 1;
  margin-bottom: 54px;
}
.main_image .slider article {
  width: 100%;
}
.main_image .slider article img {
  width: 100%;
}
.main_image .slider article p {
  margin: 0;
}
.main_image .home_slider_text {
  margin-left: 14.5vw;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: auto;
  transform: translateY(-50%);
}
.main_image .home_slider_text h2 {
  width: 320px;
  margin: 0 0 80px 0;
}
.main_image .home_slider_text h3 {
  width: 320px;
}
.main_image .slick-dots {
  bottom: -36px;
}
.main_image .slick-dots li button {
  width: 16px;
  height: 16px;
  border: 1px solid #c9caca;
  background: #FFF;
  border-radius: 20px;
}
.main_image .slick-dots li button::before {
  display: none;
}
.main_image .slick-dots li.slick-active button {
  background: #8d80bb;
}
@media screen and (max-width: 756px) {
  .main_image .slider {
    height: 65vh;
  }
  .main_image .slider article {
    height: 65vh;
  }
  .main_image .slider article p img {
    height: 65vh;
    object-fit: cover;
  }
  .main_image .slider article .home_slider_text {
    display: none;
  }
}
@media screen and (max-width: 400px) {
  .main_image .slider {
    height: 58vh;
  }
  .main_image .slider article {
    height: 58vh;
  }
  .main_image .slider article p img {
    height: 58vh;
  }
}

.main_sp_copy {
  position: relative;
  display: none;
}
@media screen and (max-width: 756px) {
  .main_sp_copy {
    display: block;
    padding: 6.7vw 10% 12vw 10%;
  }
  .main_sp_copy h2 {
    width: 70vw;
    margin-bottom: 10vw;
  }
  .main_sp_copy h2 img {
    max-width: 100%;
    height: auto;
  }
  .main_sp_copy h3 {
    width: 59.3vw;
  }
  .main_sp_copy h3 img {
    max-width: 100%;
    height: auto;
  }
}

.main_banner {
  position: relative;
  margin: 0 0 95px 0;
}
.main_banner ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.main_banner ul li {
  list-style: none;
}
.main_banner ul li img {
  width: 100%;
}
.main_banner ul li a {
  transition: all 0.2s;
}
.main_banner ul li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 756px) {
  .main_banner ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .main_banner ul li {
    width: 49%;
    margin: 0 0 1vw 0;
  }
}

.home_wedding {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
.home_wedding .line_title {
  position: absolute;
  top: 0;
  left: 53.125%;
}
.home_wedding .wedding_image {
  position: relative;
  width: 51.25%;
  height: 960px;
  background: url(/common/images/home/home_wedding_back@2x.jpg) no-repeat center center;
  background-size: cover;
}
.home_wedding .wedding_image ul {
  list-style: none;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  position: absolute;
  top: 50%;
  left: auto;
  transform: translateY(-50%);
  right: -50px;
  padding-top: 140px;
}
.home_wedding .wedding_image ul li {
  width: 330px;
  margin: 0 0 0 23px;
}
.home_wedding .wedding_image ul li img {
  max-width: 100%;
  height: auto;
}
.home_wedding .home_wedding_text {
  width: 365px;
  margin-left: 6.375%;
  border-top: 1px solid #3e3a39;
}
.home_wedding .home_wedding_text h3 {
  font-size: 26px;
  font-weight: normal;
  margin: 24px 0;
}
.home_wedding .home_wedding_text .linelink {
  margin: 70px 0 50px 0;
}
@media screen and (max-width: 1330px) {
  .home_wedding .wedding_image ul {
    right: -3.7vw;
  }
  .home_wedding .wedding_image ul li {
    width: 24vw;
    margin: 0 0 0 1.8vw;
  }
}
@media screen and (max-width: 1120px) {
  .home_wedding .wedding_image ul {
    right: -3.7vw;
  }
  .home_wedding .wedding_image ul li {
    width: 24vw;
    margin: 0 0 0 1.8vw;
  }
  .home_wedding .home_wedding_text {
    width: 32.5vw;
  }
  .home_wedding .home_wedding_text h3 {
    font-size: 2.3vw;
    margin: 2.1vw 0;
  }
  .home_wedding .home_wedding_text p {
    font-size: 1.42vw;
  }
  .home_wedding .home_wedding_text .linelink {
    margin: 6.25vw 0 4.46vw 0;
  }
}
@media screen and (max-width: 756px) {
  .home_wedding {
    display: block;
  }
  .home_wedding figure.spv {
    margin-bottom: 6vw;
  }
  .home_wedding figure.spv img {
    max-width: 100%;
    height: auto;
  }
  .home_wedding .line_title {
    position: relative;
    top: auto;
    left: auto;
    text-align: center;
    width: 100%;
    padding: 0;
    margin: 0 0 6vw 0;
    font-size: 9.6vw;
    writing-mode: horizontal-tb;
  }
  .home_wedding .line_title::before {
    display: none;
  }
  .home_wedding .wedding_image {
    display: none;
  }
  .home_wedding .home_wedding_text {
    width: 88%;
    margin: 0 auto;
    padding: 6vw 0 9vw 0;
  }
  .home_wedding .home_wedding_text h3 {
    font-size: 5.47vw;
    text-align: center;
    margin: 0 0 1em 0;
  }
  .home_wedding .home_wedding_text p {
    font-size: 3.73vw;
    margin-bottom: 3em;
  }
}

.home_shop {
  position: relative;
  background: #e8e2db;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.home_shop .line_title {
  position: absolute;
  top: 0;
  left: 45.625%;
}
.home_shop .home_shop_image {
  position: relative;
  order: 2;
  width: 48.75%;
  height: 960px;
  background: url(/common/images/home/home_shop_back4@2x.jpg) no-repeat center center;
  background-size: cover;
}
.home_shop .home_shop_image h3 {
  font-size: 66px;
  letter-spacing: 0.4em;
  font-weight: normal;
  color: #FFF;
  text-align: center;
  line-height: 1em;
  padding-top: 65px;
}
.home_shop .home_shop_image ul {
  position: relative;
  list-style: none;
  position: absolute;
  top: 50%;
  left: auto;
  transform: translateY(-50%);
  left: -62px;
  margin-top: 160px;
}
.home_shop .home_shop_image ul li {
  width: 330px;
  margin: 0 0 23px 0;
}
.home_shop .home_shop_image ul li:last-child {
  margin: 0;
}
.home_shop .home_shop_image ul li img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 1330px) {
  .home_shop .home_shop_image ul {
    left: -4.6vw;
  }
  .home_shop .home_shop_image h3 {
    font-size: 4.9vw;
  }
}
.home_shop .home_shop_text {
  position: relative;
  order: 1;
  width: 365px;
  border-top: 1px solid #3e3a39;
  margin: 0 0 45px auto;
  right: 8.75%;
}
.home_shop .home_shop_text h3 {
  font-size: 26px;
  font-weight: normal;
  margin: 24px 0;
}
.home_shop .home_shop_text .linelink {
  margin: 125px 0 50px 0;
}
@media screen and (max-width: 1330px) {
  .home_shop .home_shop_image ul {
    left: -4.6vw;
  }
  .home_shop .home_shop_image ul li {
    width: 24.8vw;
  }
  .home_shop .home_shop_text {
    margin: 0 0 6.5vw auto;
  }
  .home_shop .home_shop_text .linelink {
    margin: 6vw 0 3.7vw 0;
  }
}
@media screen and (max-width: 1120px) {
  .home_shop .home_shop_text {
    width: 32.5vw;
  }
  .home_shop .home_shop_text h3 {
    font-size: 2.3vw;
    font-weight: normal;
    margin: 2.14vw 0;
  }
}
@media screen and (max-width: 756px) {
  .home_shop {
    display: block;
  }
  .home_shop figure.spv {
    margin-bottom: 6vw;
  }
  .home_shop figure.spv img {
    max-width: 100%;
    height: auto;
  }
  .home_shop .line_title {
    position: relative;
    top: auto;
    left: auto;
    text-align: center;
    width: 100%;
    padding: 0;
    margin: 0 0 6vw 0;
    font-size: 9.6vw;
    writing-mode: horizontal-tb;
  }
  .home_shop .line_title::before {
    display: none;
  }
  .home_shop .home_shop_image {
    display: none;
  }
  .home_shop .home_shop_text {
    width: 88%;
    margin: 0 auto;
    right: auto;
    padding: 6vw 0 9vw 0;
  }
  .home_shop .home_shop_text h3 {
    font-size: 5.47vw;
    text-align: center;
    margin: 0 0 1em 0;
  }
  .home_shop .home_shop_text p {
    font-size: 3.73vw;
    margin-bottom: 3em;
  }
}

.home_lesson {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.home_lesson .home_lesson_image {
  position: relative;
  width: 51.25%;
  height: 960px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: wrap;
}
.home_lesson .home_lesson_image div {
  margin-right: 4vw;
}
.home_lesson .home_lesson_image div h3 {
  position: relative;
  text-align: center;
  font-size: 43px;
  line-height: 1em;
  z-index: 2;
}
.home_lesson .home_lesson_image div p {
  position: relative;
  width: 542px;
  margin: 0;
  line-height: 0;
  font-size: 0;
  top: -22px;
  margin-bottom: -22px;
  z-index: 1;
}
.home_lesson .home_lesson_image div p img {
  max-width: 100%;
  height: auto;
}
.home_lesson .home_lesson_text {
  position: relative;
  order: 2;
  width: 48.75%;
  height: 960px;
  background: #c7a586;
}
.home_lesson .home_lesson_text div {
  position: relative;
  width: 375px;
  border-top: 1px solid #3e3a39;
  margin: 220px 0 0 12.8%;
}
.home_lesson .home_lesson_text div h3 {
  font-size: 24px;
  font-weight: normal;
  margin: 24px 0;
}
.home_lesson .home_lesson_text div img {
  max-width: 100%;
  height: auto;
}
.home_lesson .home_lesson_text div .linelink {
  margin: 70px 0 50px 0;
}
.home_lesson .home_lesson_text figure {
  position: absolute;
  right: 0;
  bottom: 0;
  line-height: 0;
  font-size: 0;
  padding-left: 5.6%;
}
.home_lesson .home_lesson_text figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1120px) {
  .home_lesson .home_lesson_image div {
    width: 95%;
    margin-right: 5%;
  }
  .home_lesson .home_lesson_image div p {
    width: 100%;
  }
  .home_lesson .home_lesson_text div {
    width: 33.4vw;
  }
  .home_lesson .home_lesson_text div h3 {
    font-size: 2.14vw;
    margin: 2.14vw 0;
  }
  .home_lesson .home_lesson_text div .linelink {
    margin: 6.25vw 0 4.46vw 0;
  }
}
@media screen and (max-width: 756px) {
  .home_lesson {
    display: block;
  }
  .home_lesson figure.spv {
    margin-bottom: 6vw;
  }
  .home_lesson figure.spv img {
    max-width: 100%;
    height: auto;
  }
  .home_lesson .home_lesson_image {
    display: none;
  }
  .home_lesson .home_lesson_text {
    width: 100%;
    height: auto;
  }
  .home_lesson .home_lesson_text h2 {
    text-align: center;
    width: 100%;
    padding: 0;
    margin: 0 0 6vw 0;
    font-size: 9.6vw;
    font-weight: normal;
  }
  .home_lesson .home_lesson_text div {
    width: 88%;
    margin: 0 auto;
    padding: 6vw 0 9vw 0;
  }
  .home_lesson .home_lesson_text div h3 {
    font-size: 5.47vw;
    text-align: center;
    margin: 0 0 1em 0;
  }
  .home_lesson .home_lesson_text div p {
    font-size: 3.73vw;
    margin-bottom: 3em;
  }
  .home_lesson .home_lesson_text figure {
    position: relative;
    right: auto;
    bottom: auto;
    padding-left: 0;
    display: none;
  }
  .home_lesson .home_lesson_text figure.spv {
    display: block;
  }
}

.home_business {
  position: relative;
  background: #e3dbca;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.home_business .line_title {
  position: absolute;
  top: 0;
  left: 53.4%;
  z-index: 3;
}
.home_business .home_business_image {
  position: relative;
  width: 51.25%;
  height: 960px;
}
.home_business .home_business_image div {
  position: relative;
  padding: 90px 4vw 0 0;
}
.home_business .home_business_image div h3 {
  position: absolute;
  top: 380px;
  right: 7.8vw;
  color: #000;
  text-align: right;
  font-size: 43px;
  font-style: italic;
  font-weight: normal;
}
.home_business .home_business_image div p {
  line-height: 0;
  font-size: 0;
  margin-bottom: 0;
  width: 47vw;
  height: 100%;
}
.home_business .home_business_image div p img {
  max-width: 100%;
  width: 47vw;
  height: 870px;
  object-position: center center;
  object-fit: cover;
}
.home_business .home_business_text {
  position: relative;
  order: 2;
  width: 48.75%;
  height: 960px;
  background: url(/common/images/home/home_corp_back2@2x.jpg) no-repeat center center;
  background-size: cover;
}
.home_business .home_business_text div {
  position: relative;
  width: 375px;
  border-top: 1px solid #3e3a39;
  margin: 150px 0 0 12.8%;
}
.home_business .home_business_text div h3 {
  font-size: 24px;
  font-weight: normal;
  margin: 24px 0;
}
.home_business .home_business_text div ul {
  list-style: none;
}
.home_business .home_business_text div ul li {
  position: relative;
  margin: 0 0 15px 0;
}
.home_business .home_business_text div ul li img {
  max-width: 100%;
  height: auto;
}
.home_business .home_business_text div ul li span {
  color: #FFF;
  font-size: 30px;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.home_business .home_business_text div .linelink {
  margin: 70px 0 50px 0;
}
@media screen and (max-width: 1120px) {
  .home_business .home_business_text div {
    width: 33.4vw;
  }
  .home_business .home_business_text div h3 {
    font-size: 2.14vw;
    margin: 2.14vw 0;
  }
  .home_business .home_business_text div ul li span {
    font-size: 2.67vw;
  }
}
@media screen and (max-width: 756px) {
  .home_business {
    display: block;
  }
  .home_business figure.spv {
    margin-bottom: 6vw;
  }
  .home_business figure.spv img {
    max-width: 100%;
    height: auto;
  }
  .home_business .line_title {
    display: none;
  }
  .home_business .home_business_image {
    display: none;
  }
  .home_business .home_business_text {
    width: 100%;
    height: auto;
    background: none;
  }
  .home_business .home_business_text h2 {
    text-align: center;
    width: 100%;
    padding: 0;
    margin: 0 0 6vw 0;
    font-size: 9.6vw;
    line-height: 1.2em;
    font-weight: normal;
  }
  .home_business .home_business_text div {
    width: 88%;
    margin: 0 auto;
    padding: 6vw 0 9vw 0;
  }
  .home_business .home_business_text div h3 {
    font-size: 5.47vw;
    text-align: center;
    margin: 0 0 1em 0;
  }
  .home_business .home_business_text div p {
    font-size: 3.73vw;
    margin-bottom: 3em;
  }
  .home_business .home_business_text ul {
    display: none;
  }
}

.home_topics_lesson {
  position: relative;
  width: 100%;
  padding: 145px 0 95px 0;
  overflow: hidden;
}
.home_topics_lesson .shop_lesson {
  display: none;
}
@media screen and (max-width: 756px) {
  .home_topics_lesson {
    padding: 16vw 0;
  }
  .home_topics_lesson .shop_lesson {
    display: block;
  }
  .home_topics_lesson .viewmore_list {
    margin: 0;
  }
}

.home_blog_inner,
.home_topics_lesson_inner {
  width: 1065px;
  margin: 0 auto 90px auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.home_blog_inner a,
.home_topics_lesson_inner a {
  text-decoration: none;
}
.home_blog_inner h2,
.home_topics_lesson_inner h2 {
  font-size: 18px;
}
.home_blog_inner h3,
.home_topics_lesson_inner h3 {
  text-align: center;
  margin-bottom: 1em;
}
.home_blog_inner .wrap_title,
.home_topics_lesson_inner .wrap_title {
  margin-bottom: 3em;
}
.home_blog_inner article figure,
.home_topics_lesson_inner article figure {
  line-height: 0;
  font-size: 0;
  margin-bottom: 20px;
  transition: all 0.2s;
}
.home_blog_inner article figure img,
.home_topics_lesson_inner article figure img {
  max-width: 100%;
  height: auto;
}
.home_blog_inner article time,
.home_topics_lesson_inner article time {
  font-size: 13px;
}
.home_blog_inner article h4,
.home_topics_lesson_inner article h4 {
  position: relative;
  font-size: 14px;
  width: 100%;
  line-height: 1.5em;
  height: 3em;
  overflow: hidden;
  font-weight: normal;
  padding-bottom: 2em;
  transition: all 0.2s;
}
.home_blog_inner article h4::after,
.home_topics_lesson_inner article h4::after {
  content: "...";
  font-weight: bold;
  position: absolute;
  bottom: 0.5em;
  left: 0;
}
.home_blog_inner article a,
.home_topics_lesson_inner article a {
  display: block;
  transition: all 0.2s;
}
.home_blog_inner article a:hover h4,
.home_blog_inner article a:hover time,
.home_blog_inner article a:hover figure,
.home_topics_lesson_inner article a:hover h4,
.home_topics_lesson_inner article a:hover time,
.home_topics_lesson_inner article a:hover figure {
  opacity: 0.5;
}
.home_blog_inner article a:hover .viewmore::after,
.home_topics_lesson_inner article a:hover .viewmore::after {
  width: 25px;
  right: -10px;
}
.home_blog_inner article a:hover .viewmore::before,
.home_topics_lesson_inner article a:hover .viewmore::before {
  right: -10px;
}
@media screen and (max-width: 1120px) {
  .home_blog_inner,
  .home_topics_lesson_inner {
    width: 90%;
    margin: 0 auto 8vw auto;
  }
  .home_blog_inner h3,
  .home_topics_lesson_inner h3 {
    font-size: 1.42vw;
  }
}
@media screen and (max-width: 900px) {
  .home_blog_inner h2,
  .home_topics_lesson_inner h2 {
    font-size: 2vw;
  }
}
@media screen and (max-width: 756px) {
  .home_blog_inner,
  .home_topics_lesson_inner {
    width: 100%;
  }
  .home_blog_inner h2,
  .home_topics_lesson_inner h2 {
    font-size: 4.8vw;
    text-align: center;
  }
  .home_blog_inner h3,
  .home_topics_lesson_inner h3 {
    font-size: 4.27vw;
  }
  .home_blog_inner .wrap_title,
  .home_topics_lesson_inner .wrap_title {
    margin-bottom: 3em;
    font-size: 4vw;
    text-align: center;
  }
  .home_blog_inner article a,
  .home_topics_lesson_inner article a {
    padding: 0 2.5%;
  }
  .home_blog_inner article figure,
  .home_topics_lesson_inner article figure {
    width: 100%;
    transition: none;
  }
  .home_blog_inner article figure img,
  .home_topics_lesson_inner article figure img {
    width: 100%;
  }
  .home_blog_inner article time,
  .home_topics_lesson_inner article time {
    font-size: 3.47vw;
  }
  .home_blog_inner article h4,
  .home_topics_lesson_inner article h4 {
    font-size: 3.7vw;
    height: auto;
    padding-bottom: 2em;
    transition: none;
  }
  .home_blog_inner article h4::after,
  .home_topics_lesson_inner article h4::after {
    content: "...";
    font-weight: bold;
    position: absolute;
    bottom: 0.5em;
    left: 0;
  }
  .home_blog_inner article a,
  .home_topics_lesson_inner article a {
    transition: none;
  }
}

.home_topics {
  width: 70%;
}
@media screen and (max-width: 756px) {
  .home_topics {
    width: 100%;
  }
}

.home_lesson_topics {
  width: 21.7%;
  padding-left: 4%;
  border-left: 1px solid #040000;
}
.home_lesson_topics h2 {
  text-align: center;
}
.home_lesson_topics .wrap_title {
  text-align: center;
}
@media screen and (max-width: 756px) {
  .home_lesson_topics {
    display: none;
  }
}

.home_topics_inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.home_topics_inner article {
  position: relative;
  width: 30.7%;
}

.viewmore {
  position: relative;
  display: inline-block;
  padding-right: 2.5em;
  margin: 0;
  line-height: 1.5em;
}
.viewmore::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 1px;
  right: 0;
  bottom: 7px;
  border-bottom: 1px solid;
  transition: all 0.2s;
}
.viewmore::before {
  position: absolute;
  content: "";
  right: 0;
  bottom: 8px;
  width: 5px;
  height: 1px;
  border-top: 1px solid #3e3a39;
  transform: rotate(45deg);
  transition: all 0.2s;
}
@media screen and (max-width: 756px) {
  .viewmore {
    font-size: 3.47vw;
  }
}

.viewmore_list {
  position: relative;
  text-align: center;
  font-size: 16px;
}
.viewmore_list a {
  position: relative;
  display: inline-block;
  border: 1px solid #727171;
  color: #727171;
  padding: 0.5em 5em;
  text-decoration: none;
  transition: all 0.2s;
}
.viewmore_list a::after {
  position: absolute;
  content: "";
  width: 33px;
  height: 1px;
  right: -20px;
  bottom: 20px;
  border-bottom: 1px solid;
  transition: all 0.2s;
}
.viewmore_list a::before {
  position: absolute;
  content: "";
  right: -20px;
  bottom: 22px;
  width: 8px;
  height: 1px;
  border-top: 1px solid #727171;
  transform: rotate(45deg);
  transition: all 0.2s;
}
.viewmore_list a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 756px) {
  .viewmore_list {
    font-size: 4.27vw;
  }
}

.home_blog {
  position: relative;
  background: #eeeceb;
  padding: 50px 0 80px 0;
  overflow: hidden;
}
.home_blog .home_blog_base {
  position: relative;
  width: 1065px;
  margin: 0 auto 70px auto;
}
.home_blog .home_blog_base article {
  width: 21.4%;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}
.home_blog .home_blog_base article h4 {
  height: 4em;
  font-size: 14px;
  font-weight: bold;
}
.home_blog .home_blog_base article h4::after {
  display: none;
}
.home_blog .home_blog_base article p {
  width: 100%;
  font-size: 14px;
  margin: 0;
}
@media screen and (max-width: 1120px) {
  .home_blog .home_blog_base {
    width: 90%;
  }
  .home_blog .home_blog_base .home_blog_inner {
    width: 100%;
  }
}
@media screen and (max-width: 756px) {
  .home_blog {
    padding: 16vw 0;
  }
  .home_blog .home_blog_base {
    width: 100%;
  }
  .home_blog h2 {
    font-size: 4.8vw;
    text-align: center;
  }
  .home_blog .wrap_title {
    margin-bottom: 3em;
    font-size: 4vw;
    text-align: center;
  }
  .home_blog .viewmore_list {
    margin-bottom: 0;
  }
}

.home_sns {
  position: relative;
  padding: 195px 0 150px 0;
}
.home_sns .home_sns_innder {
  position: relative;
  width: 1065px;
  margin: 0 auto 70px auto;
}
.home_sns .home_sns_innder h2 {
  margin: 0 0 25px 0;
}
.home_sns .home_sns_innder ul {
  list-style: none;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.home_sns .home_sns_innder ul li {
  width: 30.4%;
  margin: 0 3.7% 45px 0;
  line-height: 1.5em;
  font-weight: bold;
}
.home_sns .home_sns_innder ul li .midbr {
  display: none;
}
.home_sns .home_sns_innder ul li:nth-child(3n) {
  margin: 0 0 45px 0;
}
.home_sns .home_sns_innder ul li a {
  display: block;
  border: 1px solid #dcdddd;
  text-decoration: none;
  padding: 20px 0 20px 8.6%;
  transition: all 0.2s;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.home_sns .home_sns_innder ul li a figure {
  width: 44px;
  margin: 0 5% 0 0;
  line-height: 0;
  font-size: 0;
}
.home_sns .home_sns_innder ul li a figure img {
  max-width: 100%;
  height: auto;
}
.home_sns .home_sns_innder ul li a p {
  margin: 0;
}
.home_sns .home_sns_innder ul li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1120px) {
  .home_sns .home_sns_innder {
    width: 90%;
  }
}
@media screen and (max-width: 950px) {
  .home_sns .home_sns_innder ul {
    list-style: none;
  }
  .home_sns .home_sns_innder ul li .midbr {
    display: block;
  }
}
@media screen and (max-width: 756px) {
  .home_sns {
    padding: 14.5vw 0 16vw 0;
  }
  .home_sns .home_sns_innder {
    margin: 0 auto;
  }
  .home_sns .home_sns_innder h2 {
    text-align: center;
    font-size: 4.5vw;
  }
  .home_sns .home_sns_innder ul {
    margin-bottom: 5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  .home_sns .home_sns_innder ul:last-child {
    margin-bottom: 0;
  }
  .home_sns .home_sns_innder ul li {
    width: 49%;
    margin: 0 2% 2vw 0;
    font-size: 15px;
  }
  .home_sns .home_sns_innder ul li:nth-child(even) {
    margin: 0 0 2vw 0;
  }
  .home_sns .home_sns_innder ul li:nth-child(3n) {
    margin: 0;
  }
  .home_sns .home_sns_innder ul li .midbr {
    display: none;
  }
  .home_sns .home_sns_innder ul li a {
    padding: 3vw 0 3vw 8.6%;
  }
}
@media screen and (max-width: 540px) {
  .home_sns .home_sns_innder ul li {
    font-size: 2.9vw;
  }
  .home_sns .home_sns_innder ul li .midbr {
    display: block;
  }
}

.message_title {
  background: #f9f0d9;
}

.message_title_inner {
  position: relative;
  width: 1080px;
  margin: 0 auto;
}
.message_title_inner figure {
  line-height: 0;
  font-size: 0;
}
.message_title_inner h1 {
  width: 506px;
  padding: 0 0 40px 0;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1160px) {
  .message_title_inner {
    width: 100%;
  }
  .message_title_inner h1 {
    width: 46.8vw;
    padding: 0 0 3.4vw 0;
  }
}

.message_copy {
  text-align: center;
  padding: 55px 0 85px 0;
}
.message_copy p {
  font-size: 18px;
  color: #8f82bc;
  margin: 0 auto;
  width: 635px;
}
@media screen and (max-width: 756px) {
  .message_copy {
    padding: 7.3vw 0 11.2vw 0;
  }
  .message_copy p {
    width: 90%;
  }
}

.message_subtitle {
  position: relative;
  width: 100%;
  margin-bottom: 80px;
  z-index: 1;
}
.message_subtitle span {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  border-bottom: 1px solid #8f82bc;
  height: 1px;
  width: 100%;
  z-index: 1;
}
.message_subtitle h2 {
  position: relative;
  line-height: 0;
  font-size: 0;
  width: 170px;
  padding: 0 40px;
  background: #FFF;
  margin: 0 auto;
  z-index: 2;
}
.message_subtitle h2 img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 756px) {
  .message_subtitle {
    margin-bottom: 10.5vw;
  }
  .message_subtitle h2 {
    width: 30vw;
    padding: 0 6vw;
  }
}

.message_contets {
  padding-bottom: 150px;
}
.message_contets .contents_base {
  width: 1080px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.message_contets .contents_base .message_figure {
  width: 30.5%;
}
.message_contets .contents_base .message_figure img {
  margin-bottom: 10px;
}
.message_contets .contents_base .message_figure figcaption {
  text-align: center;
  font-size: 14px;
}
.message_contets .contents_base .message_text {
  width: 63%;
}
.message_contets .contents_base .message_text h2 {
  font-size: 30px;
  margin-bottom: 80px;
  line-height: 1.2em;
  color: #595757;
}
.message_contets .contents_base .message_text figure {
  display: none;
}
.message_contets .contents_base .message_text .message_sig {
  color: #595757;
  margin-bottom: 10px;
}
.message_contets .contents_base .message_text h3 {
  font-size: 28px;
  line-height: 1.2em;
  margin-bottom: 28px;
  letter-spacing: 0.1em;
  color: #595757;
}
.message_contets .contents_base .message_text p {
  font-size: 14px;
}
@media screen and (max-width: 1160px) {
  .message_contets .contents_base {
    width: 90%;
  }
}
@media screen and (max-width: 756px) {
  .message_contets {
    padding-bottom: 20vw;
  }
  .message_contets .contents_base .message_figure {
    display: none;
  }
  .message_contets .contents_base .message_text {
    width: 100%;
  }
  .message_contets .contents_base .message_text h2 {
    font-size: 5.5vw;
    margin-bottom: 10vw;
  }
  .message_contets .contents_base .message_text figure {
    display: block;
    width: 70%;
    margin-bottom: 3vw;
  }
  .message_contets .contents_base .message_text h3 {
    font-size: 4.2vw;
    margin-bottom: 4vw;
  }
  .message_contets .contents_base .message_text p {
    font-size: 13px;
  }
}

/* ------clearfix(クリアフィックス)↓ここから------ */
.technology_wrap article .boxtitle,
.about .page_copy .contents_base h2,
.about1_wrap .contents_base h2,
.min {
  font-family: "Helvetica Neue", Helvetica, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Noto Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.home_sns_innder li,
.home_lesson_topics p,
.home_sns_innder h2,
.home_blog_base time,
.home_blog_base h4,
.home_blog_base p,
.home_topics_inner p,
.home_topics_lesson time,
.home_topics_lesson h4,
.home_lesson_topics h3,
.home_topics_inner h3,
.wrap_title,
.home_lesson_topics h2,
.home_lesson_image h3,
.goth {
  font-family: "Helvetica Neue", Helvetica, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Noto Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
/*# sourceMappingURL=contents.css.map */