@charset "UTF-8";
/*------------------------------------------------------------
	Default
------------------------------------------------------------*/
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, dialog, figure, footer, header, button,
hgroup, menu, nav, section,
time, mark, audio, video
{
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 14px;
  box-sizing: border-box;
}

html
{
  font-size: 14px;
}

body, table,
input, textarea, select, option, button,
h1, h2, h3, h4, h5, h6
{
  font-family: "Noto Sans CJK JP", "游 Gothic", "YuGothic", "游 Gothic", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-family: ten-mincho-text, serif;
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6
{
  font-weight: 500;
}

table,
input, textarea, select, option
{
  line-height: 1.5;
}

ol, ul
{
  list-style: none;
}

blockquote, q
{
  quotes: none;
}

:focus
{
  outline: 0;
}

ins
{
  text-decoration: none;
}

del
{
  text-decoration: line-through;
}

img
{
  vertical-align: top;
}

a
{
  text-decoration: none;
}

a:hover
{
  text-decoration: none;
}

.iconify
{
  box-sizing: content-box;
  vertical-align: unset;
}

/*------------------------------------------------------------
	                    BASE DEVELOP
------------------------------------------------------------*/
header .main-visual
{
  width: 100%;
  height: auto;
  position: relative;
}

header .main-visual img
{
  width: 100%;
  height: auto;
}

header .main-visual .logo
{
  width: 100%;
  height: auto;
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
   display: none;
}

header .main-visual .logo img
{
  width: auto;
  height: auto;
}

@media only screen and (max-width: 768px)
{
  header .main-visual .logo img
  {
    width: 90%;
  }
}

header .main-visual__title
{
  position: absolute;
  width: auto;
  display: inline-block;
  left: 30px;
  bottom: 20px;
  font-size: 15px;
  color: #ffffff;
}

@media only screen and (max-width: 768px)
{
  header .main-visual__title
  {
    font-size: 11px;
    left: 10px;
    bottom: 10px;
  }
}

.c-footer
{
  width: 100%;
  height: auto;
  margin-top: 100px;
}

@media only screen and (max-width: 768px)
{
  .c-footer
  {
    margin-top: 50px;
  }
}

.c-footer img
{
  width: 100%;
  height: auto;
}

.c-footer .icon-top
{
  width: 50px;
  height: 50px;
  display: inline-block;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 30px;
  position: absolute;
  cursor: pointer;
  z-index: 9999999;
  border: 3px solid #2eb6b3;
  box-sizing: border-box;
  border-radius: 25px;
  right: 30px;
  opacity: 0;
  transform: rotate(0.09deg) scale(0);
  transition-property: opacity, transform;
  transition-duration: 0.1s;
  transition: all ease 0.5s;
}

.c-footer .icon-top .iconify
{
  width: 40px;
  height: 40px;
  cursor: pointer;
  color: #2eb6b3;
}

.c-footer .icon-top:hover
{
  opacity: 0.7;
}

@media only screen and (max-width: 768px)
{
  .c-footer .icon-top
  {
    bottom: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
  }

  .c-footer .icon-top:hover
  {
    opacity: 1;
  }

  .c-footer .icon-top img
  {
    width: auto;
    height: 30px;
  }
}

.c-footer .is-top.icon-top
{
  position: fixed;
  top: auto;
  bottom: 30px;
  opacity: 1;
  transform: rotate(0deg) scale(1) translateY(0);
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}

@media only screen and (max-width: 768px)
{
  .c-footer .is-top.icon-top
  {
    bottom: 20px;
  }
}

.c-footer .is-top.is-fix
{
  position: absolute;
  top: 30px;
  bottom: auto;
}

@media only screen and (max-width: 768px)
{
  .c-footer .is-top.is-fix
  {
    top: 20px;
  }
}

.c-footer .is-hidden2.icon-top
{
  opacity: 0;
  transform: rotate(0.09deg) scale(0);
}

body
{
  margin: 0 auto;
  min-width: 1200px;
  width: 100%;
  height: auto;
  line-height: 1.5;
  text-align: center;
  display: block;
  font-weight: 500;
  font-family: ten-mincho-text, serif;
  letter-spacing: 0.1em;
  zoom: 0;
}

.sp
{
  display: none !important;
}

.l-content
{
  width: 100%;
  max-width: 1200px;
  margin: auto;
  z-index: 99;
  text-align: left;
  position: relative;
}

@media only screen and (max-width: 768px)
{
  .l-content
  {
    max-width: calc(100% - 20px);
    margin: 0px 10px;
  }
}

@media only screen and (max-width: 768px)
{
  .is-hidden
  {
    overflow: hidden;
  }
}

.wrapper
{
  overflow: hidden;
}

.l-container
{
  width: 100%;
  height: auto;
  display: inline-block;
}

@media only screen and (max-width: 768px)
{
  .l-container
  {
    margin-top: 0px;
  }
}

/*------------------------------------------------------------
	Layout sp ////////////////////////////////////////////////
------------------------------------------------------------*/
@media only screen and (max-width: 768px)
{
  body
  {
    min-width: 320px;
  }

  .pc
  {
    display: none !important;
  }

  .sp
  {
    display: block !important;
  }
}

.c-btn01
{
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
  text-align: center;
  position: relative;
  z-index: 99999999;
}

.c-btn01 a
{
  font-size: 24px;
  color: #ffffff;
  -webkit-background-clip: text;
  background: linear-gradient(90deg, #2eb6b3 50%, #37c5c2 100%);
  width: 500px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  border-radius: 5px;
  position: relative;
  transition: 0.2s ease;
  opacity: 1;
}

.c-btn01 a span
{
  font-size: 24px;
  color: #ffffff;
}

.c-btn01 a:hover
{
  opacity: 0.7;
}

@media only screen and (max-width: 768px)
{
  .c-btn01 a
  {
    font-size: 22px;
    width: 300px;
    height: 50px;
    letter-spacing: normal;
  }
}

.c-btn01 a .iconify
{
  position: absolute;
  top: calc(50% - 18px);
  right: 15px;
  height: 36px;
  width: 36px;
}

@media only screen and (max-width: 768px)
{
  .c-btn01 a .iconify
  {
    position: relative;
    top: 0px;
    right: 0px;
    height: 30px;
    width: 30px;
    margin-left: -5px;
  }
}

.c-btn01--color02 a
{
  background: #ffbb08;
  background: linear-gradient(90deg, #ffba08 50%, #ffc80a 100%);
}

.c-btn02
{
  width: 100%;
  max-width: 470px;
  height: auto;
  padding: 25px 0px;
  text-align: center;
  background: #ffffff;
  border-radius: 5px;
  display: inline-block;
  transition: 0.2s ease;
  opacity: 1;
}

.c-btn02:hover
{
  opacity: 0.7;
}

@media only screen and (max-width: 768px)
{
  .c-btn02
  {
    padding: 18px 0px;
    margin: 0 auto;
  }
}

.c-btn02 h2
{
  color: #393e41;
  font-size: 24px;
}

@media only screen and (max-width: 768px)
{
  .c-btn02 h2
  {
    font-size: 14.4px;
  }
}

.c-btn02 h3
{
  color: #2eb6b3;
  font-size: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media only screen and (max-width: 768px)
{
  .c-btn02 h3
  {
    font-size: 18px;
  }
}

.c-btn02 h3 img
{
  padding: 0px 10px;
}

@media only screen and (max-width: 768px)
{
  .c-btn02 h3 img
  {
    padding: 0px 5px;
    height: 12px;
  }

  .c-btn02 h3 img.ic-pdf
  {
    height: 15px;
  }
}

.c-btn02 a
{
  font-size: 24px;
  color: #ffffff;
  background: #2fb7b4;
  width: 500px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  border-radius: 5px;
  position: relative;
  transition: 0.2s ease;
  opacity: 1;
}

.c-btn02 a:hover
{
  opacity: 0.7;
}

.c-btn02 a .iconify
{
  position: absolute;
  top: calc(50% - 18px);
  right: 15px;
  height: 36px;
  width: 36px;
}

@media only screen and (max-width: 768px)
{
  .c-btn02 a .iconify
  {
    position: absolute;
    top: calc(50% - 15px);
    right: 10px;
    height: 30px;
    width: 30px;
  }
}

.c-btn03
{
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
  text-align: center;
  position: relative;
  z-index: 99999999;
}

.c-btn03 a
{
  font-size: 24px;
  color: #ffffff;
  -webkit-background-clip: text;
  width: 1000px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  border-radius: 50px;
  position: relative;
  transition: 0.2s ease;
  opacity: 1;
}

.c-btn03 a span
{
  font-size: 43px;
  color: #ffffff;
}

.c-btn03 a:hover
{
  opacity: 0.7;
}

@media only screen and (max-width: 768px)
{
  .c-btn03 a
  {
    font-size: 22px;
    width: 300px;
    height: 50px;
    letter-spacing: normal;
  }
}

.c-btn03 a .iconify
{
  position: absolute;
  top: calc(50% - 18px);
  right: 15px;
  height: 36px;
  width: 36px;
}

@media only screen and (max-width: 768px)
{
  .c-btn03 a .iconify
  {
    position: relative;
    top: 0px;
    right: 0px;
    height: 30px;
    width: 30px;
    margin-left: -5px;
  }
}

.c-btn03--color02 a
{
  background: #ffbb08;
  background: linear-gradient(90deg, #ffba08 50%, #ffc80a 100%);
}

.c-title01
{
  width: 100%;
  height: auto;
  position: relative;
  text-align: center;
}

.c-title01 h2, .c-title01 h3
{
  width: 100%;
  font-size: 24px;
  color: #393e41;
  height: auto;
}

@media only screen and (max-width: 768px)
{
  .c-title01 h2, .c-title01 h3
  {
    font-size: 14.4px;
    letter-spacing: 0em;
  }
}

.c-title01 h3
{
  font-size: 36px;
}

@media only screen and (max-width: 768px)
{
  .c-title01 h3
  {
    font-size: 21.6px;
  }
}

.c-title01 h3 span
{
  font-size: 46px;
  color: #2eb6b3;
  position: relative;
}

@media only screen and (max-width: 768px)
{
  .c-title01 h3 span
  {
    font-size: 27.6px;
  }
}

.c-title01 h3 span.af::after
{
  content: '';
  background: url(../img/icon/ic-title01.png) no-repeat;
  width: 15px;
  height: 15px;
  top: 2px;
  right: -10px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .c-title01 h3 span.af::after
  {
    background: url(../img/icon/ic-title01.png) no-repeat;
    background-size: 10px auto;
    width: 10px;
    height: 10px;
    top: 2px;
    right: -5px;
  }
}

.c-title01.title03
{
  width: auto;
  display: inline-block;
  position: relative;
  padding: 0px 100px;
}

@media only screen and (max-width: 768px)
{
  .c-title01.title03
  {
    padding: 0px 40px;
  }
}

.c-title01.title03::before
{
  content: '';
  background: url(../img/index/title03-ic1.png) no-repeat;
  width: 62px;
  height: 97px;
  top: 2px;
  left: 20px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .c-title01.title03::before
  {
    background: url(../img/index/title03-ic1.png) no-repeat;
    background-size: 31px auto;
    width: 31px;
    height: 97px;
    top: 2px;
    left: 0px;
    position: absolute;
  }
}

.c-title01.title03::after
{
  content: '';
  background: url(../img/index/title03-ic2.png) no-repeat;
  width: 66px;
  height: 101px;
  top: 2px;
  right: 20px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .c-title01.title03::after
  {
    background: url(../img/index/title03-ic2.png) no-repeat;
    background-size: 33px auto;
    width: 33px;
    height: 101px;
    top: 2px;
    right: 0px;
    position: absolute;
  }
}

.c-title02
{
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  position: relative;
  text-align: center;
}

.c-title02 h2
{
  width: auto;
  font-size: 24px;
  color: #ffffff;
  background: #ff9fb2;
  border-radius: 3px;
  height: auto;
  display: inline-block;
  padding: 1px 10px;
}

.c-title02 h2 span
{
  font-size: 24px;
}

@media only screen and (max-width: 768px)
{
  .c-title02 h2
  {
    width: auto;
    height: 23px;
    display: inline-block;
    font-size: 14.4px;
    border-radius: 1px;
    padding: 1px 8px;
  }

  .c-title02 h2 span
  {
    font-size: 14.4px;
  }
}

.c-title02 h3
{
  width: 100%;
  font-size: 46px;
  color: #2eb6b3;
}

@media only screen and (max-width: 768px)
{
  .c-title02 h3
  {
    font-size: 27.6px;
  }
}

.c-title04
{
  width: 100%;
  height: auto;
  position: relative;
  text-align: center;
}

.c-title04 h2
{
  width: 100%;
  font-size: 24px;
  color: #ffffff;
  border-radius: 3px;
  height: auto;
  display: inline-block;
  padding: 1px 10px;
}

@media only screen and (max-width: 768px)
{
  .c-title04 h2
  {
    font-size: 12px;
  }
}

.c-title04 h3
{
  width: auto;
  display: inline-block;
  font-size: 46px;
  color: #ffffff;
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 768px)
{
  .c-title04 h3
  {
    font-size: 23px;
  }
}

.c-title04 h3::before
{
  content: '';
  background: #ffba08;
  height: 10px;
  width: 100%;
  position: absolute;
  left: 0px;
  bottom: 5px;
  z-index: -1;
  border-radius: 5px;
}

@media only screen and (max-width: 768px)
{
  .c-title04 h3::before
  {
    height: 4px;
    bottom: 4px;
  }
}

.c-title04 h4
{
  width: 100%;
  font-size: 46px;
  color: #ffffff;
  margin-top: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media only screen and (max-width: 768px)
{
  .c-title04 h4
  {
    font-size: 23px;
  }
}

.c-title04 h4 span
{
  width: 75px;
  height: 59px;
  text-align: center;
  display: inline-block;
  font-size: 40px;
  color: #2eb6b3;
  background: url(../img/index/op6-ic-title.png) no-repeat;
}

@media only screen and (max-width: 768px)
{
  .c-title04 h4 span
  {
    font-size: 20px;
    width: 38px;
    height: 30px;
    background: url(../img/index/op6-ic-title.png) no-repeat;
    background-size: 37.5px auto;
  }
}

.c-title05
{
  width: 100%;
  height: auto;
  position: relative;
  text-align: center;
}

.c-title05 h2
{
  width: 100%;
  font-size: 24px;
  color: #2eb6b3;
  height: auto;
  display: inline-block;
}

@media only screen and (max-width: 768px)
{
  .c-title05 h2
  {
    font-size: 14.4px;
  }
}

.c-title05 h3
{
  width: auto;
  display: inline-block;
  font-size: 46px;
  color: #2eb6b3;
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 768px)
{
  .c-title05 h3
  {
    font-size: 27.6px;
  }
}

.c-title06
{
  width: auto;
  height: auto;
  display: inline-block;
  position: relative;
  text-align: center;
  padding: 20px 50px;
}

@media only screen and (max-width: 768px)
{
  .c-title06
  {
    padding: 25px 15px;
    padding-top: 18px;
    max-width: 350px;
    margin: 0 auto;
    margin-bottom: 20px;
    z-index: 1;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 768px) and (max-width: 374px)
{
  .c-title06
  {
    max-width: 95%;
  }
}

.c-title06::before
{
  content: '';
  background: url(../img/index/title6-left.png) no-repeat center left;
  width: 50px;
  height: 100%;
  top: 0;
  left: 0px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .c-title06::before
  {
    background: url(../img/index/title6-left-sp.png) no-repeat center left;
    background-size: 22px auto;
    z-index: 999;
  }
}

.c-title06::after
{
  content: '';
  background: url(../img/index/title6-right.png) no-repeat center right;
  width: 50px;
  height: 100%;
  top: 0;
  right: 0px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .c-title06::after
  {
    background: url(../img/index/title6-right-sp.png) no-repeat center right;
    background-size: 22px auto;
    z-index: 999;
  }
}

.c-title06 h2
{
  width: 100%;
  font-size: 34px;
  line-height: 1.4;
  color: #393e41;
  height: auto;
  margin-bottom: 15px;
}

@media only screen and (max-width: 768px)
{
  .c-title06 h2
  {
    font-size: 22px;
    letter-spacing: 0em;
    margin-bottom: 15px;
  }
}

@media only screen and (max-width: 768px) and (max-width: 374px)
{
  .c-title06 h2
  {
    font-size: 20px;
  }
}

.c-title06 h2 .icon
{
  top: 8px;
  right: 8px;
  position: relative;
}

@media only screen and (max-width: 768px)
{
  .c-title06 h2 .icon
  {
    top: 5px;
    right: 4px;
  }

  .c-title06 h2 .icon img
  {
    width: auto;
    height: 20px;
  }
}

.c-title06 .color
{
  font-size: 34px;
  line-height: 1.4;
  color: #393e41;
  position: relative;
  transform-style: preserve-3d;
  z-index: 1;
  -webkit-text-fill-color: #393e41 !important;
}

.c-title06 .color::after
{
  content: '';
  background: #fde973;
  width: 100%;
  height: 8px;
  position: absolute;
  z-index: -1;
  transform: translateZ(-1px);
  left: 0px;
  bottom: 6px;
}

@media only screen and (max-width: 768px)
{
  .c-title06 .color::after
  {
    height: 5px;
    bottom: 3px;
  }
}

@media only screen and (max-width: 768px)
{
  .c-title06 .color
  {
    font-size: 22px;
    letter-spacing: 0em;
  }
}

@media only screen and (max-width: 768px) and (max-width: 374px)
{
  .c-title06 .color
  {
    font-size: 20px;
  }
}

.c-title06 h3
{
  width: auto;
  font-size: 22px;
  color: #ffffff;
  background: #ff9fb2;
  border-radius: 3px;
  height: auto;
  display: inline-block;
  padding: 1px 10px;
}

@media only screen and (max-width: 768px)
{
  .c-title06 h3.title
  {
    margin-top: 5px;
    display: inline !important;
  }
}

@media only screen and (max-width: 768px) and (max-width: 767px)
{
  .c-title06 h3.title
  {
    display: inline-block !important;
  }
}

.c-title06 h3 span
{
  font-size: 22px;
}

@media only screen and (max-width: 768px)
{
  .c-title06 h3
  {
    width: auto;
    height: 23px;
    display: inline-block;
    font-size: 14.4px;
    border-radius: 1px;
    padding: 1px 8px;
  }

  .c-title06 h3 span
  {
    font-size: 14.4px;
  }
}

.c-title06 h4 img
{
  width: 290px;
  height: auto;
}

.firefox .tenmincho01
{
  color: #393e41;
  /* 文字色(Firefox以外のブラウザ用) */
  background: #393e41;
  /* 背景色(Firefox用) */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.firefox .tenmincho02
{
  color: #ffffff;
  /* 文字色(Firefox以外のブラウザ用) */
  background: #ffffff;
  /* 背景色(Firefox用) */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.firefox .tenmincho03
{
  color: #2eb6b3;
  /* 文字色(Firefox以外のブラウザ用) */
  background: #2eb6b3;
  /* 背景色(Firefox用) */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.firefox .tenmincho04
{
  color: #d92d49;
  /* 文字色(Firefox以外のブラウザ用) */
  background: #d92d49;
  /* 背景色(Firefox用) */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/*
CSSハック(以下はIE11の場合)
*/
@media all and (-ms-high-contrast: none)
{
  *::-ms-backdrop,
  .tenmincho01, .tenmincho02, .tenmincho03, .tenmincho04
  {
    background: none;
  }
}

@media only screen and (max-width: 768px)
{
  .index-op3__content .slider
  {
    width: 100%;
    height: auto;
    position: relative;
    left: 0px;
    background-size: auto 470px;
  }
}

@media only screen and (max-width: 768px)
{
  .index-op3__content .slider .slider01
  {
    width: 100% !important;
    margin-top: 10px;
    padding: 50px 0px;
    overflow: hidden;
  }
}

@media only screen and (max-width: 768px) and (max-width: 500px)
{
  .index-op3__content .slider .slider01
  {
    padding-right: calc( 50% - 91px);
    padding-left: calc(50% - 91px);
  }
}

@media only screen and (max-width: 768px)
{
  .index-op3__content .slider .slider01 .swiper-wrapper
  {
    text-align: center;
  }
}

.index-op3__content .slider .slider01 .c-card1__content
{
  width: 100%;
  height: auto;
  margin-top: 70px;
  margin-bottom: 10px;
  background: #f4f4f4;
  padding: 60px 110px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}

@media only screen and (max-width: 768px)
{
  .index-op3__content .slider .slider01 .c-card1__content
  {
    width: 100% !important;
    background: none;
    margin: 0px;
    padding: 0px;
    height: 100%;
    flex-wrap: nowrap;
  }
}

@media only screen and (max-width: 768px) and (max-width: 500px)
{
  .index-op3__content .slider .slider01 .c-card1__content
  {
    width: 182px !important;
  }
}

.index-op3__content .slider .slider01 .c-card1__content::after
{
  content: '';
  background: url(../img/index/op3-bg1-1.png) no-repeat right bottom;
  width: 100%;
  height: 395px;
  position: absolute;
  z-index: -1;
  left: 10px;
  bottom: -10px;
}

@media only screen and (max-width: 768px)
{
  .index-op3__content .slider .slider01 .c-card1__content::after
  {
    display: none;
  }
}

.index-op3__content .slider .slider01 .c-card1__content .box1
{
  width: 210px !important;
  display: inline-block;
  text-align: center;
}

@media only screen and (max-width: 768px)
{
  .index-op3__content .slider .slider01 .c-card1__content .box1
  {
    width: 100% !important;
  }
}

@media screen and (max-width: 500px)
{
  .index-op3__content .slider .slider01 .c-card1__content .box1
  {
    width: 182px !important;
  }
}

.index-op3__content .slider .slider01 .c-card1__content .box1__img
{
  width: auto;
}

.index-op3__content .slider .slider01 .c-card1__content .box1__img img
{
  display: block;
  margin: 0 auto;
}

.index-op3__content .slider .slider01 .c-card1__content .box1 p
{
  margin-top: 10px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 900;
  font-weight: 400;
  font-size: 13px;
  line-height: 22px;
}

@media screen and (max-width: 500px)
{
  .index-op3__content .slider .slider01 .c-card1__content .box1 p
  {
    font-size: 12px;
  }
}

.index-op3__content .slider .slider01 .c-card1__content .box1 h2
{
  margin-top: 5px;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 900;
  font-weight: 500;
  font-size: 18px;
}

.index-op3__content .slider .slider01 .c-card1__content .box1 h2 span
{
  padding-left: 5px;
  font-size: 16px;
}

@media only screen and (max-width: 768px)
{
  .index-op3__content .slider .slider01 .c-card1__content .box1 h2
  {
    font-size: 16px;
  }

  .index-op3__content .slider .slider01 .c-card1__content .box1 h2 span
  {
    font-size: 14px;
  }
}

.index-op3__content .slider .slider01 .btn-arrow
{
  position: relative;
  display: none;
  text-align: left;
  width: 81px;
  height: 40px;
  margin-top: 40px;
  left: 0px;
}

@media only screen and (max-width: 768px)
{
  .index-op3__content .slider .slider01 .btn-arrow
  {
    display: inline-block;
  }
}

.index-op3__content .slider .slider01 .btn-arrow .arrow
{
  border: solid #a9a9a9;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 5px;
}

.index-op3__content .slider .slider01 .btn-arrow .swiper-button-next, .index-op3__content .slider .slider01 .btn-arrow .swiper-button-prev
{
  border: 1px solid #999999;
  height: 40px;
  width: 41px;
  right: 0px;
  background-image: none;
}

.index-op3__content .slider .slider01 .btn-arrow .swiper-button-next span, .index-op3__content .slider .slider01 .btn-arrow .swiper-button-prev span
{
  top: 5px;
  left: 5px;
  position: relative;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.index-op3__content .slider .slider01 .btn-arrow .swiper-button-prev
{
  left: 0px;
  border-right: 0px;
}

.index-op3__content .slider .slider01 .btn-arrow .swiper-button-prev span
{
  left: 9px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.slider2
{
  width: 100%;
  height: auto;
  position: relative;
  left: 0px;
}

@media only screen and (max-width: 768px)
{
  .slider2
  {
    margin-top: 70px;
  }
}

.slider2 .slider01 .c-card2
{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 40px;
  padding-bottom: 20px;
}

@media only screen and (max-width: 768px)
{
  .slider2 .slider01 .c-card2
  {
    flex-wrap: nowrap;
    text-align: center;
    width: 100%;
    height: 130px;
    margin-bottom: 20px;
  }
}

.slider2 .slider01 .c-card2 .box1
{
  width: 388px;
  height: 124px;
  background: #ffffff;
  margin-top: 20px;
  text-align: center;
  position: relative;
  padding-top: 10px;
}

@media only screen and (max-width: 768px)
{
  .slider2 .slider01 .c-card2 .box1
  {
    width: 276px;
    height: 130px;
    background: url(../img/index/op5-bg1-1-sp.png) no-repeat center top;
    text-align: center;
    position: relative;
    display: flex;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
  }
}

.slider2 .slider01 .c-card2 .box1::after
{
  content: '';
  background: url(../img/index/op5-bg1-1.png) no-repeat;
  width: 100%;
  height: 124px;
  position: absolute;
  z-index: -1;
  right: -10px;
  top: 10px;
}

@media only screen and (max-width: 768px)
{
  .slider2 .slider01 .c-card2 .box1::after
  {
    display: none;
  }
}

.slider2 .slider01 .c-card2 .box1 h2
{
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 900;
  font-weight: 500;
  font-size: 19px;
  margin-top: 10px;
  color: #28a0e4;
}

@media only screen and (max-width: 768px)
{
  .slider2 .slider01 .c-card2 .box1 h2
  {
    font-size: 15px;
    width: 100%;
    margin-top: -15px;
    max-width: 100%;
    display: inline-block;
  }
}

.slider2 .slider01 .c-card2 .box1 h4
{
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 900;
  font-size: 14px;
  margin-top: 5px;
  color: #000000;
  font-weight: 500;
}

.slider2 .slider01 .c-card2 .box1 h4 span
{
  display: inline-block;
  padding-left: 5px;
  letter-spacing: 2px;
}

.slider2 .slider01 .c-card2 .box1 h4 span i
{
  color: #4bc7b3;
  font-style: normal;
  font-size: 11px;
  margin-left: 2px;
}

.slider2 .slider01 .c-card2 .box1 h4 span.dot1 i
{
  color: #e5e5e5;
}

.slider2 .slider01 .c-card2 .box1 h4 span.dot1 i:first-child
{
  color: #4bc7b3;
}

.slider2 .slider01 .c-card2 .box1 h4 span.dot2 i:last-child
{
  color: #e5e5e5;
}

@media only screen and (max-width: 768px)
{
  .slider2 .slider01 .c-card2 .box1 h4
  {
    font-size: 13px;
    width: 100%;
    margin-top: 0px;
    max-width: 220px;
    display: inline-block;
  }
}

.slider2 .slider01 .c-card2 .box1 h3
{
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 900;
  font-size: 16px;
  margin-top: 10px;
  color: #000000;
  font-weight: 500;
}

@media only screen and (max-width: 768px)
{
  .slider2 .slider01 .c-card2 .box1 h3
  {
    width: 100%;
    font-size: 14px;
  }
}

.slider2 .slider01 .btn-arrow
{
  position: relative;
  display: inline-block;
  width: 80px;
  height: 40px;
  margin: 0 auto;
  margin-top: 0px;
}

.slider2 .slider01 .btn-arrow .arrow
{
  border: solid #a9a9a9;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 5px;
}

.slider2 .slider01 .btn-arrow .swiper-button-next, .slider2 .slider01 .btn-arrow .swiper-button-prev
{
  border: 1px solid #999999;
  height: 40px;
  width: 40px;
  right: 0px;
  background-image: none;
  background: #ffffff;
  text-align: left;
}

.slider2 .slider01 .btn-arrow .swiper-button-next span, .slider2 .slider01 .btn-arrow .swiper-button-prev span
{
  top: 5px;
  left: 5px;
  position: relative;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.slider2 .slider01 .btn-arrow .swiper-button-prev
{
  left: 0px;
  border-right: 0px;
}

.slider2 .slider01 .btn-arrow .swiper-button-prev span
{
  left: 9px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.slider3
{
  width: 100%;
  height: auto;
  position: relative;
  left: 0px;
  background-size: auto 470px;
}

@media only screen and (max-width: 768px)
{
  .slider3
  {
    margin-top: 65px;
  }
}

.slider3 .slider01 .c-card3
{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 20px;
  padding-bottom: 20px;
}

@media only screen and (max-width: 768px)
{
  .slider3 .slider01 .c-card3
  {
    flex-wrap: nowrap;
  }
}

.slider3 .slider01 .c-card3 .box1
{
  width: 580px;
  height: 190px;
  background: #ffffff;
  margin-top: 20px;
  text-align: center;
  position: relative;
  padding-top: 10px;
}

@media only screen and (max-width: 768px)
{
  .slider3 .slider01 .c-card3 .box1
  {
    width: 276px;
    height: 241px;
    background: url(../img/index/op5-bg1-3-sp.png) no-repeat center top;
    text-align: center;
    position: relative;
    margin: 0px;
    padding: 0px;
  }
}

.slider3 .slider01 .c-card3 .box1::before
{
  content: '';
  background: url(../img/index/op5-bg1-2.png) no-repeat;
  width: 100%;
  height: 395px;
  position: absolute;
  z-index: 1;
  left: 0px;
  top: 0px;
}

@media only screen and (max-width: 768px)
{
  .slider3 .slider01 .c-card3 .box1::before
  {
    display: none;
  }
}

.slider3 .slider01 .c-card3 .box1::after
{
  content: '';
  background: url(../img/index/op5-bg1-3.png) no-repeat;
  width: 100%;
  height: 190px;
  position: absolute;
  z-index: -1;
  right: -10px;
  top: 10px;
}

@media only screen and (max-width: 768px)
{
  .slider3 .slider01 .c-card3 .box1::after
  {
    display: none;
  }
}

.slider3 .slider01 .c-card3 .box1 h2
{
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 900;
  font-weight: 500;
  font-size: 19px;
  margin-top: 15px;
  color: #28a0e4;
}

@media only screen and (max-width: 768px)
{
  .slider3 .slider01 .c-card3 .box1 h2
  {
    width: 100%;
    max-width: 180px;
    display: inline-block;
    font-size: 15px;
    margin-top: 25px;
  }
}

.slider3 .slider01 .c-card3 .box1 h4
{
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 900;
  font-size: 14px;
  margin-top: 5px;
  color: #000000;
  font-weight: 500;
}

.slider3 .slider01 .c-card3 .box1 h4 span
{
  display: inline-block;
  padding-left: 5px;
  letter-spacing: 2px;
}

.slider3 .slider01 .c-card3 .box1 h4 span i
{
  color: #fc9767;
  font-style: normal;
  font-size: 11px;
  margin-left: 2px;
}

@media only screen and (max-width: 768px)
{
  .slider3 .slider01 .c-card3 .box1 h4
  {
    font-size: 13px;
    width: 100%;
    margin-top: 3px;
    max-width: 100%;
    display: inline-block;
  }
}

.slider3 .slider01 .c-card3 .box1 h3
{
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 900;
  font-size: 16px;
  margin-top: 10px;
  color: #000000;
  font-weight: 500;
}

@media only screen and (max-width: 768px)
{
  .slider3 .slider01 .c-card3 .box1 h3
  {
    width: 100%;
    max-width: 100%;
    display: inline-block;
    font-size: 15px;
  }
}

.slider3 .slider01 .c-card3 .box1 p
{
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 900;
  font-size: 14px;
  margin-top: 15px;
  color: #555555;
}

@media only screen and (max-width: 768px)
{
  .slider3 .slider01 .c-card3 .box1 p
  {
    width: 100%;
    max-width: 200px;
    display: inline-block;
  }
}

.slider3 .slider01 .btn-arrow
{
  position: relative;
  display: inline-block;
  width: 80px;
  height: 40px;
  margin: 0 auto;
}

.slider3 .slider01 .btn-arrow .arrow
{
  border: solid #a9a9a9;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 5px;
}

.slider3 .slider01 .btn-arrow .swiper-button-next, .slider3 .slider01 .btn-arrow .swiper-button-prev
{
  border: 1px solid #999999;
  height: 40px;
  width: 40px;
  right: 0px;
  background-image: none;
  background: #ffffff;
  text-align: left;
}

.slider3 .slider01 .btn-arrow .swiper-button-next span, .slider3 .slider01 .btn-arrow .swiper-button-prev span
{
  top: 5px;
  left: 5px;
  position: relative;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.slider3 .slider01 .btn-arrow .swiper-button-prev
{
  left: 0px;
  border-right: 0px;
}

.slider3 .slider01 .btn-arrow .swiper-button-prev span
{
  left: 9px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.c-card3
{
  width: 100%;
  background: #ffffff;
  border-radius: 3px;
  box-shadow: 0px 1px 5px -2px #919191;
  padding: 20px;
  margin-top: 20px;
  display: flex;
  position: relative;
}

@media only screen and (max-width: 768px)
{
  .c-card3
  {
    padding: 10px;
    margin-top: 10px;
  }
}

.c-card3:first-child
{
  margin-top: 0px;
}

.c-card3__content .title
{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 18px;
}

@media only screen and (max-width: 768px)
{
  .c-card3__content .title
  {
    flex-wrap: nowrap;
  }
}

.c-card3__content .title .link
{
  width: 100%;
  max-width: 530px;
}

@media only screen and (max-width: 768px)
{
  .c-card3__content .title .link
  {
    max-width: 100%;
  }
}

.c-card3__content .title .link a
{
  width: 100%;
  display: inline-block;
  color: #4385f4;
  font-size: 18px;
  letter-spacing: 0.03em;
}

@media only screen and (max-width: 768px)
{
  .c-card3__content .title .link a
  {
    font-size: 16px;
  }
}

.c-card3__content .title .link a:nth-of-type(2)
{
  color: #00a896;
  font-size: 14px;
}

.c-card3__content .title .img
{
  width: 120px;
  height: 120px;
  border: 1px solid #dfe1e0;
  display: inline-block;
  position: absolute;
  box-sizing: border-box;
  right: 20px;
  top: 20px;
}

@media only screen and (max-width: 768px)
{
  .c-card3__content .title .img
  {
    min-width: 120px;
    min-height: 120px;
    margin-left: 15px;
    position: relative;
    right: 0px;
    top: 0px;
  }
}

.c-card3__content .title .img img
{
  width: 100%;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.c-card3__content .icon
{
  color: #212227;
  font-size: 14px;
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.c-card3__content .icon span
{
  color: #ff5666;
  font-size: 18px;
}

@media only screen and (max-width: 768px)
{
  .c-card3__content .icon span
  {
    font-size: 20px;
  }
}

.c-card3__content .icon p
{
  display: flex;
  align-items: center;
  color: #212227;
  font-size: 14px;
}

.c-card3__content .icon p span
{
  margin-top: -3px;
}

.c-card3__content .icon p:nth-of-type(2) .iconify
{
  margin-left: 18px;
  padding-right: 1px;
}

.c-card3__content .text
{
  width: 100%;
  max-width: 530px;
  margin-left: 30px;
}

@media only screen and (max-width: 768px)
{
  .c-card3__content .text
  {
    max-width: calc( 100% - 30px);
    margin-bottom: 40px;
  }
}

.c-card3__content .iconify
{
  position: relative;
  height: 20px;
  width: 20px;
  padding-right: 5px;
  color: #ffba49;
}

.c-card3__heart
{
  position: absolute;
  right: 20px;
  bottom: 15px;
  display: flex;
  cursor: pointer;
  transition: 0.4s all ease-in-out;
}

@media only screen and (max-width: 768px)
{
  .c-card3__heart
  {
    right: 10px;
    bottom: 10px;
  }
}

.c-card3__heart .iconify
{
  transition: 0.4s all ease-in-out;
  position: relative;
  height: 35px;
  width: 35px;
  color: #dfe1e0;
}

@media only screen and (max-width: 768px)
{
  .c-card3__heart .iconify
  {
    height: 30px;
    width: 30px;
  }
}

.c-card3__heart.active
{
  transition: 0.4s all ease-in-out;
}

.c-card3__heart.active .iconify
{
  transition: 0.4s all ease-in-out;
  color: #ff5666;
}

.c-card4
{
  width: 100%;
  height: auto;
  background: #ffffff;
  padding: 20px;
  box-sizing: border-box;
  border-radius: 3px;
  box-shadow: 0px 1px 5px -2px #919191;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.c-card4 h2
{
  width: 100%;
  height: auto;
  display: block;
  font-size: 18px;
  color: #212227;
  line-height: 1;
}

.c-card4 a
{
  width: calc(100%/4);
  height: auto;
  color: #4385f4;
  font-size: 14px;
  margin-top: 15px;
  letter-spacing: 0.01em;
}

@media only screen and (max-width: 768px)
{
  .c-card4 a
  {
    width: calc(100%/2);
  }
}

.c-card4 a span
{
  font-size: 13px;
  color: #212227;
}

/*------------------------------------------------------------
	Text Format
------------------------------------------------------------*/
/* text position */
.taLeft
{
  text-align: left !important;
}

.taCenter
{
  text-align: center !important;
}

.taRight
{
  text-align: right !important;
}

.vTop
{
  vertical-align: top !important;
}

.vMiddle
{
  vertical-align: middle !important;
}

/* font weight */
.fwNormal
{
  font-weight: normal !important;
}

.fwBold
{
  font-weight: bold !important;
}

/*------------------------------------------------------------
	adjustment class ※ no use frequently
------------------------------------------------------------*/
.mt0
{
  margin-top: 0 !important;
}

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

/*------------------------------------------------------------
	clearfix（float解除）
------------------------------------------------------------*/
.clearfix
{
  *zoom: 1;
}

.clearfix:after
{
  display: block;
  clear: both;
  content: "";
}

/*------------------------------------------------------------
	for tracking tag
------------------------------------------------------------*/
.trackTags
{
  display: none;
}

.e-btn1
{
  box-shadow: inset 0 0 0 2px #ffffff;
  color: #ffffff;
  transition: color 0.2s 0.06667s;
  position: relative;
}

.e-btn1::before, .e-btn1::after
{
  border: 0 solid transparent;
  box-sizing: border-box;
  content: "";
  pointer-events: none;
  position: absolute;
  width: 0;
  height: 0;
  bottom: 0;
  right: 0;
}

.e-btn1::before
{
  border-bottom-width: 2px;
  border-left-width: 2px;
}

.e-btn1::after
{
  border-top-width: 2px;
  border-right-width: 2px;
}

.e-btn1:hover
{
  color: #f10000;
}

.e-btn1:hover::before, .e-btn1:hover::after
{
  border-color: #f10000;
  transition: border-color 0s, width 0.2s, height 0.2s;
  width: 100%;
  height: 100%;
}

.e-btn1:hover::before
{
  transition-delay: 0s, 0s, 0.2s;
}

.e-btn1:hover::after
{
  transition-delay: 0s, 0.2s, 0s;
}

.e-img1
{
  overflow: hidden;
}

.e-img1 img
{
  overflow: hidden;
  height: auto;
  box-sizing: border-box;
  transform: scale(1);
  transition-duration: 0.5s;
  vertical-align: middle;
}

.e-img1 img:hover
{
  transform: scale(1.1);
}

@media only screen and (max-width: 768px)
{
  .e-img1 img:hover
  {
    transform: scale(1);
  }
}

.e-img2
{
  overflow: hidden;
}

.e-img2 img
{
  overflow: hidden;
  height: auto;
  box-sizing: border-box;
  transform: scale(1);
  transition-duration: 0.5s;
  vertical-align: middle;
}

.e-img2 img:hover
{
  transform: rotate(20deg);
}

@media only screen and (max-width: 768px)
{
  .e-img2 img:hover
  {
    transform: rotate(0);
  }
}

.e-img3
{
  overflow: hidden;
  position: relative;
}

.e-img3.active1:before
{
  -webkit-animation: img-wrap1 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  animation: img-wrap1 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@-webkit-keyframes img-wrap1
{
  100%
  {
    transform: translateX(100%);
  }
}

@keyframes img-wrap1
{
  100%
  {
    transform: translateX(100%);
  }
}

figure.e-img3.active1 img
{
  opacity: 1;
}

/*------------------------------------------------------------
=>
--------------------------------------------------------------*/
.fadeImg
{
  width: 100%;
  height: auto;
  position: relative;
  max-width: 350px;
  height: 350px;
  display: inline-block;
}

.fadeImg img
{
  position: absolute;
  width: 100%;
  height: auto;
  left: 0;
  top: 0;
}
/*------------------------------------------------------------
	autumn 01
------------------------------------------------------------*/

.noto{
font-family: noto-sans-cjk-jp, sans-serif;
font-style: normal;
font-weight: 100;
}

.autumn-op1
{
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  padding-bottom: 0px;
  padding-bottom: 145px;
  padding-top: 100px;
}
@media only screen and (max-width: 768px)
{
  .autumn-op1
  {
    padding-top: 50px;
    padding-bottom: 70px;

  }
}
.autumn-op1::before{
    content: "";
    position: absolute;
    background: url(../img/index/autumn1-bgt.png) center top no-repeat;
    top: -10px;
    width: 1050px;
    background-size: contain;
    height: 666px;
    right: calc( 50% - 525px );
    z-index: 999;
}
@media only screen and (max-width: 768px)
{
  .autumn-op1::before{
    width: 90%;
    right: 5%;
  }
}
.autumn-op1::after{
    content: "";
    position: absolute;
    background: url(../img/index/autumn1-bgb.png) center bottom no-repeat;
    bottom: -50px;
    width: 1050px;
    background-size: contain;
    height: 330px;
    right: calc( 50% - 525px );
    z-index: 9999;
}
@media only screen and (max-width: 768px)
{
  .autumn-op1::after{
    width: 90%;
    right: 5%;
    bottom: -25px;
  }
}
.autumn-op1 .caption{
    font-size: 20px;
    line-height: 40px;
}

.br2{
    margin-bottom: 10px;
    display: block;
    content: "";
}
.capimg{
    display: inline-block;
    height: 40px;
    margin-bottom: 10px;
}

@media only screen and (max-width: 768px)
{
.autumn-op1 .caption{
    width: 100%;
    margin: 0 auto;
    font-size: 16px;
    line-height: 32px;
    letter-spacing: -0.5px;
    }
    
.capimg{
    height: 32px;
}
}
.autumn-op1 .caption .line1{
    display: inline-block;
    font-size: 34px;
    line-height: 1.4;
    position: relative;
    text-decoration: none;
    background: url(../img/index/autumn1-line1.png) no-repeat 100% 100%;
    padding-bottom: 6px;
    white-space: nowrap;
    background-size: contain;
}
@media only screen and (max-width: 768px)
{
  .autumn-op1 .caption .line1{
    font-size: 24px;
  }
}
.autumn-op1 .caption .line2{
    display: inline-block;
    font-size: 34px;
    line-height: 1.4;
    position: relative;
    text-decoration: none;
    background: url(../img/index/autumn1-line2.png) no-repeat 100% 100%;
    padding-bottom: 6px;
    white-space: nowrap;
    background-size: contain;
}
@media only screen and (max-width: 768px)
{
  .autumn-op1 .caption .line2{
    font-size: 24px;
  }
}




.autumn-op2
{
  width: 100%;
  height: auto;
  display: block;
  background-color:#FBC737;
  position: relative;
  padding-bottom: 0px;
  padding-bottom: 100px;
  padding-top: 30px;
    

}

@media only screen and (max-width: 768px)
{
  .autumn-op2
  {
    padding-top: 30px;
    padding-bottom: 70px;
  }
}

.autumn-op2 .otitle{
    position: absolute;
    top:-55px;
    width:520px;
    right: calc( 50% - 260px );
    z-index: 999;
}

@media only screen and (max-width: 768px)
{
  .autumn-op2 .otitle
  {
    width: 90%;
    top: unset;
    right: 5%;
    margin: 0 auto;
  }
}

.autumn-op2 .otitle img{
    width:100%;
}
.autumn-op2 .cbox{
    background-color: #fff;
    border-radius: 10px;
    border-radius: 10px;
    width: 70%;
    margin: 0 auto;
    padding: 70px 50px;
}
@media only screen and (max-width: 768px)
{
  .autumn-op2 .cbox{
    width: 80%;
    margin: 15% auto 0;
    padding: 50px 20px 10px;
  }
}
.autumn-op2 .cbox ul{
    list-style: none;
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    justify-content:space-between;
}
@media only screen and (max-width: 768px)
{
  .autumn-op2 .cbox ul{
    flex-direction:column;
  }
}
.autumn-op2 .cbox li{
    flex-basis: auto;
    padding:5px; 
    width:33%;
    text-align: center;
}
@media only screen and (max-width: 768px)
{
  .autumn-op2 .cbox li{
    width: 100%;
    margin-bottom: 5vw;
  }
}
.autumn-op2 .cbox li img{
    width:100%;
}
.autumn-op2 .cbox .ctitle{
    font-size: 26px;   
    position: relative;
    margin: 10px auto 20px;
    text-align: center;
}
.autumn-op2 .cbox .ctitle .capimg{
    height: 26px;
    width: auto;
    margin: 0 auto;
    display: block;
}

@media only screen and (max-width: 768px)
{
.autumn-op2 .cbox .ctitle .capimg{
    height: 24px;

  }
}

.autumn-op2 .cbox .ctitle::after{
        content: "";
    background: url(../img/index/autumn2-line.png) center bottom no-repeat;
    height: 10px;
    width: 100%;
    position: absolute;
    background-size: contain;
    display: block;
    
}
.autumn-op3
{
  width: 100%;
  height: auto;
  display: block;
  background-color:#F4EDD3;
  position: relative;
  padding-bottom: 0px;
  padding-bottom: 100px;
  padding-top: 30px;
  
}

@media only screen and (max-width: 768px)
{
.autumn-op3
{
padding-bottom: 12vw;
  }
}
.autumn-op3::before{
    content: "";
    position: absolute;
    background: url(../img/index/autumn3-bgl.png) left bottom no-repeat;
    bottom: 0;
    width: 15%;
    background-size: contain;
    height: 30%;
    left: 5%;
    z-index: 999;

}
.autumn-op3::after{
    content: "";
    position: absolute;
    background: url(../img/index/autumn3-bgr.png) right bottom no-repeat;
    bottom: -50px;
    width: 20%;
    background-size: 70%;
    height: 100%;
    right: 5%;
    z-index: 999; 
}

@media only screen and (max-width: 768px)
{
  .autumn-op3::before{
    display: none;

}
.autumn-op3::after{
    background: url(../img/index/autumn3-bgr-sp.png) right bottom no-repeat;
    width: 100%;
    right: 20px;
    background-size: 80%;
    bottom: -30px;
}  
    
    
}
.autumn-op3 .otitle{
    position: absolute;
    width: 100%;
    top: -50px;
}

@media only screen and (max-width: 768px)
{
 .autumn-op3 .otitle{
    width: 100%;
    left: 0;
    top: -26px;
    }
}

.autumn-op3 .otitle img{
    width:100%;   
    max-width: 1200px;
}

.autumn-op3 .cbox {
    display: block;
    width: 70%;
    margin:200px auto 0;
    background: url(../img/index/autumn3-cbg.png) right bottom no-repeat;
    background-size: contain;
    padding-bottom: 200px;
}
@media only screen and (max-width: 768px)
{
 .autumn-op3 .cbox {
    width: 80%;
    margin:50% auto 0;
    background: none;
    padding-bottom: 0;
    }
}
.autumn-op3 .cbox .ctitle{
    width: 70%;     
}
@media only screen and (max-width: 768px)
{
 .autumn-op3 .cbox .ctitle{
    width: 100%;

    }
}

.ctitle img{
    height:120px;
    width:auto;
    
}
.autumn-op3 .cbox img{
    
}
    
@media only screen and (max-width: 768px)
{
    
    .ctitle img{
        height: 30vw;

    }

}
.autumn-op3 .cbox span{
    width: 45%;
    display: block;
    font-size: 16px;
    padding: 20px 0;
    text-align: left;
}

@media only screen and (max-width: 768px)
{
  .autumn-op3 .cbox span{
    width: 100%;
  }
  .autumn-op3 .cbg{
    display: block;
    width:100%;
    height: auto;
    padding: 0 5px;
    }
    
}
.autumn-op4
{
  width: 100%;
  height: auto;
  display: block;
  background-color:#FAF6EA;
  position: relative;
  padding-bottom: 0px;
  padding-bottom: 50px;
  padding-top: 30px;
}

.autumn-op4::before{
    content: "";
    position: absolute;
    background: url(../img/index/autumn4-bgl.png) left bottom no-repeat;
    bottom: 40px;
    width: 10%;
    background-size: contain;
    height: 30%;
    left: 10%;
    z-index: 999;
}

}
.autumn-op4::after{
    content: "";
    position: absolute;
    background: url(../img/index/autumn4-bgr.png) right bottom no-repeat;
    bottom: -50px;
    width: 20%;
    background-size: 70%;
    height: 100%;
    right: 5%;
    z-index: 999; 
}

.autumn-op4 .cbox {
    display: block;
    width: 70%;
    margin:50px auto 0;
    background: url(../img/index/autumn4-cbg.png) right bottom no-repeat;
    background-size: contain;
    padding-bottom: 200px;
}
@media only screen and (max-width: 768px)
{
.autumn-op4::before{
    background: none;
    }
 .autumn-op4 .cbox {
    width: 80%; 
    background: none;
    padding-bottom: 0; 
    margin: 0 auto;
    }
}
.autumn-op4 .cbox .ctitle{
    width:45%;    
    margin: 0 0 0 auto;      
}
.autumn-op4 .cbox img{
    
}
.autumn-op4 .cbox span{
    width: 45%;
    display: block;
    font-size: 16px;
    padding: 20px 0;
    text-align: left;
    margin: 0 0 0 auto; 
}
@media only screen and (max-width: 768px)
{
.autumn-op4 .cbox .ctitle{
    width:100%;        
}

 .autumn-op4 .cbox span{
    width: 100%; 

    }
  .autumn-op4 .cbg{
    display: block;
    width:100%;
    height: auto;
    padding: 0 5px;
    }
}


.autumn-op5
{
  width: 100%;
  height: auto;
  display: block;
  background-color:#F4EDD3;
  position: relative;
  padding-bottom: 0px;
  padding-bottom: 50px;
  padding-top: 30px;
}

.autumn-op5::before{
    content: "";
    position: absolute;
    background: url(../img/index/autumn5-bgl.png) left bottom no-repeat;
    bottom: 0;
    width: 15%;
    background-size: contain;
    height: 30%;
    left: 10%;
    z-index: 999;

}
.autumn-op5::after{
    content: "";
    position: absolute;
    background: url(../img/index/autumn5-bgr.png) right bottom no-repeat;
    bottom: 60px;
    width: 35%;
    background-size: contain;
    height: 100%;
    right: 2%;
    z-index: 999;
}


.autumn-op5 .cbox {
    display: block;
    width: 70%;
    margin:50px auto 0;
    background: url(../img/index/autumn5-cbg.png) right bottom no-repeat;
    background-size: contain;
    padding-bottom: 200px;
}

.autumn-op5 .cbox .ctitle{
    width:70%;   
}
.autumn-op5 .cbox img{

}
.autumn-op5 .cbox span{
    width: 45%;
    display: block;
    font-size: 16px;
    padding: 20px 0;
    text-align: left;
}


@media only screen and (max-width: 768px)
{
.autumn-op5::before{
    background: url(../img/index/autumn5-bgt-sp.png) top center no-repeat;
    top:  -12vw;;
    width: 90%;
    background-size: contain;
    left: 5%;
}
.autumn-op5::after{
    background: none;
}
 .autumn-op5 .cbox {
    width: 80%;
    background: none;
    padding-bottom: 0;
    margin: 0 auto;
    }
.autumn-op5 .cbox .ctitle{
    width:100%;        
}

 .autumn-op5 .cbox span{
    width: 100%; 

    }
  .autumn-op5 .cbg{
    display: block;
    width:100%;
    height: auto;
    padding: 0 5px;
    }
}
.autumn-op6
{
  width: 100%;
  height: auto;
  display: block;
  background-color:#FAF6EA;
  position: relative;
  padding-bottom: 0px;
  padding-bottom: 50px;
  padding-top: 30px;
}

.autumn-op6::before{
    content: "";
    position: absolute;
    background: url(../img/index/autumn6-bgl.png) left bottom no-repeat;
    bottom: 10%;
    width: 20%;
    background-size: contain;
    height: 30%;
    left: 10%;
    z-index: 999;

}
.autumn-op6::after{
    content: "";
    position: absolute;
    background: url(../img/index/autumn6-bgr.png) right bottom no-repeat;
    bottom: -50px;
    width: 20%;
    background-size: 70%;
    height: 100%;
    right: 2%;
    z-index: 999; 
}

.autumn-op6 .cbox {
    display: block;
    width: 70%;
    margin:50px auto 0;
    background: url(../img/index/autumn6-cbg.png) right bottom no-repeat;
    background-size: contain;
    padding-bottom: 150px;
}

.autumn-op6 .cbox .ctitle{
    width: 45%;
    margin: 0 0 0 auto;      
}
.autumn-op6 .cbox img{
    
}
.autumn-op6 .cbox span{
    width: 45%;
    display: block;
    font-size: 16px;
    padding: 20px 0;
    text-align: left;
    margin:0 0 0 auto;
}
@media only screen and (max-width: 768px)
{
.autumn-op6::before{
    background: url(../img/index/autumn6-bgt-sp.png) top center no-repeat;
    top: -9vw;
    width: 30%;
    background-size: contain;
    right: 10%;
    left: unset;
    height: unset;
}
.autumn-op6::after{
    background: none;
}
 .autumn-op6 .cbox {
    width: 80%;
    background: none;
    padding-bottom: 0;
    margin: 0 auto;
    }
.autumn-op6 .cbox .ctitle{
    width:100%;        
}

 .autumn-op6 .cbox span{
    width: 100%; 

    }
  .autumn-op6 .cbg{
    display: block;
    width:100%;
    height: auto;
    padding: 0 5px;
    }
}
.autumn-op7
{
  width: 100%;
  height: auto;
  display: block;
  background-color:#F4EDD3;
  position: relative;
  padding-bottom: 0px;
  padding-bottom: 50px;
  padding-top: 30px;
}


.autumn-op7::before{
    content: "";
    position: absolute;
    background: url(../img/index/autumn7-bgl.png) left bottom no-repeat;
    bottom: 10%;
    width: 20%;
    background-size: contain;
    height: 20%;
    left: 10%;
    z-index: 999;

}
.autumn-op7::after{
    content: "";
    position: absolute;
    background: url(../img/index/autumn7-bgr.png) right bottom no-repeat;
    bottom: 50px;
    width: 40%;
    background-size: 70%;
    height: 50%;
    right: 15%;
    z-index: 999;
}

.autumn-op7 .cbox {
    display: block;
    width: 70%;
    margin:50px auto 0;
    background: url(../img/index/autumn7-cbg.png) right bottom no-repeat;
    background-size: contain;
    padding-bottom: 200px;
}

.autumn-op7 .cbox .ctitle{
    width:70%;      
}
.autumn-op7 .cbox img{
    
}
.autumn-op7 .cbox span{
    width: 45%;
    display: block;
    font-size: 16px;
    padding: 20px 0;
    text-align: left;
}
@media only screen and (max-width: 768px)
{
    
.autumn-op7::before{
    background: url(../img/index/autumn7-bgt-sp.png) top center no-repeat;
    top: -8vw;
    width: 85%;
    background-size: contain;
    right: 5%;
    left: unset;
    height: unset;
}
.autumn-op7::after{
    background: none;
}
 .autumn-op7 .cbox {
    width: 80%;
    background: none;
    padding-bottom: 0;
    margin: 0 auto;
    }
.autumn-op7 .cbox .ctitle{
    width:100%;        
}

 .autumn-op7 .cbox span{
    width: 100%; 

    }
  .autumn-op7 .cbg{
    display: block;
    width:100%;
    height: auto;
    padding: 0 5px;
    }
}
/*------------------------------------------------------------
	spring 01
------------------------------------------------------------*/
.spring-op1
{
  width: 100%;
  height: auto;
  display: block;
  background: url(../img/index/spring1-bg.jpg) center top;
  background-size: cover;
  position: relative;
  padding-bottom: 0px;
  overflow: hidden;
  padding-bottom: 145px;
  padding-top: 100px;
}

@media only screen and (max-width: 768px)
{
  .spring-op1
  {
    padding-top: 30px;
    padding-bottom: 70px;
    background: url(../img/index/spring1-bg-sp.png) center top/cover;
  }
}

.spring-op1 .l-content
{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.spring-op1 .c-item01
{
  width: auto;
  max-width: 386px;
  margin: 0px 10px;
  margin-top: 55px;
  transition: 0.2s ease;
  opacity: 1;
}

.spring-op1 .c-item01:hover
{
  opacity: 0.7;
}

@media only screen and (max-width: 768px)
{
  .spring-op1 .c-item01
  {
    width: 301px;
    height: auto;
    margin: 0px 10px;
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 768px) and (max-width: 600px)
{
  .spring-op1 .c-item01
  {
    margin: 0px;
    margin-bottom: 30px;
  }
}

@media screen and (min-width: 769px)
{
  .spring-op1 .c-item01:nth-child(1), .spring-op1 .c-item01:nth-child(2)
  {
    max-width: 452px;
    margin: 0px 22px;
    margin-top: 55px;
  }

  .spring-op1 .c-item01:nth-child(3)
  {
    margin-left: 0px;
  }

  .spring-op1 .c-item01:last-child
  {
    margin-right: 0px;
  }
}

.spring-op1 .c-item01 .movie
{
  display: flex;
  justify-content: center;
}

@media only screen and (max-width: 768px)
{
  .spring-op1 .c-item01 .movie
  {
    flex-direction: column;
    max-width: 650px;
    margin: 0 auto;
    margin-bottom: 1em;
  }
}

.spring-op1 .c-item01 .movie .youtube-pc
{
  display: block;
  position: relative;
  overflow: hidden;
  outline: none;
}

.spring-op1 .c-item01 .movie .youtube-sp
{
  display: none;
  position: relative;
  width: 301px;
  height: 350px;
  padding: 100% 0 0 0;
}

.spring-op1 .c-item01 .movie .youtube-sp img,
      .spring-op1 .c-item01 .movie .youtube-sp iframe
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.spring-op1 .c-item01 .movie .youtube-sp.icon-off:before
{
  display: none;
}

@media screen and (min-width: 0px) and (max-width: 768px)
{
  .spring-op1 .c-item01 .movie .youtube-pc
  {
    display: none;
  }

  .spring-op1 .c-item01 .movie .youtube-sp
  {
    display: block;
  }
}

@media only screen and (max-width: 768px)
{
  .spring-op1 .c-item01 .movie .movie
  {
    flex-direction: column;
    padding: 0px 15px;
    max-width: 650px;
    margin: 0 auto;
    margin-bottom: 1em;
  }
}

.spring-op1 .c-item01 .icon
{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  padding: 0px 10px;
}

@media only screen and (max-width: 768px)
{
  .spring-op1 .c-item01 .icon img
  {
    height: 13px;
    width: auto;
  }
}

.spring-op1 .c-item01 .tag
{
  width: 100%;
  height: auto;
  padding: 0px 10px;
  margin-top: 10px;
}

@media only screen and (max-width: 768px)
{
  .spring-op1 .c-item01 .tag
  {
    margin-top: 0px;
  }
}

.spring-op1 .c-item01 .tag span
{
  font-size: 16px;
  color: #46cac3;
}

@media only screen and (max-width: 768px)
{
  .spring-op1 .c-item01 .tag span
  {
    font-size: 12px;
  }
}

.spring-op1 .btn01
{
  width: auto;
  height: auto;
  margin: 0 auto;
  margin-top: 77px;
  display: inline-block;
  position: relative;
}

@media only screen and (max-width: 768px)
{
  .spring-op1 .btn01
  {
    margin-top: 0px;
  }

  .spring-op1 .btn01 img.img_change
  {
    width: calc(314px);
    height: auto;
  }
}

.spring-op1 .btn01 a
{
  transition: 0.2s ease;
  opacity: 1;
}

.spring-op1 .btn01 a:hover
{
  opacity: 0.7;
}

#colorbox
{
  overflow: unset !important;
}

#cboxClose
{
  color: #ffffff;
  font-size: 18px;
  transform: scale(0.8, 1);
  letter-spacing: 0.3rem;
  background: unset;
  font-weight: 500;
  padding-right: 35px;
  text-transform: uppercase;
  top: -32px;
  transition: all ease-in-out 0.2s;
}

#cboxClose:hover
{
  opacity: 0.4;
}

#cboxClose::after,
#cboxClose::before
{
  position: absolute;
  right: -14px;
  content: " ";
  top: 12px;
  height: 1px;
  width: 38px;
  background-color: #ffffff;
}

#cboxClose:before
{
  transform: rotate(25deg);
}

#cboxClose:after
{
  transform: rotate(-25deg);
}

/*------------------------------------------------------------
	section 01
------------------------------------------------------------*/
.index-op1
{
  width: 100%;
  height: auto;
  display: inline-block;
  /*background-image: url(../img/index/op1-bg1r.png), url(../img/index/op1-bg1.jpg);*/
  background-image: url(../img/index/op1-bg2r.png);
  background-size: 1500px 700px; 
  background-position: bottom left;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  padding-bottom: 120px;
  padding-top: 100px;
}

@media only screen and (max-width: 768px)
{
  .index-op1
  {
    padding-top: 50px;
    background-image: url(../img/index/op1-bg2r-sp.png);
  }
}

.index-op1::before
{
  content: "";
  background: url(../img/index/op1-bg1l.png) no-repeat;
  background-size: 100% auto;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .index-op1::before
  {
    background: url(../img/index/op1-bg1l-sp.png) no-repeat;
    width: 100%;
    background-size: 100% auto;
  }
}

.index-op1::after
{
  content: "";
  background: url(../img/index/op1-bg2.png) repeat-x left bottom;
  width: 100%;
  height: 214px;
  bottom: 0;
  right: 0;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .index-op1::after
  {
    background: url(../img/index/op1-bg2-sp.png) no-repeat left bottom;
    width: 100%;
    height: 214px;
    bottom: -80px;
    right: 0;
    position: absolute;
  }
}

.index-op1 .icon
{
  width: 100%;
  height: 1px;
}

.index-op1 .icon::before
{
  content: "";
  background: url(../img/index/spring1-ic1.png) no-repeat top left;
  width: 269px;
  height: 281px;
  top: -160px;
  left: 0px;
  position: absolute;
  display:none;
}

@media only screen and (max-width: 768px)
{
  .index-op1 .icon::before
  {
    background: url(../img/index/spring1-ic1-sp.png) no-repeat top left;
    background-size: 80px auto;
    width: 80px;
    height: 80px;
    left: 15px;
    top: -64px;
    display: none;
  }
}

.index-op1 .icon::after
{
  content: "";
  background: url(../img/index/spring1-ic2.png) no-repeat top right;
  width: 122px;
  height: 121px;
  top: -90px;
  right: 50px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .index-op1 .icon::after
  {
    background: url(../img/index/spring1-ic2-sp.png) no-repeat top right;
    background-size: 62px auto;
    width: 80px;
    height: 140px;
    right: 0px;
    top: -110px;
  }
}

.index-op1 .c-title01
{
  margin-top: 0px;
}

@media only screen and (max-width: 768px)
{
  .index-op1 .c-title01
  {
    margin-top: 0px;
  }
}

.index-op1__content
{
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  z-index: 111;
}

@media only screen and (max-width: 768px)
{
  .index-op1__content
  {
    max-width: calc(100% - 40px);
    margin: 0 20px;
    margin-top: 20px;
    text-align: center;
  }
}

.index-op1__content .item01
{
  width: calc(100% / 3);
  margin-top: 25px;
  position: relative;
}

.index-op1__content .item01 img
{
  width: calc(648px / 2);
  max-width: 100%;
  height: auto;
}

@media only screen and (max-width: 768px)
{
  .index-op1__content .item01
  {
    width: 100%;
    max-width: 320px;
    height: auto;
    margin: 0 auto;
  }

  .index-op1__content .item01 img
  {
    max-width: 100%;
    height: auto;
  }
}

.index-op1__content .item01 .e-imgfade
{
  width: 100%;
  height: auto;
}

.index-op1__content .item01 .e-imgfade img
{
  max-width: 100%;
  height: auto;
}

.index-op1__content .item01.picture::before
{
  width: 70px;
  height: 80px;
  content: '';
  z-index: 99;
  right: -2px;
  top: 30px;
  background: url(../img/index/op1-icitem.png) no-repeat center/contain;
  background-size: 70px auto;
  position: absolute;
}

.index-op1__content .item01.picture:nth-child(3)::before, .index-op1__content .item01.picture:nth-child(5)::before
{
  top: 26px;
  right: -6px;
}

.index-op1__content .item01.picture:nth-child(6)::before
{
  right: -4px;
}

.index-op1__content .item01.picture:nth-child(7)::before
{
  top: 22px;
  right: 4px;
}

.index-op1__content .item01.picture:nth-child(9)::before
{
  top: 17px;
  right: 10px;
}

.index-op1 .title02
{
  font-size: 16px;
  line-height: 35px;
  width: 90%;
  margin: 30px auto 0;
  line-height: 1.5;
  display: flex;
  text-align: left;
  justify-content: center;
}

@media (min-width: 430px)
{
  .index-op1 .title02
  {
    align-items: center;
  }
}

.index-op1 .title02 span img
{
  width: 50px;
  height: auto;
}

@media only screen and (max-width: 768px)
{
  .index-op1 .title02 span img
  {
    width: 30px;
  }
}

.index-op1 .c-btn01
{
  margin-top: 50px;
}

@media only screen and (max-width: 768px)
{
  .index-op1 .c-btn01
  {
    margin-top: 30px;
  }
}

@-webkit-keyframes image01
{
  0%
  {
    opacity: 0;
  }

  50%
  {
    opacity: 1;
  }

  100%
  {
    opacity: 0;
  }
}

@keyframes image01
{
  0%
  {
    opacity: 0;
  }

  50%
  {
    opacity: 1;
  }

  100%
  {
    opacity: 0;
  }
}

/*------------------------------------------------------------
	section 02
------------------------------------------------------------*/
.index-op2
{
  width: 100%;
  height: auto;
  display: inline-block;
  background: #fff;/*#e5d3ca;*/
  position: relative;
  margin-bottom: 0;
}

@media only screen and (max-width: 768px)
{
  .index-op2
  {
    margin-top: 50px;
    padding-bottom: 100px;
    margin-bottom: -50px;
  }
}

.index-op2::before
{
  content: "";
  background: url(../img/index/op2-ic1.png) no-repeat;
  width: 273px;
  height: 273px;
  top: 30px;
  right: 0px;
  position: absolute;
  z-index: 9;
}

@media only screen and (max-width: 768px)
{
  .index-op2::before
  {
    background: url(../img/index/op2-ic1-sp.png) no-repeat right;
    top: -145px;
    right: 0px;
    z-index: 2;
  }
}

.index-op2::after
{

  content: "";
  background: url(../img/index/op2-ic2.png) no-repeat center left;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0px;
  position: absolute;

}

@media only screen and (max-width: 768px)
{
  .index-op2::after
  {
    display: none;
  }
}

.index-op2 .c-title01
{
  margin-top: 100px;
}

@media only screen and (max-width: 768px)
{
  .index-op2 .c-title01
  {
    margin-top: 50px;
  }
}

.index-op2__content
{
  width: 100%;
  height: auto;
  display: inline-block;
  margin-top: 70px;
}

.index-op2__content .card01
{
  width: 100%;
  height: auto;
  display: inline-block;
  position: relative;
  margin-bottom: 50px;
}

@media only screen and (max-width: 768px)
{
  .index-op2__content .card01
  {
    text-align: center;
    margin-bottom: 40px;
  }
}

.index-op2__content .card01__img
{
  display: block;
  width: auto;
  display: inline-block;
}

@media only screen and (max-width: 768px)
{
  .index-op2__content .card01__img
  {
    width: 300px;
    margin: 0 auto;
  }

  .index-op2__content .card01__img img
  {
    width: 300px;
    height: auto;
  }
}

.index-op2__content .card01__content
{
  width: 50%;
  height: auto;
  float: right;
  position: relative;
  display: block;
  margin-top: -200px;
  background: url(../img/index/op2-img01-ic1.png) no-repeat left top;
  padding-top: 80px;
  padding-left: 80px;
}

@media only screen and (max-width: 768px)
{
  .index-op2__content .card01__content
  {
    background: url(../img/index/op2-img01-ic1-sp.png) no-repeat left top;
    background-size: auto;
    width: 100%;
    margin-top: -60px;
    padding-top: 0px;
    padding-left: 0px;
  }
}

.index-op2__content .card01__content h2
{
  color: #2eb6b3;
  font-size: 30px;
}

@media only screen and (max-width: 768px)
{
  .index-op2__content .card01__content h2
  {
    width: 300px;
    margin: 0 auto;
    font-size: 20px;
    text-align: left;
    padding-top: 25px;
    padding-left: 10px;
    letter-spacing: normal;
  }
}

.index-op2__content .card01__content p
{
  margin-top: 25px;
  color: #393e41;
  font-size: 16px;
  line-height: 1.6;
}

@media only screen and (max-width: 768px)
{
  .index-op2__content .card01__content p
  {
    font-size: 14px;
    text-align: left;
    box-sizing: border-box;
    padding: 0px 10px;
    line-height: 1.8;
  }
}

.index-op2__content .card01.s2 .card01__img
{
  display: block;
  float: right;
}

@media only screen and (max-width: 768px)
{
  .index-op2__content .card01.s2 .card01__img
  {
    float: unset;
  }
}

.index-op2__content .card01.s2 .card01__content
{
  float: left;
  background: url(../img/index/op2-img02-ic2.png) no-repeat right top;
  margin-top: -150px;
  padding-top: 20px;
  padding-left: 0px;
  padding-right: 70px;
}

@media only screen and (max-width: 768px)
{
  .index-op2__content .card01.s2 .card01__content
  {
    background: url(../img/index/op2-img02-ic2-sp.png) no-repeat left top;
    background-size: auto;
    width: 100%;
    margin-top: -60px;
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 0px;
  }
}

/*------------------------------------------------------------
	section 03
------------------------------------------------------------*/
.index-op3
{
  width: 100%;
  height: auto;
  display: block;
  background: url(../img/index/op3-bg1.png) center top;
  position: relative;
  padding-bottom: 0px;
  overflow: hidden;
}

@media only screen and (max-width: 768px)
{
  .index-op3
  {
    overflow: unset;
    padding-bottom: 0px;
  }
}

.index-op3::before
{
  /*white*/
  content: "";
  background: url(../img/index/op3-bg2.png) no-repeat top center;
  width: 100%;
  height: 200px;
  top: -100px;
  right: 0px;
  position: absolute;
}

.index-op3::before {
  /*beige*/
  content: '';
  background: url(../img/index/op3-bg2.png) no-repeat top center;
  width: 100%;
  height: 200px;
  top: -50px;
  right: 0px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .index-op3::before
  {
    background: url(../img/index/op3-bg2-sp.png) no-repeat top right;
    width: 100%;
    height: 100px;
    top: -100px;
    right: 0px;
  }
}

.index-op3::after
{
  content: "";
  background: url(../img/index/op3-bg21.png) no-repeat bottom center;
  width: 100%;
  height: 200px;
  bottom: -100px;
  right: 0px;
  position: absolute;
  display: none;
}

@media only screen and (max-width: 768px)
{
  .index-op3::after
  {
    background: url(../img/index/op3-bg2-sp.png) no-repeat bottom right;
    width: 100%;
    height: 45px;
    bottom: -45px;
    right: 0px;
    z-index: 1;
  }
}

.index-op3 .u-ic1
{
  position: absolute;
  display: block;
  top: 10px;
  left: 130px;
}

@media only screen and (max-width: 768px)
{
  .index-op3 .u-ic1
  {
    top: -115px;
    left: 40px;
  }

  .index-op3 .u-ic1 img
  {
    width: calc(216px / 2);
    height: auto;
  }
}

.index-op3 .u-ic1.s3
{
  bottom: 120px;
  left: 80px;
  top: auto;
}

@media only screen and (max-width: 768px)
{
  .index-op3 .u-ic1.s3
  {
    bottom: -55px;
    left: calc(50% - 44px);
    z-index: 9999;
  }

  .index-op3 .u-ic1.s3 img
  {
    width: calc(176px / 2);
    height: auto;
  }
}

.index-op3 .u-ic1.s2
{
  left: auto;
  right: 80px;
  top: 30%;
}

@media only screen and (max-width: 768px)
{
  .index-op3 .u-ic1.s2
  {
    right: 50px;
    top: -130px;
  }

  .index-op3 .u-ic1.s2 img
  {
    width: calc(178px / 2);
    height: auto;
  }
}

.index-op3 .c-title01
{
  margin-top: 170px;
}

@media only screen and (max-width: 768px)
{
  .index-op3 .c-title01
  {
    margin-top: 120px;
  }
}

.index-op3__content
{
  width: 100%;
  display: inline-block;
  padding-top: 50px;
  text-align: center;
}

@media only screen and (max-width: 768px)
{
  .index-op3__content
  {
    padding-top: 30px;
  }
}

.index-op3__content .movie01
{
  overflow: hidden;
  position: relative;
  width: 54%;
  margin: 0 auto;
}

.index-op3__content .movie01 iframe
{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.index-op3__content .movie01::after
{
  padding-top: 56.25%;
  display: block;
  content: "";
}

@media only screen and (max-width: 768px)
{
  .index-op3__content .movie01
  {
    width: 100%;
  }
}

.index-op3__content .btn01
{
  margin-top: 60px;
  transition: 0.2s ease;
  opacity: 1;
}

.index-op3__content .btn01:hover
{
  opacity: 0.7;
}

@media only screen and (max-width: 768px)
{
  .index-op3__content .btn01
  {
    margin-top: 30px;
    margin-bottom: 60px;
  }

  .index-op3__content .btn01 img
  {
    width: 300px;
    height: auto;
  }
}

/*------------------------------------------------------------
	section 04
------------------------------------------------------------*/
.index-op4
{
  width: 100%;
  height: auto;
  display: inline-block;
  position: relative;
  z-index: 2;
  background: #fff;
  padding-top: 100px;
}

@media only screen and (max-width: 768px)
{
  .index-op4
  {
    padding-top: 50px;
    margin-bottom: 40px;
    padding-bottom: 50px;
  }
}

.index-op4::before
{
  content: "";
  background: url(../img/index/op4-ic1.png) no-repeat top right;
  width: 273px;
  height: 273px;
  top: -170px;
  right: 0px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .index-op4::before
  {
    content: "";
    background: url(../img/index/op4-ic1-sp.png) no-repeat top right;
    width: 145px;
    height: 273px;
    top: 250px;
    right: 0px;
    position: absolute;
  }
}

.index-op4 .icon1
{
  content: "";
  background: url(../img/index/op4-ic1.png) no-repeat top right;
  width: 273px;
  height: 273px;
  top: calc(50%);
  right: 0px;
  position: absolute;
}
@media only screen and (max-width: 768px)
{
  .index-op4 .icon1
  {
    display: none;
  }
}
/*
.index-op4::after
{
content: "";
background: url(../img/index/op3-bg4.png) no-repeat bottom center;
width: 100%;
height: 200px;
bottom: -100px;
right: 0px;
position: absolute;
}
*/
@media only screen and (max-width: 768px)
{
  .index-op4::after
  {
    background: url(../img/index/op3-bg4-sp.png) no-repeat top right;
    height: 50px;
  }
}

.index-op4 .l-content
{
  max-width: 1220px;
  padding-bottom:200px;
}

@media only screen and (max-width: 768px)
{
  .index-op4 .l-content
  {
    max-width: 100%;
    margin: 0px auto;
    padding-bottom:0;
  }
}

.index-op4__content
{
  width: 100%;
  height: auto;
  display: inline-block;
  position: relative;
  z-index: 99;
  overflow: hidden;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content
  {
    margin-top: 20px;
  }
}

.index-op4__content::before
{
  content: "";
  background: url(../img/index/op4-line1.png) repeat-y top left;
  width: 11px;
  height: 100%;
  top: 0px;
  left: 50px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content::before
  {
    content: "";
    background: url(../img/index/op4-line1-sp.png) repeat-y top left;
    width: 8px;
    height: 20000px;
    top: 0px;
    left: 20px;
    position: absolute;
    z-index: 1;
  }
}

.index-op4__content .c-box01
{
  position: relative;
  z-index: 99;
}

.index-op4__content .c-box01 .stt
{
  font-size: 24px;
  color: #ffffff;
  height: 64px;
  width: 105px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url(../img/index/op4-bgstt.png) no-repeat;
}

.index-op4__content .c-box01 .stt span
{
  font-size: 24px;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .stt
  {
    height: 38px;
    width: 61px;
    font-size: 14.4px;
    background: url(../img/index/op4-bgstt-sp.png) no-repeat;
  }

  .index-op4__content .c-box01 .stt span
  {
    font-size: 14.4px;
  }
}

.index-op4__content .c-box01 .card02
{
  padding-left: 90px;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  margin-top: 20px;
  position: relative;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .card02
  {
    flex-wrap: wrap;
    padding-left: 40px;
  }
}

.index-op4__content .c-box01 .card02.end::before
{
  content: "";
  background: #fffbf9;
  width: 11px;
  height: 100%;
  top: 20px;
  left: 50px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .card02.end::before
  {
    top: 9px;
    left: 20px;
  }
}

.index-op4__content .c-box01 .card02__text
{
  width: 100%;
  max-width: 600px;
  margin-right: 25px;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .card02__text
  {
    margin-right: 20px;
  }
}

.index-op4__content .c-box01 .card02__text.w01
{
  max-width: 500px;
}

.index-op4__content .c-box01 .card02__text.w02
{
  max-width: 680px;
}

.index-op4__content .c-box01 .card02__text .time
{
  width: 100%;
  height: auto;
  color: #2eb6b3;
  font-size: 36px;
  position: relative;
  line-height: 1;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .card02__text .time
  {
    font-size: 20px;
    margin-bottom: 10px;
  }
}

.index-op4__content .c-box01 .card02__text .time::before
{
  content: "";
  background: url(../img/index/op4-ic-title.png) no-repeat center left;
  width: 21px;
  height: 100%;
  top: 0px;
  left: -45px;
  position: absolute;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .card02__text .time::before
  {
    background: url(../img/index/op4-ic-title-sp.png) no-repeat center left;
    width: 21px;
    height: 100%;
    top: 0px;
    left: -22px;
    position: absolute;
  }
}

.index-op4__content .c-box01 .card02__text .title
{
  font-size: 24px;
  color: #393e41;
  letter-spacing: 0.01em;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .card02__text .title
  {
    font-size: 14px;
  }
}

.index-op4__content .c-box01 .card02__text .title span
{
  width: auto;
  display: inline-block;
  color: #2eb6b3;
  font-size: 36px;
  position: relative;
  letter-spacing: 0.01em;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .card02__text .title span
  {
    font-size: 22px;
  }
}

.index-op4__content .c-box01 .card02__text .title span::before
{
  content: "";
  background: #ffe7b0;
  width: calc(100% - 76px);
  left: calc(50% - (50% - 38px));
  height: 5px;
  bottom: 5px;
  position: absolute;
  z-index: -1;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .card02__text .title span::before
  {
    width: calc(100% - 40px);
    left: calc(50% - (50% - 20px));
  }
}

.index-op4__content .c-box01 .card02__text p
{
  margin-top: 5px;
  font-size: 16px;
  color: #393e41;
  line-height: 1.8;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .card02__text p
  {
    font-size: 14px;
  }
}

.index-op4__content .c-box01 .card02__img
{
  width: auto;
}

@media only screen and (max-width: 768px)
{
  .index-op4__content .c-box01 .card02__img
  {
    width: auto;
    margin: 0px 20px;
    margin-top: 15px;
  }

  .index-op4__content .c-box01 .card02__img img
  {
    width: auto;
    max-width: 100%;
    margin-left: -30px;
  }
}

.index-op4 .c-btn01
{
  width: 100%;
  padding-top: 60px;
}

@media only screen and (max-width: 768px)
{
  .index-op4 .c-btn01
  {
    padding-top: 30px;
  }
}

/*------------------------------------------------------------
	section 05
------------------------------------------------------------*/
.index-op5
{
  width: 100%;
  height: auto;
  display: block;
  background: url(../img/index/op3-bg1.png) center top;
  position: relative;
  padding-bottom: 150px;
  overflow: hidden;
}

@media only screen and (max-width: 768px)
{
  .index-op5
  {
    overflow: unset;
    padding-top: 95px;
    padding-bottom: 50px;
  }
}

.index-op5::before
{
  content: "";
  background: url(../img/index/op3-bg21.png) no-repeat top center;
  width: 100%;
  height: 200px;
  top: -50px;
  right: 0px;
  position: absolute;
  display: none;
}

@media only screen and (max-width: 768px)
{
  .index-op5::before
  {
    background: url(../img/index/op3-bg2-sp.png) no-repeat top right;
    width: 100%;
    height: 45px;
    top: -45px;
    right: 0px;
  }
}

.index-op5::after
{
  content: "";
  background: url(../img/index/op3-bg2.png) no-repeat bottom center;
  width: 100%;
  height: 200px;
  bottom: -100px;
  right: 0px;
  position: absolute;
  display: none;
}

@media only screen and (max-width: 768px)
{
  .index-op5::after
  {
    background: url(../img/index/op3-bg2-sp.png) no-repeat bottom center;
    width: 100%;
    height: 45px;
    bottom: -45px;
    right: 0px;
    z-index: 1;
  }
}

.index-op5 .u-ic1
{
  position: absolute;
  z-index: 999;
  display: block;
  top: 60px;
  left: 130px;
}

@media only screen and (max-width: 768px)
{
  .index-op5 .u-ic1
  {
    left: 0px;
    z-index: unset;
    top: -15px;
  }
}

.index-op5 .u-ic1.s2
{
  left: auto;
  right: 80px;
  top: 0px;
}

.index-op5 .c-title01
{
  margin-top: 160px;
}

@media only screen and (max-width: 768px)
{
  .index-op5 .c-title01
  {
    margin-top: 50px;
  }
}

.index-op5 .l-content
{
  text-align: center;
}

.index-op5__content
{
  width: 100%;
  max-width: 960px;
  height: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
  margin-top: 50px;
}

@media only screen and (max-width: 768px)
{
  .index-op5__content
  {
    max-width: 500px;
    margin-top: 10px;
  }

  .index-op5__content .c-btn02
  {
    margin-top: 20px;
    max-width: 300px;
  }
}

/*------------------------------------------------------------
	section 06
------------------------------------------------------------*/
.index-op6
{
  width: 100%;
  height: auto;
  display: block;
  background: url(../img/index/op6-bg1.png) no-repeat center top;
  position: relative;
  padding-top: 120px;
  padding-bottom: 130px;
  overflow: hidden;
}


@media only screen and (max-width: 768px)
{
  .index-op6
  {
    padding-top: 120px;
    padding-bottom: 60px;
    background: url(../img/index/op6-bg2-sp.png) repeat-y center top;
  }

  .index-op6 .l-content
  {
    max-width: 100%;
    margin: 0 auto;
  }
}

.index-op6::before
{
  content: "";
  background: url(../img/index/op3-bg1.png) repeat-x top center;
  width: 100%;
  height: 200px;
  top: -50px;
  right: 0px;
  position: absolute;
  z-index: -1;
}


@media only screen and (max-width: 768px)
{
  .index-op6::before
  {
    background: url(../img/index/op3-bg2-sp.png) no-repeat bottom right;
    width: 100%;
    height: 45px;
    top: 0px;
    right: 0px;
    z-index: 1;
  }
}

.index-op6::after
{
  content: "";
  background: url(../img/index/op7-bg1.png) repeat-x bottom center;
  background-size: 100% auto;
  width: 100%;
  height: 110px;
  bottom: 0px;
  right: 0px;
  position: absolute;
  z-index: 1;
}

.index-op6 .c-title04
{
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px)
{
  .index-op6 .c-title04
  {
    margin-bottom: 20px;
  }
}

.index-op6__content
{
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 15px;
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 768px)
{
  .index-op6__content .item01
  {
    width: 100%;
    text-align: center;
  }

  .index-op6__content .item01 img
  {
    width: calc(624px / 2);
    height: auto;
  }
}

.index-op6__content .item01:nth-child(5), .index-op6__content .item01:nth-child(6)
{
  margin-top: -25px;
}

@media only screen and (max-width: 768px)
{
  .index-op6__content .item01:nth-child(5), .index-op6__content .item01:nth-child(6)
  {
    margin-top: 0px;
  }
}

.index-op6 .c-btn01
{
  margin-top: 80px;
}

@media only screen and (max-width: 768px)
{
  .index-op6 .c-btn01
  {
    margin-top: 30px;
  }
}

/*------------------------------------------------------------
	section 07
------------------------------------------------------------*/
.index-op7
{
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  overflow: hidden;
}

.index-op7 .c-title05
{
  margin-top: 50px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 768px)
{
  .index-op7 .c-title05
  {
    margin-top: 80px;
  }
}

.index-op7 .maps iframe
{
  width: 100%;
  height: 450px;
}

.index-op7 .maps img
{
  width: 100%;
}

.index-op7 .title01
{
  width: 100%;
  text-align: center;
  color: #393e41;
  font-size: 30px;
  margin-top: 60px;
  margin-bottom: 50px;
}

@media only screen and (max-width: 768px)
{
  .index-op7 .title01
  {
    font-size: 18px;
    margin-top: 30px;
    margin-bottom: 20px;
  }
}

.index-op7 .c-btn01
{
  margin-top: 80px;
}

@media only screen and (max-width: 768px)
{
  .index-op7 .c-btn01
  {
    margin-top: 40px;
  }
}

/* total width */
body::-webkit-scrollbar
{
  background-color: rgba(222, 222, 222, 0.75);
  width: 9px;
  height: 9px;
}

/* background of the scrollbar except button or resizer */
body::-webkit-scrollbar-track
{
  background-color: rgba(222, 222, 222, 0.75);
}

/* scrollbar itself */
body::-webkit-scrollbar-thumb
{
  background: rgba(0, 0, 0, 0.5);
  border-radius: 8px;
  border: 0px solid #f1f1f1;
}

/* set button(top and bottom of the scrollbar) */
body::-webkit-scrollbar-button
{
  display: none;
}
