@charset "UTF-8";
/* --------------------------------------------------------------------------------------
 base
--------------------------------------------------------------------------------------- */
a[href^="tel:"] {
  pointer-events: none; }

a[href^="tel:"]:link, a[href^="tel:"]:visited {
  color: #000;
  text-decoration: none; }

a[href^="tel:"]:hover, a[href^="tel:"]:active {
  color: #000;
  text-decoration: none; }

html, body {
  font-size: 15px; }
  @media (max-width: 756px) {
    html, body {
      font-size: 3.8vw; } }

body {
  color: #000;
  font-family: 'Century Gothic', 'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2;
  text-align: center;
  background: #fff;
  -webkit-text-size-adjust: none; }

input, textarea, select {
  font-size: 100%; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 400; }

b, strong, fontBold {
  font-weight: 700; }

/* reset ------------------------------ */
body, div,
h1, h2, h3, h4, h5, h6,
dl, dt, dd, ul, ol, li, figure,
p, blockquote, pre, cite, code, caption,
header, footer, section,
tr, th, td,
form, fieldset, legend, input, textarea, select, option, label {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

img, table {
  border: none; }

img {
  vertical-align: bottom; }

table {
  border-collapse: collapse; }

ul, ol {
  list-style: none; }

li img,
dt img {
  vertical-align: bottom; }

/* textlink ------------------------------ */
a,
a img {
  transition: all .3s; }

a {
  color: #253865;
  text-decoration: none; }

a:hover,
a:hover img,
input[type="submit"]:hover,
input[type="image"]:hover {
  opacity: 0.7; }

/* --------------------------------------------------------------------------------------
 float
--------------------------------------------------------------------------------------- */
.clearfix::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

/*margin
-----------------------------------------------*/
.bot005px {
  margin-bottom: 5px !important; }

.bot010px {
  margin-bottom: 10px !important; }

.bot015px {
  margin-bottom: 15px !important; }

.bot020px {
  margin-bottom: 20px !important; }

.bot025px {
  margin-bottom: 25px !important; }

.bot030px {
  margin-bottom: 30px !important; }

.bot035px {
  margin-bottom: 35px !important; }

.bot040px {
  margin-bottom: 40px !important; }

.bot045px {
  margin-bottom: 45px !important; }

.bot050px {
  margin-bottom: 50px !important; }

.bot060px {
  margin-bottom: 60px !important; }

.bot070px {
  margin-bottom: 70px !important; }

.bot100px {
  margin-bottom: 100px !important; }

/*align
-----------------------------------------------*/
.alright {
  text-align: right !important; }

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

.alleft {
  text-align: left !important; }

/* FOR smartphone landscape
***************************************************************************/
@media screen and (max-width: 756px) {
  a[href^="tel:"] {
    pointer-events: auto; }

  a:hover img,
  input[type="submit"]:hover,
  input[type="image"]:hover {
    opacity: 1;
    filter: alpha(opacity=100); } }
.forpc {
  display: block; }

.forsp {
  display: none; }

.forpcinline {
  display: inline; }

.forspinline {
  display: none; }

html, body {
  position: relative; }

body {
  background: #FAF6EE; }
  body.fixed {
    width: 100%;
    height: 100%;
    position: fixed; }

#header {
  width: 100%;
  background: #FAF6EE;
  padding: 20px 0 30px;
  position: sticky;
  top: 0;
  z-index: 3; }
  #header header {
    width: 100%;
    z-index: 2;
    display: flex;
    align-items: flex-end; }
    #header header .logo {
      width: 64px;
      margin-right: auto; }
    #header header #gnavi > ul {
      display: flex; }
      #header header #gnavi > ul > li {
        font-size: 1.2rem;
        font-weight: 700;
        margin: 0 10px; }
        #header header #gnavi > ul > li a, #header header #gnavi > ul > li span {
          color: #000;
          text-decoration: none;
          transition: none; }
          #header header #gnavi > ul > li a:hover, #header header #gnavi > ul > li span:hover {
            border-bottom: solid 2px #000; }
        #header header #gnavi > ul > li.hasChild {
          position: relative; }
          #header header #gnavi > ul > li.hasChild > a, #header header #gnavi > ul > li.hasChild > span {
            padding-right: 1.3rem;
            position: relative; }
            #header header #gnavi > ul > li.hasChild > a::after, #header header #gnavi > ul > li.hasChild > span::after {
              content: "﹀";
              font-size: 60%;
              font-weight: 400;
              position: absolute;
              top: .5rem;
              right: 0; }
          #header header #gnavi > ul > li.hasChild ul {
            background: rgba(240, 230, 210, 0.75);
            border: solid 1px #fff;
            border-radius: 10px;
            padding: 15px 15px 5px;
            position: absolute;
            top: 100%;
            right: 0;
            transition: all .3s;
            transform: scaleY(0);
            transform-origin: center top; }
            #header header #gnavi > ul > li.hasChild ul.child1 {
              width: 180px; }
            #header header #gnavi > ul > li.hasChild ul.child2 {
              width: 320px; }
            #header header #gnavi > ul > li.hasChild ul.child3 {
              width: 180px; }
            #header header #gnavi > ul > li.hasChild ul li {
              font-size: 1.13rem;
              margin-bottom: 5px; }
          #header header #gnavi > ul > li.hasChild:hover ul {
            transform: scaleY(1); }
    #header header .btn a {
      color: #fff;
      font-size: .867rem;
      border-radius: 6px;
      text-decoration: none;
      background: #000;
      margin-left: 30px;
      padding: 8px 20px; }
    #header header .btn2 a {
      color: #000;
      font-size: .867rem;
      border-radius: 6px;
      text-decoration: none;
      background: #f9d200;
      margin-left: 15px;
      padding: 8px 20px; }
    #header header #menuBtn {
      display: none; }

footer {
  color: #fff;
  background: #666;
  padding: 100px 0 30px; }
  footer a {
    color: #fff;
    text-decoration: none; }
  footer .fsitemap {
    display: flex;
    justify-content: space-around; }
    footer .fsitemap dl dt {
      font-size: 1.4rem;
      border-bottom: solid 2px #fff;
      margin-bottom: 15px;
      padding-bottom: 5px; }
    footer .fsitemap dl dd {
      font-size: .867rem; }
      footer .fsitemap dl dd a {
        padding-left: 20px;
        position: relative; }
        footer .fsitemap dl dd a::before {
          content: "";
          width: 8px;
          height: 8px;
          border-top: solid 2px #fff;
          border-right: solid 2px #fff;
          position: absolute;
          top: 4px;
          left: 0;
          transform: rotate(45deg); }
      footer .fsitemap dl dd ul li {
        margin-left: 40px; }
        footer .fsitemap dl dd ul li a {
          padding-left: 0; }
          footer .fsitemap dl dd ul li a::before {
            content: none; }
  footer .logo {
    margin-top: 60px;
    text-align: right; }
    footer .logo img {
      width: 228px; }
  footer .copyright {
    text-align: center;
    border-top: solid 1px #fff;
    margin-top: 20px;
    padding-top: 30px; }

.disclist li {
  list-style: disc;
  margin-left: 20px; }

.indent-1 {
  text-indent: -1em;
  padding-left: 1em; }

.linkarea,
.linkarea a {
  position: relative;
  transition: all .3s; }

.linkarea a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  font-size: 0;
  text-indent: -9999px;
  overflow: visible;
  z-index: 999; }

.linkarea:hover {
  opacity: .7; }

/* ----------- jq効果 --------- */
.fadeIn {
  transition: .8s;
  opacity: 0;
  transform: translate(0, 60px); }

.fadeIn.active {
  opacity: 1.0;
  transform: translate(0, 0); }

.blur {
  filter: blur(5px);
  opacity: 0;
  transition: .8s; }

.blur.active {
  opacity: 1;
  filter: blur(0); }

.delay1 {
  transition-delay: .2s; }

.delay2 {
  transition-delay: .4s; }

.delay3 {
  transition-delay: .6s; }

@media screen and (max-width: 756px) {
  .forpc {
    display: none; }

  .forsp {
    display: block; }

  .forpcinline {
    display: none; }

  .forspinline {
    display: inline; }

  img {
    width: 100%; }

  #header {
    padding: 0; }
    #header header {
      display: block;
      position: relative;
      padding: 4vw 0; }
      #header header .logo {
        width: 20vw; }
      #header header #gnavi {
        width: 92vw;
        background: #fff;
        border-radius: 6px;
        padding: 4vw 4vw 10vw;
        display: block;
        position: absolute;
        top: 22vw;
        left: 0;
        box-sizing: border-box;
        display: none;
        z-index: 10; }
        #header header #gnavi ul {
          display: block; }
          #header header #gnavi ul li {
            font-size: 1.2rem;
            font-weight: 700;
            margin: 0;
            position: relative; }
            #header header #gnavi ul li a {
              display: block;
              border-bottom: dotted 2px #333;
              padding: 1vw 0;
              position: relative; }
              #header header #gnavi ul li a::before {
                content: "";
                width: 6px;
                height: 6px;
                border-top: solid 2px #333;
                border-right: solid 2px #333;
                position: absolute;
                top: calc(3vw + 6px);
                right: 6px;
                transform: rotate(45deg); }
            #header header #gnavi ul li.hasChild a {
              padding: 1vw 0;
              position: relative; }
              #header header #gnavi ul li.hasChild a::after {
                content: none; }
            #header header #gnavi ul li.hasChild ul {
              height: 0;
              background: #f0e6d2;
              border: none;
              border-radius: 0;
              width: 100%;
              position: static;
              top: 100%;
              right: 0;
              transition: all .3s;
              transform: scaleY(0);
              transform-origin: center top; }
              #header header #gnavi ul li.hasChild ul.child1 {
                width: 100%; }
              #header header #gnavi ul li.hasChild ul.child2 {
                width: 100%; }
              #header header #gnavi ul li.hasChild ul.child3 {
                width: 100%; }
              #header header #gnavi ul li.hasChild ul li {
                font-size: 1.13rem;
                margin-bottom: 5px; }
            #header header #gnavi ul li.hasChild:hover ul {
              height: auto;
              transform: scaleY(1); }
      #header header .btns {
        display: flex;
        justify-content: center;
        text-align: center;
        margin: 5vw 0 0; }
        #header header .btns > div {
          margin: 0 2.5vw; }
        #header header .btns a {
          margin: 0; }
      #header header #menuBtn {
        width: 36px;
        height: 28px;
        display: block;
        position: absolute;
        top: 6vw;
        right: 4vw;
        cursor: pointer; }
        #header header #menuBtn span {
          width: 100%;
          height: 4px;
          background-color: #000;
          border-radius: 4px;
          display: inline-block;
          transition: all .3s;
          position: absolute;
          left: 0; }
          #header header #menuBtn span:nth-of-type(1) {
            top: 0; }
          #header header #menuBtn span:nth-of-type(2) {
            top: 12px; }
          #header header #menuBtn span:nth-of-type(3) {
            bottom: 0; }
      #header header #menuBtn.active span:nth-of-type(1) {
        transform: translateY(12px) rotate(-45deg); }
      #header header #menuBtn.active span:nth-of-type(2) {
        opacity: 0; }
      #header header #menuBtn.active span:nth-of-type(3) {
        transform: translateY(-12px) rotate(45deg); }

  footer {
    padding: 15vw 0 6vw; }
    footer .fsitemap {
      display: block; }
      footer .fsitemap dl {
        margin-right: 0; }
        footer .fsitemap dl dt {
          font-size: 1.25rem;
          margin-top: 5vw; }
    footer .logo {
      margin-top: 6vw;
      text-align: center; }
      footer .logo img {
        width: 60vw; }
    footer .copyright {
      margin-top: 6vw;
      padding-top: 3vw; } }
/* ----------------------- form -------------- */
input[type="text"],
input[type="date"],
input[type="email"],
textarea {
  width: 100%;
  background: #fff;
  border: solid 1px #929292;
  padding: 10px; }

textarea {
  height: 100px; }

input[type="submit"] {
  -webkit-appearance: none;
  color: #fff;
  border: none;
  border-radius: 50vh;
  box-shadow: none;
  background: #253865;
  margin: 0 auto 15px;
  padding: 10px 100px;
  display: block; }

input[type="submit"][name="submitBack"] {
  font-size: .9375rem;
  color: #000;
  text-align: center;
  text-decoration: underline;
  border-radius: 0;
  background: transparent;
  padding: 0;
  cursor: pointer; }

input.sizeS {
  width: 200px; }

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0; }

@media screen and (max-width: 756px) {
  input[type="submit"] {
    width: 100%;
    margin: 0 0 15px;
    padding: 10px 0; }

  input[type="submit"][name="submitBack"] {
    width: 100%; } }
.slider {
  overflow: hidden; }
  .slider .slide {
    width: 332px;
    text-align: center;
    padding: 0 10px; }
    .slider .slide figure {
      margin-bottom: 5px; }
      .slider .slide figure img {
        width: 312px;
        height: 210px;
        object-fit: cover; }
    .slider .slide .title {
      font-size: 1rem !important;
      font-weight: 400 !important;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      margin-bottom: 0 !important; }

.sec {
  background: #fff;
  padding: 100px 0; }
  .sec.sec-pink {
    background: #FAF6EE; }
  .sec.sec-gray {
    background: #E6E6E6; }
  .sec.sec-green {
    background: #95A283; }

.subContents {
  width: 1000px;
  text-align: left;
  margin: 0 auto;
  position: relative; }
  @media (max-width: 756px) {
    .subContents {
      width: 100vw;
      padding: 0 4vw; } }

.h-type01 {
  font-size: 1.9375rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
  position: relative; }
  .h-type01 span {
    position: relative;
    z-index: 2; }

.ytwrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .ytwrap iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%; }

/* 矢印つきのボタン */
.b-type01 {
  width: 160px;
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  background: #000;
  border: solid 1px #000;
  border-radius: 50vh;
  padding: 10px 10px;
  display: inline-block; }
  .b-type01 span {
    padding-right: 25px;
    position: relative; }
    .b-type01 span::before {
      content: "";
      width: 15px;
      height: 6px;
      background: url(../images/common/s_arrow_01.svg) no-repeat left center/100% auto;
      position: absolute;
      top: calc(50% - .2rem);
      right: 0; }
  .b-type01:hover {
    color: #000;
    background: #fff;
    opacity: 1; }
    .b-type01:hover span::before {
      background-image: url(../images/common/s_arrow_01-bk.svg); }

/* 矢印なしのボタン */
.b-type02 {
  width: 160px;
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  background: #000;
  border-radius: 50vh;
  padding: 10px 10px;
  display: inline-block; }

@media screen and (max-width: 756px) {
  .sec {
    padding: 10vw 0; }
    .sec:first-of-type {
      padding-top: 0; }

  .h-type01 {
    font-size: 1.5rem;
    margin-bottom: 5vw;
    padding-top: 6.5vw; }
    .h-type01 span {
      background: #fff;
      padding: 0 1em; } }
#toBlog {
  margin: 0 auto; }
  #toBlog h2 {
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    margin: 0 0 25px; }
  #toBlog ul {
    width: 944px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    #toBlog ul li {
      width: 306px; }

@media screen and (max-width: 756px) {
  #toBlog {
    width: 100%; }
    #toBlog ul {
      width: 92vw; }
      #toBlog ul li {
        width: 32%; } }
span.marudlite, span.marulite, span.batsulite,
span.marudpro, span.marupro, span.batsupro {
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  display: inline-block; }

span.marudlite {
  background-image: url(../images/common/marud_lite.svg); }

span.marulite {
  background-image: url(../images/common/maru_lite.svg); }

span.batsulite {
  background-image: url(../images/common/batsu_lite.svg); }

span.marudpro {
  background-image: url(../images/common/marud_pro.svg); }

span.marupro {
  background-image: url(../images/common/maru_pro.svg); }

span.batsupro {
  background-image: url(../images/common/batsu_pro.svg); }

@media screen and (max-width: 756px) {
  span.marudlite, span.marulite, span.batsulite,
  span.marudpro, span.marupro, span.batsupro {
    width: 4vw;
    height: 4vw; } }
/* ------------------- フォームのスタイル --------- */
#form h2 {
  color: #253865;
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 30px; }
#form .midashi1 {
  color: #253865;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 10px; }
#form .required {
  color: #fff;
  font-size: .8rem;
  background: #253865;
  padding: 2px 10px; }
#form .wrapper {
  margin: 0 100px; }
  #form .wrapper .con1 {
    /*			.shuruiSelect {
    				border-bottom: solid 1px #999;
    				margin-bottom: 20px;
    				padding-bottom: 20px;
    				> span.mwform-checkbox-field {
    					background: #E6E6E6;
    					margin-top: 15px;
    					padding: 15px 20px;
    				}
    			}
    			.midashi2 {
    				font-weight: $fw-bold;
    				margin: 15px 0 5px;
    				&::before {
    					content: "■ ";
    				}
    			}
    			.inner {
    				margin: 0 0 0 30px;
    			}
    			input[type="checkbox"],
    			input[type="radio"] {
    				display: none;
    			}
    			input[type="checkbox"] + span {
    				font-size: 1.2rem;
    				padding-left: 35px;
    				position: relative;
    				&::before {
    					content: "";
    					width: 24px;
    					height: 24px;
    					background: #fff;
    					position: absolute;
    					top: 0;
    					left: 0;
    				}
    			}
    			input[type="checkbox"]:checked  + span {
    				&::after {
    					content: "";
    					width: 6px;
    					height: 16px;
    					border-right: solid 4px $color-navy;
    					border-bottom: solid 4px $color-navy;
    					position: absolute;
    					top: 0;
    					left: 10px;
    					transform: rotate(45deg);
    				}
    			}
    			input[type="radio"] + span {
    				font-size: 1.2rem;
    				padding-left: 35px;
    				position: relative;
    				&::before {
    					content: "";
    					width: 23px;
    					height: 23px;
    					background: #fff;
    					border: solid 1px $color-navy;
    					border-radius: 50%;
    					position: absolute;
    					top: 0;
    					left: 0;
    				}
    			}
    			input[type="radio"]:checked  + span {
    				&::after {
    					content: "";
    					width: 12px;
    					height: 12px;
    					background: $color-navy;
    					border-radius: 50%;
    					position: absolute;
    					top: 6px;
    					left: 6px;
    				}
    			}
    */ }
    #form .wrapper .con1 .freeban {
      margin: 5px 0 0 0; }
    #form .wrapper .con1 .btn {
      text-align: center; }
      #form .wrapper .con1 .btn .b-type02 {
        width: 270px;
        color: #000;
        background: #fff;
        border: solid 1px #000; }
    #form .wrapper .con1 .bg {
      background: #E6E6E6;
      margin-top: 15px;
      padding: 15px 20px; }
      #form .wrapper .con1 .bg .inner {
        margin-left: 35px; }
      #form .wrapper .con1 .bg input[type="checkbox"],
      #form .wrapper .con1 .bg input[type="radio"] {
        display: none; }
      #form .wrapper .con1 .bg input[type="checkbox"] + span {
        font-size: 1.2rem;
        padding-left: 35px;
        position: relative; }
        #form .wrapper .con1 .bg input[type="checkbox"] + span::before {
          content: "";
          width: 24px;
          height: 24px;
          background: #fff;
          position: absolute;
          top: 0;
          left: 0; }
      #form .wrapper .con1 .bg input[type="checkbox"]:checked + span::after {
        content: "";
        width: 6px;
        height: 16px;
        border-right: solid 4px #253865;
        border-bottom: solid 4px #253865;
        position: absolute;
        top: 0;
        left: 10px;
        transform: rotate(45deg); }
      #form .wrapper .con1 .bg input[type="radio"] + span {
        font-size: 1.2rem;
        padding-left: 35px;
        position: relative; }
        #form .wrapper .con1 .bg input[type="radio"] + span::before {
          content: "";
          width: 24px;
          height: 24px;
          background: #fff;
          border-radius: 50%;
          position: absolute;
          top: 0;
          left: 0; }
      #form .wrapper .con1 .bg input[type="radio"]:checked + span::after {
        content: "";
        width: 12px;
        height: 12px;
        background: #253865;
        border-radius: 50%;
        position: absolute;
        top: 6px;
        left: 6px; }
  #form .wrapper .con2 {
    margin-top: 50px;
    position: relative; }
    #form .wrapper .con2 .chui {
      font-weight: bold;
      text-align: right;
      position: absolute;
      top: 0;
      right: 0; }
    #form .wrapper .con2 table {
      font-size: 1.2rem;
      width: calc(100% - 60px);
      margin: 0 30px 40px; }
      #form .wrapper .con2 table th {
        font-weight: 700;
        text-align: left;
        vertical-align: top;
        width: 220px;
        padding: 10px 0;
        position: relative; }
        #form .wrapper .con2 table th span {
          position: absolute;
          top: 15px;
          right: 10px; }
      #form .wrapper .con2 table td {
        padding: 10px 0 0 30px; }
    #form .wrapper .con2 .agree {
      width: 440px;
      margin: 0 auto; }
      #form .wrapper .con2 .agree a {
        text-decoration: underline; }
  #form .wrapper .btn {
    text-align: center;
    margin-top: 60px; }

@media screen and (max-width: 756px) {
  #form h2 {
    font-size: 1.6rem;
    margin: 0 0 4vw; }
  #form .midashi1 {
    font-size: 1.1rem; }
  #form .wrapper {
    margin: 0; }
    #form .wrapper .con1 .bg {
      margin-top: 5vw;
      padding: 4vw; }
    #form .wrapper .con2 {
      margin-top: 6vw;
      position: relative; }
      #form .wrapper .con2 .chui {
        font-size: .85rem;
        text-align: left;
        position: static;
        margin: -2vw 0 4vw; }
      #form .wrapper .con2 table {
        width: 100%;
        font-size: 1.1rem;
        margin: 0 0 6vw; }
        #form .wrapper .con2 table th {
          width: 100%;
          padding: 10px 0 5px;
          display: block; }
        #form .wrapper .con2 table td {
          width: 100%;
          display: block;
          padding: 0; }
      #form .wrapper .con2 .agree {
        width: 100%; }
    #form .wrapper .btn {
      width: 100%;
      margin: 6vw 0 0; } }
/* --------------------------- 検索ボックス ----- */
#search {
  background: #000;
  padding: 10px 0; }
  #search .search_container {
    width: 260px;
    height: 2.3em;
    background: #fff;
    border: 1px solid #999;
    display: block;
    padding: 3px 10px;
    border-radius: 5px;
    overflow: hidden;
    margin-left: auto;
    position: relative; }
    #search .search_container input[type="text"] {
      width: 220px;
      border: none;
      height: 2.0em; }
      #search .search_container input[type="text"]:focus {
        outline: 0; }
    #search .search_container input[type="submit"] {
      cursor: pointer;
      font-family: FontAwesome;
      font-size: 1.3em;
      border: none;
      background: none;
      color: #000;
      position: absolute;
      width: 2.5em;
      height: 2.5em;
      right: 0;
      top: -10px;
      outline: none;
      padding: 0; }
  #search .snss {
    display: none; }

body.blog #search .subContents {
  display: flex;
  justify-content: flex-end; }
  body.blog #search .subContents .snss {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 0 10px; }
    body.blog #search .subContents .snss li {
      width: 24px;
      margin: 0 0 0 15px; }

@media screen and (max-width: 756px) {
  body.blog #search .subContents .snss li {
    width: 24px;
    margin: 0 0 0 10px; } }
body.contact-thanks #form .wrapper,
body.free_apply-thanks #form .wrapper {
  text-align: center; }

body.toppage #mainv {
  height: 600px;
  background: url(../images/toppage/mainv_p_01.jpg) no-repeat center top; }
  body.toppage #mainv .subContents {
    height: 600px;
    position: relative; }
    body.toppage #mainv .subContents > div {
      color: #fff;
      width: calc(4.13rem * 13);
      position: absolute;
      left: 50%;
      bottom: 50px;
      transform: translateX(-50%); }
      body.toppage #mainv .subContents > div .text1 {
        font-size: 1.2rem;
        text-align: right;
        letter-spacing: 3px;
        line-height: 1.75; }
        body.toppage #mainv .subContents > div .text1 .en {
          font-family: "Century Gothic"; }
      body.toppage #mainv .subContents > div .maincopy {
        font-size: 4.13rem;
        font-weight: 700;
        line-height: 1.4; }
      body.toppage #mainv .subContents > div .text2 {
        font-size: 1.067rem;
        letter-spacing: 3px;
        text-align: right; }
      body.toppage #mainv .subContents > div .btns {
        margin-top: 20px;
        display: flex;
        justify-content: flex-end; }
        body.toppage #mainv .subContents > div .btns li {
          margin-left: 20px; }
          body.toppage #mainv .subContents > div .btns li a {
            color: #fff;
            font-size: 1.13rem;
            text-decoration: none;
            border-radius: 50vh;
            padding: 5px 40px; }
          body.toppage #mainv .subContents > div .btns li.contact a {
            background: #000; }
          body.toppage #mainv .subContents > div .btns li.free a {
            background: #4154a3; }
body.toppage #history .subContents {
  width: 946px; }
  body.toppage #history .subContents h2 {
    font-size: 2.53rem;
    text-align: center;
    margin-bottom: 20px; }
  body.toppage #history .subContents .honbun {
    margin-top: 50px; }
    body.toppage #history .subContents .honbun p {
      text-indent: 1em; }
body.toppage #about h2 {
  font-size: 2.53rem;
  text-align: center;
  margin-bottom: 50px; }
body.toppage #about .sec-1 ul {
  display: flex;
  justify-content: center; }
  body.toppage #about .sec-1 ul li {
    width: 378px;
    text-align: center;
    margin: 0 10px; }
    body.toppage #about .sec-1 ul li figure {
      width: 240px;
      margin: 0 auto; }
    body.toppage #about .sec-1 ul li p {
      color: #a1a1a1;
      font-size: 1.73rem;
      border: solid 1px #a1a1a1;
      margin-top: 15px;
      padding: 10px; }
body.toppage #about .sec-report, body.toppage #about .sec-manual, body.toppage #about .sec-feature {
  margin-top: 140px; }
  body.toppage #about .sec-report h3, body.toppage #about .sec-manual h3, body.toppage #about .sec-feature h3 {
    font-size: 2.2rem;
    margin-bottom: 30px;
    position: relative;
    z-index: 2; }
    body.toppage #about .sec-report h3::before, body.toppage #about .sec-manual h3::before, body.toppage #about .sec-feature h3::before {
      content: "";
      background-repeat: no-repeat;
      position: absolute;
      z-index: -1; }
body.toppage #about .sec-report h3 {
  text-align: right;
  margin-right: 140px; }
  body.toppage #about .sec-report h3::before {
    width: 380px;
    height: 116px;
    background-image: url(../images/toppage/about_t_report.svg);
    top: -25px;
    left: 390px; }
  body.toppage #about .sec-report h3::after {
    content: "";
    width: 144px;
    height: 118px;
    background: url(../images/toppage/about_p_01.png) no-repeat;
    position: absolute;
    top: -60px;
    right: -150px; }
body.toppage #about .sec-manual h3 {
  margin-left: 240px; }
  body.toppage #about .sec-manual h3::before {
    width: 456px;
    height: 89px;
    background-image: url(../images/toppage/about_t_manual.svg);
    top: -25px;
    left: -240px; }
  body.toppage #about .sec-manual h3::after {
    content: "";
    width: 138px;
    height: 120px;
    background: url(../images/toppage/about_p_02.png) no-repeat;
    position: absolute;
    top: -60px;
    left: 270px; }
body.toppage #about .sec-feature h3 {
  text-align: center;
  margin-bottom: 15px; }
body.toppage #about .sec-report .box, body.toppage #about .sec-manual .box {
  display: flex;
  justify-content: space-between; }
  body.toppage #about .sec-report .box .mv, body.toppage #about .sec-manual .box .mv {
    width: 500px; }
  body.toppage #about .sec-report .box .text, body.toppage #about .sec-manual .box .text {
    width: 450px; }
    body.toppage #about .sec-report .box .text ol, body.toppage #about .sec-manual .box .text ol {
      margin-top: 15px;
      counter-reset: item; }
      body.toppage #about .sec-report .box .text ol li, body.toppage #about .sec-manual .box .text ol li {
        padding-left: 3.5em;
        position: relative; }
        body.toppage #about .sec-report .box .text ol li::before, body.toppage #about .sec-manual .box .text ol li::before {
          counter-increment: item;
          content: "＜" counter(item) "＞";
          position: absolute;
          top: 1px;
          left: 0; }
body.toppage #about .sec-manual .box {
  flex-direction: row-reverse; }
body.toppage #about .sec-feature .lead {
  text-align: center;
  margin-bottom: 30px; }
body.toppage #about .sec-feature ul {
  display: flex; }
  body.toppage #about .sec-feature ul li {
    width: calc(100% / 3);
    text-align: center;
    padding: 20px; }
    body.toppage #about .sec-feature ul li h4 {
      font-size: 2.2rem;
      font-weight: 700;
      line-height: 1.6; }
    body.toppage #about .sec-feature ul li .subtit {
      color: #fff;
      font-size: .933rem;
      border-radius: 50vh;
      margin: 0 30px; }
    body.toppage #about .sec-feature ul li h5 {
      border-top: solid 1px #fff;
      margin-top: 25px;
      padding-top: 25px; }
    body.toppage #about .sec-feature ul li:nth-child(1) {
      background: #dae2f3; }
      body.toppage #about .sec-feature ul li:nth-child(1) h4, body.toppage #about .sec-feature ul li:nth-child(1) h5 {
        color: #606eab; }
      body.toppage #about .sec-feature ul li:nth-child(1) .subtit {
        background: #606eab; }
    body.toppage #about .sec-feature ul li:nth-child(2) {
      background: #fff4db; }
      body.toppage #about .sec-feature ul li:nth-child(2) h4, body.toppage #about .sec-feature ul li:nth-child(2) h5 {
        color: #000; }
      body.toppage #about .sec-feature ul li:nth-child(2) .subtit {
        background: #000; }
    body.toppage #about .sec-feature ul li:nth-child(3) {
      background: #ecdbe1; }
      body.toppage #about .sec-feature ul li:nth-child(3) h4, body.toppage #about .sec-feature ul li:nth-child(3) h5 {
        color: #ab527a; }
      body.toppage #about .sec-feature ul li:nth-child(3) .subtit {
        background: #ab527a; }
body.toppage #concept h2 {
  font-size: 2.53rem;
  text-align: center;
  margin-bottom: 50px; }
body.toppage #concept ol {
  counter-reset: item;
  display: flex;
  justify-content: space-between; }
  body.toppage #concept ol > li {
    width: 324px;
    background: #fff;
    margin-bottom: 50px;
    padding: 85px 15px 15px;
    position: relative; }
    body.toppage #concept ol > li::before {
      counter-increment: item;
      content: counter(item);
      font-size: 2.53rem;
      font-weight: 700;
      position: absolute;
      top: 15px;
      left: 50%;
      transform: translateX(-50%); }
    body.toppage #concept ol > li::after {
      content: "";
      width: 90px;
      height: 2px;
      background: #000;
      position: absolute;
      top: 75px;
      left: 50%;
      transform: translateX(-50%); }
    body.toppage #concept ol > li h3 {
      font-size: 1.6rem;
      font-weight: 700;
      text-align: center; }
    body.toppage #concept ol > li ul li {
      background: #e6e6e6;
      margin-top: 15px;
      padding: 15px; }
      body.toppage #concept ol > li ul li h4 {
        font-size: 1.33rem;
        font-weight: 700;
        text-align: center;
        position: relative;
        z-index: 2; }
        body.toppage #concept ol > li ul li h4::before {
          content: "";
          width: 230px;
          height: 10px;
          background: #f9d200;
          border-radius: 5px;
          position: absolute;
          bottom: 7px;
          left: 50%;
          transform: translateX(-50%);
          z-index: -1; }
      body.toppage #concept ol > li ul li figure {
        text-align: center;
        margin-bottom: 5px; }
      body.toppage #concept ol > li ul li p {
        font-size: .8rem;
        height: calc(.8rem * 3 * 2); }
body.toppage #scene h2 {
  font-size: 2.53rem;
  text-align: center;
  margin-bottom: 50px; }
body.toppage #scene ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  body.toppage #scene ul li {
    width: 320px;
    background: #fff;
    padding: 0 0 20px;
    display: flex;
    flex-direction: column; }
    body.toppage #scene ul li h3 {
      font-size: 1.73rem;
      line-height: 1.2;
      margin-bottom: 15px;
      padding: 15px 0 15px 15px;
      position: relative; }
      body.toppage #scene ul li h3::before {
        content: "";
        width: 8px;
        height: 90px;
        position: absolute;
        top: 0;
        left: 0; }
    body.toppage #scene ul li:nth-child(1) h3::before {
      background: #b1bdd6; }
    body.toppage #scene ul li:nth-child(2) h3::before {
      background: #e0c3ca; }
    body.toppage #scene ul li:nth-child(3) h3::before {
      background: #9cc5c7; }
    body.toppage #scene ul li p {
      margin: 15px; }
    body.toppage #scene ul li .btn {
      text-align: center;
      margin-top: auto; }
body.toppage #functions h2 {
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 50px; }
body.toppage #functions .kinoList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; }
  body.toppage #functions .kinoList li {
    width: 110px;
    height: 110px;
    margin: 0 5px 15px;
    perspective: 150rem;
    position: relative; }
    body.toppage #functions .kinoList li .front,
    body.toppage #functions .kinoList li .back {
      width: 100%;
      height: 100%;
      border-radius: 10px;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      transition: .6s;
      cursor: pointer; }
    body.toppage #functions .kinoList li .back {
      text-align: center;
      background: #494848;
      padding: 10px 5px;
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      align-items: center;
      justify-content: center; }
    body.toppage #functions .kinoList li .front {
      border-radius: 10px; }
      body.toppage #functions .kinoList li .front img {
        border-radius: 10px; }
    body.toppage #functions .kinoList li:hover .front {
      transform: rotateY(180deg); }
    body.toppage #functions .kinoList li .back {
      transform: rotateY(180deg); }
      body.toppage #functions .kinoList li .back p {
        color: #fff;
        font-size: .7rem;
        font-weight: 700;
        line-height: 1.5;
        font-feature-settings: "palt"; }
    body.toppage #functions .kinoList li:hover .back {
      transform: rotateY(360deg); }
body.toppage #functions .btns {
  width: 560px;
  margin: 50px auto 0; }
  body.toppage #functions .btns ul li {
    margin-bottom: 10px; }
    body.toppage #functions .btns ul li a {
      text-align: left;
      padding-left: 20px;
      padding-right: 54px;
      position: relative; }
      body.toppage #functions .btns ul li a::after {
        content: "";
        width: 8px;
        height: 8px;
        border-top: solid 2px #fff;
        border-right: solid 2px #fff;
        position: absolute;
        top: 12px;
        right: 20px;
        transform: rotate(45deg); }
body.toppage #functions .lineup {
  margin: 100px 0 0 0; }
  body.toppage #functions .lineup ul {
    display: flex;
    justify-content: space-between; }
    body.toppage #functions .lineup ul li {
      width: 315px;
      border-radius: 20px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
      padding: 50px 20px 30px; }
      body.toppage #functions .lineup ul li h3 {
        font-size: 2.4rem;
        font-weight: 700;
        text-align: center;
        line-height: 1.2;
        padding-top: 10px;
        position: relative; }
        body.toppage #functions .lineup ul li h3::before {
          content: "";
          width: 37px;
          height: 16px;
          background-repeat: no-repeat;
          background-size: 100% auto;
          position: absolute;
          top: -15px;
          left: calc(50% - 16px); }
      body.toppage #functions .lineup ul li .btn {
        text-align: center; }
        body.toppage #functions .lineup ul li .btn a {
          width: 220px; }
      body.toppage #functions .lineup ul li .eye {
        color: #666;
        font-size: 1.2rem;
        text-align: center; }
      body.toppage #functions .lineup ul li .midashi {
        font-size: 1.6rem;
        height: 180px;
        text-align: center;
        line-height: 1.5;
        margin: 30px 0 10px; }
        body.toppage #functions .lineup ul li .midashi span {
          padding: 0 10px; }
        body.toppage #functions .lineup ul li .midashi em {
          font-size: 120%;
          font-style: normal; }
      body.toppage #functions .lineup ul li.type-free {
        background: #fff; }
        body.toppage #functions .lineup ul li.type-free h3 {
          color: #000; }
          body.toppage #functions .lineup ul li.type-free h3::before {
            background-image: url(../images/common/bo_yellow.svg); }
        body.toppage #functions .lineup ul li.type-free .midashi {
          color: #000; }
          body.toppage #functions .lineup ul li.type-free .midashi span {
            background: linear-gradient(transparent 60%, #F9D200 60%); }
        body.toppage #functions .lineup ul li.type-free .btn a {
          background: #000; }
      body.toppage #functions .lineup ul li.type-lite {
        background: #CEECEE; }
        body.toppage #functions .lineup ul li.type-lite h3 {
          color: #65C2C7; }
          body.toppage #functions .lineup ul li.type-lite h3::before {
            background-image: url(../images/common/bo_white.svg); }
        body.toppage #functions .lineup ul li.type-lite .midashi {
          color: #65C2C7; }
          body.toppage #functions .lineup ul li.type-lite .midashi span {
            background: linear-gradient(transparent 60%, #e7f6f7 60%); }
        body.toppage #functions .lineup ul li.type-lite .btn a {
          background: #65C2C7; }
      body.toppage #functions .lineup ul li.type-pro {
        background: #DBE0F1; }
        body.toppage #functions .lineup ul li.type-pro h3 {
          color: #2E3192; }
          body.toppage #functions .lineup ul li.type-pro h3::before {
            background-image: url(../images/common/bo_white.svg); }
        body.toppage #functions .lineup ul li.type-pro .midashi {
          color: #2E3192; }
          body.toppage #functions .lineup ul li.type-pro .midashi span {
            background: linear-gradient(transparent 60%, #edf0f8 60%); }
        body.toppage #functions .lineup ul li.type-pro .btn a {
          background: #2E3192; }
body.toppage #example h2 {
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 50px; }
body.toppage #example .lists {
  font-size: 1.2rem;
  text-align: center;
  margin-bottom: 100px; }
body.toppage #example h3 {
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px; }
body.toppage #example .btn {
  margin-top: 50px; }
body.toppage #bossblog {
  color: #fff; }
  body.toppage #bossblog h2 {
    font-size: 2.8rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 50px;
    padding-top: 120px;
    position: relative; }
    body.toppage #bossblog h2::before {
      content: "";
      width: 588px;
      height: 165px;
      background: url(../images/toppage/yaei_p_01.png) no-repeat left top;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-40%); }
  body.toppage #bossblog .honbun {
    text-align: center;
    margin-bottom: 50px; }
  body.toppage #bossblog .btn {
    text-align: center;
    margin: 60px 0 0 0; }
    body.toppage #bossblog .btn .b-type01 {
      width: 320px; }
  body.toppage #bossblog .snss {
    margin: 50px 0 0 0;
    display: flex;
    justify-content: center; }
    body.toppage #bossblog .snss li {
      margin: 0 15px; }
      body.toppage #bossblog .snss li img {
        width: auto;
        height: 34px; }

@media screen and (max-width: 756px) {
  body.toppage #mainv {
    height: 100vw; }
    body.toppage #mainv .subContents {
      height: 100vw; }
      body.toppage #mainv .subContents > div {
        width: 100vw;
        padding: 0 4vw; }
        body.toppage #mainv .subContents > div .text1 {
          font-size: 1rem;
          letter-spacing: 0; }
        body.toppage #mainv .subContents > div .maincopy {
          font-size: 2.5rem; }
        body.toppage #mainv .subContents > div .text2 {
          font-size: .9rem;
          letter-spacing: 0;
          text-align: center; }
        body.toppage #mainv .subContents > div .btns {
          margin-top: 5vw;
          justify-content: center; }
          body.toppage #mainv .subContents > div .btns li {
            margin: 0 2vw; }
            body.toppage #mainv .subContents > div .btns li a {
              font-size: 1rem;
              padding: 5px 6vw; }
  body.toppage #history .subContents {
    width: 100vw; }
    body.toppage #history .subContents h2 {
      font-size: 2rem;
      line-height: 1.6;
      margin-bottom: 4vw; }
    body.toppage #history .subContents .honbun {
      margin-top: 5vw; }
  body.toppage #about h2 {
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 4vw; }
  body.toppage #about .sec-1 ul {
    justify-content: space-between; }
    body.toppage #about .sec-1 ul li {
      width: 44vw;
      margin: 10vw 0 0 0; }
      body.toppage #about .sec-1 ul li figure {
        width: 30vw; }
      body.toppage #about .sec-1 ul li p {
        font-size: 1.25rem;
        line-height: 1.4;
        margin-top: 6vw;
        padding: 2vw; }
  body.toppage #about .sec-report, body.toppage #about .sec-manual, body.toppage #about .sec-feature {
    margin-top: 20vw; }
    body.toppage #about .sec-report h3, body.toppage #about .sec-manual h3, body.toppage #about .sec-feature h3 {
      font-size: 1.6rem;
      margin-bottom: 5vw; }
      body.toppage #about .sec-report h3::before, body.toppage #about .sec-manual h3::before, body.toppage #about .sec-feature h3::before {
        background-size: 100% auto; }
  body.toppage #about .sec-report h3 {
    margin-right: 20vw; }
    body.toppage #about .sec-report h3::before {
      width: 60vw;
      height: calc(60vw / 380 * 116);
      top: -4vw;
      left: 0; }
    body.toppage #about .sec-report h3::after {
      width: 20vw;
      height: calc(20vw / 72 * 59);
      background-size: 100% auto;
      top: -6vw;
      right: -20vw; }
  body.toppage #about .sec-manual h3 {
    margin-left: 20vw; }
    body.toppage #about .sec-manual h3::before {
      width: 60vw;
      height: calc(60vw / 456 * 89);
      top: -4vw;
      left: 10vw; }
    body.toppage #about .sec-manual h3::after {
      width: 19vw;
      height: calc(19vw / 138 * 120);
      background-size: 100% auto;
      top: -6vw;
      left: -20vw; }
  body.toppage #about .sec-feature h3 {
    margin-bottom: 5vw; }
  body.toppage #about .sec-report .box, body.toppage #about .sec-manual .box {
    display: block; }
    body.toppage #about .sec-report .box .mv, body.toppage #about .sec-manual .box .mv {
      width: 100%;
      margin-bottom: 5vw; }
    body.toppage #about .sec-report .box .text, body.toppage #about .sec-manual .box .text {
      width: 100%; }
      body.toppage #about .sec-report .box .text ol li, body.toppage #about .sec-manual .box .text ol li {
        margin-bottom: 2vw; }
  body.toppage #about .sec-feature .lead {
    margin-bottom: 5vw; }
  body.toppage #about .sec-feature ul {
    display: block; }
    body.toppage #about .sec-feature ul li {
      width: 100%;
      padding: 5vw; }
      body.toppage #about .sec-feature ul li h4 {
        font-size: 1.75rem; }
      body.toppage #about .sec-feature ul li .subtit {
        font-size: .933rem;
        margin: 0 10vw; }
      body.toppage #about .sec-feature ul li h5 {
        margin-top: 5vw;
        padding-top: 5vw; }
      body.toppage #about .sec-feature ul li figure {
        margin: 0 10vw; }
  body.toppage #concept h2 {
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 4vw; }
  body.toppage #concept ol {
    display: block; }
    body.toppage #concept ol > li {
      width: 100%;
      margin-bottom: 6vw;
      padding: 20vw 5vw 5vw; }
      body.toppage #concept ol > li::before {
        font-size: 2rem;
        top: 5vw; }
      body.toppage #concept ol > li::after {
        width: 20vw;
        top: 18vw; }
      body.toppage #concept ol > li h3 {
        font-size: 1.5rem; }
      body.toppage #concept ol > li ul li {
        margin-top: 5vw;
        padding: 5vw; }
        body.toppage #concept ol > li ul li h4::before {
          width: 40vw;
          bottom: 5px; }
        body.toppage #concept ol > li ul li figure {
          margin: 0 20vw 3vw; }
        body.toppage #concept ol > li ul li p {
          font-size: 1rem;
          height: auto; }
  body.toppage #scene h2 {
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 4vw; }
  body.toppage #scene ul {
    display: block; }
    body.toppage #scene ul li {
      width: 100%;
      margin-bottom: 5vw;
      padding: 0 0 5vw;
      display: block; }
      body.toppage #scene ul li h3 {
        font-size: 1.35rem;
        line-height: 1.4;
        margin-bottom: 3vw;
        padding: 4vw 0 4vw 6vw; }
        body.toppage #scene ul li h3::before {
          content: "";
          width: 8px;
          height: calc(1.35rem * 1.4 + 8vw); }
      body.toppage #scene ul li p {
        margin: 5vw; }
  body.toppage #reason h2 {
    font-size: 1.7rem;
    line-height: 1.5;
    margin-bottom: 3vw; }
  body.toppage #reason .reasons {
    display: block; }
    body.toppage #reason .reasons li {
      width: 100%;
      margin: 0 0 8vw;
      padding: 46vw 0 0;
      position: relative;
      display: block; }
      body.toppage #reason .reasons li::before {
        content: "";
        width: 60vw;
        height: calc(60vw / 184 * 220);
        left: calc(50% - 30vw); }
      body.toppage #reason .reasons li h3 {
        font-size: 1.2rem;
        margin-bottom: 3vw; }
      body.toppage #reason .reasons li p {
        line-height: 1.5;
        margin: 0 4vw 6vw; }
  body.toppage #example h2 {
    font-size: 1.5rem;
    line-height: 1.5;
    margin-bottom: 5vw; }
  body.toppage #example .lists {
    font-size: 1rem;
    margin-bottom: 10vw; }
  body.toppage #example h3 {
    font-size: 1.8rem;
    margin-bottom: 3vw; }
  body.toppage #example .btn {
    margin-top: 5vw; }
  body.toppage #functions h2 {
    font-size: 1.5rem;
    line-height: 1.5;
    margin-bottom: 5vw; }
  body.toppage #functions .kinoList li {
    width: calc(calc(100% - 15px) / 4);
    height: calc(calc(100% - 15px) / 4);
    margin: 0 0 5px;
    perspective: none; }
    body.toppage #functions .kinoList li .front,
    body.toppage #functions .kinoList li .back {
      transition: 0; }
    body.toppage #functions .kinoList li .back {
      display: none; }
    body.toppage #functions .kinoList li:hover .front {
      transform: none; }
  body.toppage #functions .btns {
    width: 100%;
    margin: 8vw 0 0; }
    body.toppage #functions .btns ul li {
      margin-bottom: 6vw; }
      body.toppage #functions .btns ul li a {
        width: 40vw;
        margin: 0 0 0 30vw; }
  body.toppage #functions .lineup {
    margin: 10vw 0 0 0; }
    body.toppage #functions .lineup ul {
      display: block; }
      body.toppage #functions .lineup ul li {
        width: 100%;
        border-radius: 10px;
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
        margin-bottom: 8vw;
        padding: 8vw 4vw 6vw; }
        body.toppage #functions .lineup ul li h3 {
          font-size: 2rem; }
        body.toppage #functions .lineup ul li .btn a {
          width: 60vw; }
        body.toppage #functions .lineup ul li .midashi {
          font-size: 1.4rem;
          height: auto;
          margin: 8vw 0 4vw; }
  body.toppage #tasai h2 {
    font-size: 1.6rem;
    margin-bottom: 5vw; }
  body.toppage #bossblog h2 {
    font-size: 1.5rem;
    margin-bottom: 8vw;
    padding-top: 18vw;
    position: relative; }
    body.toppage #bossblog h2::before {
      width: 90vw;
      height: calc(90vw / 558 * 165);
      background-size: 100% auto;
      transform: translateX(-50%); }
  body.toppage #bossblog .honbun {
    margin-bottom: 5vw; }
  body.toppage #bossblog .btn {
    text-align: center;
    margin: 5vw 0 0 0; }
    body.toppage #bossblog .btn .b-type01 {
      width: 75vw; }
  body.toppage #bossblog .snss {
    margin: 6vw 0 0 0; }
    body.toppage #bossblog .snss li {
      margin: 0 15px; }
      body.toppage #bossblog .snss li img {
        height: 30px; } }
body.scene #mainv {
  background: #FAF6EE;
  background-repeat: no-repeat;
  background-position: center top; }
  body.scene #mainv .subContents {
    position: relative; }
    body.scene #mainv .subContents .sceneLabel {
      color: #fff;
      font-size: 1.53rem;
      width: 155px;
      height: 271px;
      text-align: center;
      line-height: 1.4;
      -webkit-mask: url(../images/scene/mainv_mask.svg) no-repeat;
      mask: url(../images/scene/mainv_mask.svg) no-repeat;
      padding-top: 40px;
      position: absolute;
      top: 0;
      right: 35px;
      z-index: 2; }
      body.scene #mainv .subContents .sceneLabel span {
        font-size: 2.4rem;
        letter-spacing: -2px; }
    body.scene #mainv .subContents .text {
      height: 600px;
      position: relative; }
      body.scene #mainv .subContents .text .mainCopy {
        width: 100%;
        color: #fff;
        font-size: 3.33rem;
        text-align: center;
        position: absolute;
        left: 50%;
        bottom: 10px;
        transform: translateX(-50%); }
    body.scene #mainv .subContents .btns {
      padding: 25px 0;
      display: flex;
      justify-content: flex-end; }
      body.scene #mainv .subContents .btns li {
        margin-left: 20px; }
        body.scene #mainv .subContents .btns li a {
          font-size: 1.13rem;
          text-decoration: none;
          border-radius: 50vh;
          border: solid 1px #000;
          padding: 5px 40px; }
        body.scene #mainv .subContents .btns li.contact a {
          color: #fff;
          background: #000; }
        body.scene #mainv .subContents .btns li.free a {
          color: #000;
          background: #fff; }
body.scene #jirei h2 {
  font-size: 3rem;
  text-align: center; }
body.scene #jirei h3 {
  color: #fff;
  font-size: 2.4rem;
  text-align: center;
  margin: 80px 0 40px; }
body.scene #jirei .jirei {
  margin: 0 40px;
  display: flex;
  justify-content: space-between; }
  body.scene #jirei .jirei figure {
    width: 440px; }
  body.scene #jirei .jirei .text {
    width: 420px; }
body.scene #haikei h2 {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 50px; }
body.scene #haikei ol {
  display: flex;
  justify-content: center;
  counter-reset: item; }
  body.scene #haikei ol > li {
    width: 420px;
    background: #bbb;
    text-align: center;
    margin: 0 10px;
    padding: 125px 20px 40px;
    position: relative; }
    body.scene #haikei ol > li::before {
      content: "お困り事";
      font-size: 1.33rem;
      text-align: center;
      position: absolute;
      top: 30px;
      left: 50%;
      transform: translateX(-50%); }
    body.scene #haikei ol > li::after {
      counter-increment: item;
      content: counter(item);
      font-size: 2rem;
      position: absolute;
      top: 55px;
      left: 50%;
      transform: translateX(-50%); }
    body.scene #haikei ol > li .h3box {
      height: 280px;
      text-align: left;
      position: relative; }
      body.scene #haikei ol > li .h3box::after {
        content: "";
        position: absolute;
        background-repeat: no-repeat;
        background-size: 100% auto;
        bottom: 20px; }
      body.scene #haikei ol > li .h3box h3 {
        color: #fff;
        font-size: 1.93rem;
        line-height: 1.5;
        margin: 0 30px; }
    body.scene #haikei ol > li .check p.text {
      font-size: 1.2rem;
      font-weight: 700;
      line-height: 1.5;
      text-align: center;
      margin: 30px 0 10px; }
      body.scene #haikei ol > li .check p.text.kobetsu {
        margin-top: 55px; }
    body.scene #haikei ol > li .check ul {
      display: flex;
      justify-content: center; }
      body.scene #haikei ol > li .check ul li {
        margin: 0 5px; }
        body.scene #haikei ol > li .check ul li a {
          color: #fff;
          text-decoration: none;
          font-size: .933rem;
          background: #000;
          border: solid 1px #000;
          border-radius: 50vh;
          padding: 5px 15px; }
          body.scene #haikei ol > li .check ul li a:hover {
            color: #000;
            background: #fff;
            opacity: 1; }
body.scene #kaiketsu h2 {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 50px; }
body.scene #kaiketsu .kaiketsus > li {
  background: #fff;
  margin: 60px 0 0 0; }
  body.scene #kaiketsu .kaiketsus > li h3 {
    color: #fff;
    font-size: 1.93rem;
    text-align: center;
    padding: 5px 10px; }
  body.scene #kaiketsu .kaiketsus > li .box1 {
    text-align: center;
    padding: 30px 0; }
  body.scene #kaiketsu .kaiketsus > li h4 {
    font-size: 1.533rem;
    background: #fcd021;
    padding: 5px 10px 5px 240px;
    position: relative; }
    body.scene #kaiketsu .kaiketsus > li h4::after {
      content: "";
      width: 200px;
      height: 180px;
      background-repeat: no-repeat;
      background-position: right top;
      background-size: auto 100%;
      position: absolute;
      top: -50px;
      left: 20px; }
    body.scene #kaiketsu .kaiketsus > li h4.icn01::after {
      background-image: url(../images/scene/kaiketsu_s_01.svg); }
    body.scene #kaiketsu .kaiketsus > li h4.icn02::after {
      background-image: url(../images/scene/kaiketsu_s_02.svg); }
    body.scene #kaiketsu .kaiketsus > li h4.icn03::after {
      background-image: url(../images/scene/kaiketsu_s_03.svg); }
    body.scene #kaiketsu .kaiketsus > li h4.icn04::after {
      background-image: url(../images/scene/kaiketsu_s_04.svg); }
    body.scene #kaiketsu .kaiketsus > li h4.icn05::after {
      background-image: url(../images/scene/kaiketsu_s_05.svg);
      top: 15px; }
    body.scene #kaiketsu .kaiketsus > li h4.icn06::after {
      background-image: url(../images/scene/kaiketsu_s_06.svg); }
    body.scene #kaiketsu .kaiketsus > li h4.icn07::after {
      background-image: url(../images/scene/kaiketsu_s_07.svg); }
    body.scene #kaiketsu .kaiketsus > li h4.icn08::after {
      background-image: url(../images/scene/kaiketsu_s_08.svg); }
    body.scene #kaiketsu .kaiketsus > li h4.icn09::after {
      background-image: url(../images/scene/kaiketsu_s_09.svg); }
    body.scene #kaiketsu .kaiketsus > li h4.icn10::after {
      background-image: url(../images/scene/kaiketsu_s_10.svg);
      top: -10px; }
    body.scene #kaiketsu .kaiketsus > li h4.icn11::after {
      background-image: url(../images/scene/kaiketsu_s_11.svg);
      top: 0; }
    body.scene #kaiketsu .kaiketsus > li h4.icn12::after {
      background-image: url(../images/scene/kaiketsu_s_12.svg); }
    body.scene #kaiketsu .kaiketsus > li h4.icn13::after {
      background-image: url(../images/scene/kaiketsu_s_13.svg); }
    body.scene #kaiketsu .kaiketsus > li h4.icn14::after {
      background-image: url(../images/scene/kaiketsu_s_14.svg); }
  body.scene #kaiketsu .kaiketsus > li .box2 {
    padding: 30px 140px 30px 240px; }
    body.scene #kaiketsu .kaiketsus > li .box2 .btns {
      margin-top: 30px;
      display: flex;
      justify-content: flex-end; }
      body.scene #kaiketsu .kaiketsus > li .box2 .btns li {
        margin-left: 10px; }
body.scene.scene1 #mainv {
  background-image: url(../images/scene/main_p_01-01.jpg); }
body.scene.scene1 #mainv .sceneLabel,
body.scene.scene1 #jirei h3,
body.scene.scene1 #kaiketsu .kaiketsus > li h3 {
  background-color: #b1bdd6; }
body.scene.scene1 #haikei ol > li:nth-child(1) .h3box::after {
  width: 175px;
  height: 154px;
  background-image: url(../images/scene/haikei_p_01_01.svg);
  right: 10px; }
body.scene.scene1 #haikei ol > li:nth-child(2) .h3box::after {
  width: 197px;
  height: 144px;
  background-image: url(../images/scene/haikei_p_01_02.svg);
  right: 10px; }
body.scene.scene2 #mainv {
  background-image: url(../images/scene/main_p_01-02.jpg); }
body.scene.scene2 #mainv .sceneLabel,
body.scene.scene2 #jirei h3,
body.scene.scene2 #kaiketsu .kaiketsus > li h3 {
  background-color: #e0c3ca; }
body.scene.scene2 #haikei ol > li:nth-child(1) .h3box::after {
  width: 292px;
  height: 119px;
  background-image: url(../images/scene/haikei_p_02_01.svg);
  bottom: -15px;
  right: 10px; }
body.scene.scene2 #haikei ol > li:nth-child(2) .h3box::after {
  width: 346px;
  height: 228px;
  background-image: url(../images/scene/haikei_p_02_02.svg);
  bottom: -50px;
  right: 0px; }
body.scene.scene3 #mainv {
  background-image: url(../images/scene/main_p_01-03.jpg); }
body.scene.scene3 #mainv .sceneLabel,
body.scene.scene3 #jirei h3,
body.scene.scene3 #kaiketsu .kaiketsus > li h3 {
  background-color: #9cc5c7; }
body.scene.scene3 #haikei ol > li:nth-child(1) .h3box::after {
  width: 193px;
  height: 138px;
  background-image: url(../images/scene/haikei_p_03_01.svg);
  bottom: -15px;
  right: 10px; }
body.scene.scene3 #haikei ol > li:nth-child(2) .h3box::after {
  width: 176px;
  height: 138px;
  background-image: url(../images/scene/haikei_p_03_02.svg);
  bottom: 10px;
  right: 20px; }

@media screen and (max-width: 756px) {
  body.scene #mainv {
    background-size: auto 100vw; }
    body.scene #mainv .subContents .sceneLabel {
      font-size: 1.25rem;
      width: 30vw;
      height: calc(30vw / 155 * 271);
      right: 4vw; }
      body.scene #mainv .subContents .sceneLabel span {
        font-size: 2rem; }
    body.scene #mainv .subContents .text {
      height: 100vw; }
      body.scene #mainv .subContents .text .mainCopy {
        font-size: 2.5rem;
        line-height: 1.4;
        padding: 0 4vw; }
    body.scene #mainv .subContents .btns {
      padding: 6vw 0;
      justify-content: space-around; }
      body.scene #mainv .subContents .btns li {
        margin-left: 0; }
        body.scene #mainv .subContents .btns li a {
          font-size: 1rem;
          padding: 5px 6vw; }
  body.scene #jirei h2 {
    font-size: 2rem;
    line-height: 1.6; }
  body.scene #jirei h3 {
    font-size: 1.75rem;
    margin: 10vw 0 6vw; }
  body.scene #jirei .jirei {
    margin: 0;
    display: block; }
    body.scene #jirei .jirei figure {
      width: 100%;
      margin-bottom: 6vw; }
    body.scene #jirei .jirei .text {
      width: 100%; }
  body.scene #haikei h2 {
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 6vw; }
  body.scene #haikei ol {
    display: block; }
    body.scene #haikei ol > li {
      width: 100%;
      margin: 0 0 5vw;
      padding: 24vw 4vw 6vw; }
      body.scene #haikei ol > li::before {
        font-size: 1.25rem;
        top: 4vw; }
      body.scene #haikei ol > li::after {
        font-size: 1.75rem;
        top: 10vw; }
      body.scene #haikei ol > li .h3box {
        height: auto;
        padding-bottom: 26vw; }
        body.scene #haikei ol > li .h3box::after {
          bottom: 0; }
        body.scene #haikei ol > li .h3box h3 {
          font-size: 1.75rem;
          margin: 0; }
      body.scene #haikei ol > li .check p.text {
        margin: 6vw 0 3vw; }
        body.scene #haikei ol > li .check p.text.kobetsu {
          margin-top: 6vw; }
      body.scene #haikei ol > li .check ul {
        display: flex;
        justify-content: center; }
        body.scene #haikei ol > li .check ul li {
          margin: 0 1vw; }
          body.scene #haikei ol > li .check ul li a {
            padding: 5px 3vw; }
  body.scene #kaiketsu h2 {
    font-size: 2rem;
    line-height: 1.6;
    margin-bottom: 6vw; }
  body.scene #kaiketsu .kaiketsus > li {
    margin: 10vw 0 0 0; }
    body.scene #kaiketsu .kaiketsus > li h3 {
      font-size: 1.5rem;
      line-height: 1.6; }
    body.scene #kaiketsu .kaiketsus > li .box1 {
      padding: 5vw; }
    body.scene #kaiketsu .kaiketsus > li h4 {
      font-size: 1.25rem;
      line-height: 1.6;
      padding: 5px 10px 5px 30vw; }
      body.scene #kaiketsu .kaiketsus > li h4::after {
        content: "";
        width: 35vw;
        height: calc(35vw / 200 * 180);
        top: 3vw;
        left: -10vw; }
      body.scene #kaiketsu .kaiketsus > li h4.icn05::after {
        width: 28vw;
        top: 8vw;
        left: -2vw; }
      body.scene #kaiketsu .kaiketsus > li h4.icn06::after {
        left: -2vw; }
      body.scene #kaiketsu .kaiketsus > li h4.icn10::after {
        top: 12vw;
        left: -10vw; }
      body.scene #kaiketsu .kaiketsus > li h4.icn11::after {
        top: 2vw; }
      body.scene #kaiketsu .kaiketsus > li h4.icn12::after {
        left: -6vw; }
    body.scene #kaiketsu .kaiketsus > li .box2 {
      padding: 5vw 5vw 5vw 25vw; }
      body.scene #kaiketsu .kaiketsus > li .box2 .btns {
        margin: 6vw 0 0 -25vw;
        display: flex;
        justify-content: space-around; }
        body.scene #kaiketsu .kaiketsus > li .box2 .btns li {
          margin-left: 0; }
          body.scene #kaiketsu .kaiketsus > li .box2 .btns li a {
            font-size: .933rem;
            width: 30vw; }
  body.scene.scene1 #haikei ol > li:nth-child(1) .h3box::after {
    width: 35vw;
    height: calc(35vw / 175 * 154);
    right: 0; }
  body.scene.scene1 #haikei ol > li:nth-child(2) .h3box::after {
    width: 38vw;
    height: calc(38vw / 197 * 144);
    right: 0; }
  body.scene.scene2 #haikei ol > li:nth-child(1) .h3box::after {
    width: 70vw;
    height: calc(70vw / 292 * 119); }
  body.scene.scene2 #haikei ol > li:nth-child(2) .h3box {
    padding-bottom: 40vw; }
  body.scene.scene2 #haikei ol > li:nth-child(2) .h3box::after {
    width: 80vw;
    height: calc(80vw / 346 * 228);
    bottom: -12vw;
    right: 4vw; }
  body.scene.scene3 #haikei ol > li:nth-child(1) .h3box::after {
    width: 45vw;
    height: calc(45vw / 193 * 138);
    bottom: -3vw;
    right: 4vw; }
  body.scene.scene3 #haikei ol > li:nth-child(2) .h3box::after {
    width: 38vw;
    height: calc(38vw / 176 * 138);
    bottom: -2vw;
    right: 4vw; } }
body.product.line-up #main {
  padding-top: 50px; }
  body.product.line-up #main .lead {
    margin: 60px 0; }
    body.product.line-up #main .lead .dobooklogo {
      width: 255px;
      text-align: center;
      margin: 0 auto 15px; }
    body.product.line-up #main .lead h1 {
      font-size: 2.8rem;
      font-weight: 700;
      text-align: center;
      line-height: 1.5; }
    body.product.line-up #main .lead .subtit {
      font-size: 1.2rem;
      text-align: center; }
    body.product.line-up #main .lead .btn {
      text-align: right;
      margin-top: 10px; }
      body.product.line-up #main .lead .btn .b-type02 {
        width: 270px;
        color: #000;
        background: #fff;
        border: solid 1px #000; }
  body.product.line-up #main .lineups li {
    border-radius: 20px;
    box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.16);
    padding: 50px 70px 30px 20px;
    margin-bottom: 50px;
    display: flex;
    justify-content: space-between; }
    body.product.line-up #main .lineups li .name {
      width: 280px;
      text-align: center; }
      body.product.line-up #main .lineups li .name h3 {
        font-size: 2.5rem;
        font-weight: 700;
        text-align: center;
        padding-top: 10px;
        position: relative; }
        body.product.line-up #main .lineups li .name h3::before {
          content: "";
          width: 37px;
          height: 16px;
          background: url(../images/common/bo_yellow.svg) no-repeat left top/100% auto;
          position: absolute;
          top: 0;
          left: calc(50% - 16px); }
      body.product.line-up #main .lineups li .name .eye {
        color: #666;
        margin: -10px 0 10px; }
    body.product.line-up #main .lineups li .text {
      width: calc(100% - 280px); }
      body.product.line-up #main .lineups li .text .btn {
        text-align: right;
        margin-top: 10px; }
        body.product.line-up #main .lineups li .text .btn .b-type02 {
          width: 220px; }
    body.product.line-up #main .lineups li:nth-child(1) {
      background: #fff; }
      body.product.line-up #main .lineups li:nth-child(1) .name {
        padding-top: 10px; }
    body.product.line-up #main .lineups li:nth-child(2) {
      background: #CEECEE; }
      body.product.line-up #main .lineups li:nth-child(2) .name {
        padding-top: 30px; }
      body.product.line-up #main .lineups li:nth-child(2) h3 {
        color: #65C2C7; }
        body.product.line-up #main .lineups li:nth-child(2) h3::before {
          background-image: url(../images/common/bo_white.svg); }
      body.product.line-up #main .lineups li:nth-child(2) .b-type02 {
        background: #65C2C7; }
    body.product.line-up #main .lineups li:nth-child(3) {
      background: #DBE0F1; }
      body.product.line-up #main .lineups li:nth-child(3) .name {
        padding-top: 0; }
      body.product.line-up #main .lineups li:nth-child(3) h3 {
        color: #2E3192; }
        body.product.line-up #main .lineups li:nth-child(3) h3::before {
          background-image: url(../images/common/bo_white.svg); }
      body.product.line-up #main .lineups li:nth-child(3) .b-type02 {
        background: #2E3192; }
body.product.line-up #kankyo .subContents h2 {
  font-size: 2.86rem;
  text-align: center;
  margin-bottom: 50px; }
body.product.line-up #kankyo .subContents .canvas {
  position: relative;
  height: 880px; }
  body.product.line-up #kankyo .subContents .canvas .box {
    position: absolute; }
    body.product.line-up #kankyo .subContents .canvas .box.box1 {
      width: 430px;
      top: 0;
      left: 0; }
    body.product.line-up #kankyo .subContents .canvas .box.box2 {
      width: 430px;
      top: 400px;
      left: 0; }
    body.product.line-up #kankyo .subContents .canvas .box.box3 {
      width: 500px;
      top: 0;
      right: 0; }
    body.product.line-up #kankyo .subContents .canvas .box.box4 {
      width: 500px;
      top: 535px;
      right: 0; }
    body.product.line-up #kankyo .subContents .canvas .box > div {
      background: #f2e8d8;
      border-radius: 20px;
      padding: 20px;
      position: relative;
      z-index: 2; }
      body.product.line-up #kankyo .subContents .canvas .box > div h3 {
        font-size: 1.67rem;
        text-align: center; }
      body.product.line-up #kankyo .subContents .canvas .box > div p {
        line-height: 1.56;
        padding: 0 30px; }
      body.product.line-up #kankyo .subContents .canvas .box > div figure {
        text-align: center;
        margin-top: 10px; }
    body.product.line-up #kankyo .subContents .canvas .box.box1 > div {
      background: #d7def0; }
    body.product.line-up #kankyo .subContents .canvas .box.box2 > div {
      padding-top: 60px;
      padding-bottom: 70px; }
      body.product.line-up #kankyo .subContents .canvas .box.box2 > div figure {
        margin-top: 44px; }
  body.product.line-up #kankyo .subContents .canvas .arrow::after {
    content: "";
    width: 42px;
    height: 33px;
    background: url(../images/lineup/s_triangle_br.svg) no-repeat;
    position: absolute; }
  body.product.line-up #kankyo .subContents .canvas .arrow.arrowbl::after {
    background-image: url(../images/lineup/s_triangle_bl.svg); }
  body.product.line-up #kankyo .subContents .canvas .arrow::before {
    content: "";
    width: 18px;
    height: 60px;
    background: #c69c6d;
    position: absolute; }
  body.product.line-up #kankyo .subContents .canvas .arrow.arrowbl::before {
    background: #a9b9db; }
  body.product.line-up #kankyo .subContents .canvas .box1.arrow::after {
    top: 130px;
    right: -72px;
    transform: rotate(-90deg); }
  body.product.line-up #kankyo .subContents .canvas .box1.arrow::before {
    top: 117px;
    right: -20px;
    transform: rotate(-90deg); }
  body.product.line-up #kankyo .subContents .canvas .box1.arrow > div.arrow::after {
    bottom: -96px;
    left: 75px; }
  body.product.line-up #kankyo .subContents .canvas .box1.arrow > div.arrow::before {
    bottom: -66px;
    left: 87px;
    height: 66px; }
  body.product.line-up #kankyo .subContents .canvas .box2.arrow::after {
    top: 31px;
    right: -72px;
    transform: rotate(-90deg); }
  body.product.line-up #kankyo .subContents .canvas .box2.arrow::before {
    top: 18px;
    right: -20px;
    transform: rotate(-90deg); }
  body.product.line-up #kankyo .subContents .canvas .box3.arrow::after {
    bottom: -50px;
    left: 75px; }
  body.product.line-up #kankyo .subContents .canvas .box3.arrow::before {
    bottom: -30px;
    left: 87px; }
body.product.line-up #kino .subContents h2 {
  font-size: 2.86rem;
  text-align: center;
  margin: 100px 0 50px; }
  body.product.line-up #kino .subContents h2:first-of-type {
    margin-top: 0; }
body.product.line-up #kino .subContents .table {
  width: 860px;
  margin: 0 auto; }
  body.product.line-up #kino .subContents .table.kinohikaku {
    width: 940px; }
  body.product.line-up #kino .subContents .table table {
    width: 100%; }
    body.product.line-up #kino .subContents .table table th, body.product.line-up #kino .subContents .table table td {
      font-size: 1.125rem;
      font-weight: 700;
      text-align: center;
      border: solid 4px #FAF6EE;
      padding: 5px; }
    body.product.line-up #kino .subContents .table table .lite {
      color: #65C2C7;
      text-align: center;
      background: #CEECEE; }
    body.product.line-up #kino .subContents .table table .pro {
      color: #2E3192;
      text-align: center;
      background: #DBE0F1; }
    body.product.line-up #kino .subContents .table table thead .lite, body.product.line-up #kino .subContents .table table thead .pro {
      font-size: 2.27rem;
      font-weight: 400;
      background: none; }
    body.product.line-up #kino .subContents .table table tbody th {
      text-align: left;
      background: #efefef;
      padding-left: 30px; }
    body.product.line-up #kino .subContents .table table tbody img {
      width: 36px; }
    body.product.line-up #kino .subContents .table table tbody .movie, body.product.line-up #kino .subContents .table table tbody .blog {
      color: #9fa0a0;
      font-weight: 400; }
body.product.line-up #kino .subContents .kinos li {
  background: #fff;
  margin-top: 50px; }
  body.product.line-up #kino .subContents .kinos li h3 {
    font-size: 2rem;
    background: #efefef;
    padding: 10px 40px; }
  body.product.line-up #kino .subContents .kinos li > div {
    padding: 20px 50px 30px; }
    body.product.line-up #kino .subContents .kinos li > div figure {
      text-align: center;
      margin-bottom: 30px; }
body.product.line-up #tasai {
  padding: 60px 0; }
  body.product.line-up #tasai .btn {
    margin-top: 30px; }
body.product.line-up #plan .plan {
  margin-bottom: 60px; }
  body.product.line-up #plan .plan .name {
    text-align: center;
    margin-bottom: 40px; }
    body.product.line-up #plan .plan .name h3 {
      font-size: 5.2rem;
      line-height: 1.3;
      padding: 40px 0 0 0;
      position: relative; }
      body.product.line-up #plan .plan .name h3::before {
        content: "";
        width: 60px;
        height: 27px;
        background: no-repeat left top/100% auto;
        position: absolute;
        top: 0;
        left: calc(50% - 30px); }
    body.product.line-up #plan .plan .name .eye {
      font-size: 3.3rem; }
  body.product.line-up #plan .plan .midashi {
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    margin: 60px 0 15px; }
    body.product.line-up #plan .plan .midashi span {
      background: linear-gradient(transparent 60%, #acdee1 60%);
      padding: 0 20px; }
    body.product.line-up #plan .plan .midashi.midashi2 span {
      background: linear-gradient(transparent 60%, #fded99 60%); }
  body.product.line-up #plan .plan .box1 {
    box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.16);
    padding: 40px 38px; }
    body.product.line-up #plan .plan .box1 h4 {
      font-size: 2.4rem;
      text-align: center; }
    body.product.line-up #plan .plan .box1 .komeindent {
      margin: 50px 40px; }
      body.product.line-up #plan .plan .box1 .komeindent li {
        line-height: 1.6;
        margin-bottom: 5px;
        padding: 0 0 0 1.5rem;
        position: relative; }
        body.product.line-up #plan .plan .box1 .komeindent li::before {
          content: "※";
          position: absolute;
          top: 0;
          left: 0; }
  body.product.line-up #plan .plan.lite-plan h3 {
    color: #65C2C7; }
    body.product.line-up #plan .plan.lite-plan h3::before {
      background-image: url(../images/common/bo_lite.svg); }
  body.product.line-up #plan .plan.lite-plan .eye {
    color: #65C2C7; }
  body.product.line-up #plan .plan.lite-plan .box1 {
    background: #CEECEE; }
    body.product.line-up #plan .plan.lite-plan .box1 h4 {
      color: #65C2C7; }
  body.product.line-up #plan .plan.pro-plan h3 {
    color: #2E3192; }
    body.product.line-up #plan .plan.pro-plan h3::before {
      background-image: url(../images/common/bo_pro.svg); }
  body.product.line-up #plan .plan.pro-plan .eye {
    color: #000; }
  body.product.line-up #plan .plan.pro-plan .box1 {
    background: #DBE0F1; }
  body.product.line-up #plan .plan.lite-plan .flow {
    margin: 80px 42px 0;
    position: relative; }
    body.product.line-up #plan .plan.lite-plan .flow::before {
      content: "";
      width: 153px;
      height: 115px;
      background: url(../images/lineup/s_01.png) no-repeat;
      position: absolute;
      top: -50px;
      left: 0; }
    body.product.line-up #plan .plan.lite-plan .flow h4 {
      margin-bottom: 20px; }
    body.product.line-up #plan .plan.lite-plan .flow .btn.wh {
      position: absolute;
      top: 10px;
      right: 0; }
      body.product.line-up #plan .plan.lite-plan .flow .btn.wh .b-type02 {
        color: #000;
        width: 200px;
        background: #fff;
        border: solid 1px #000; }
    body.product.line-up #plan .plan.lite-plan .flow ol {
      margin: 0 0 60px -30px;
      display: flex;
      counter-reset: item; }
      body.product.line-up #plan .plan.lite-plan .flow ol li {
        width: 190px;
        background: #fff;
        margin: 0 0 0 26px;
        padding: 20px;
        position: relative; }
        body.product.line-up #plan .plan.lite-plan .flow ol li p {
          color: #65C2C7;
          font-size: 1.2rem;
          font-weight: 700;
          line-height: 1.5;
          text-align: center;
          padding-bottom: 50px; }
        body.product.line-up #plan .plan.lite-plan .flow ol li::before {
          counter-increment: item;
          content: "0" counter(item);
          color: #65C2C7;
          font-size: 2.2rem;
          font-weight: 700;
          line-height: 1;
          position: absolute;
          bottom: 10px;
          right: 10px; }
        body.product.line-up #plan .plan.lite-plan .flow ol li::after {
          content: "";
          width: 20px;
          height: 20px;
          border-top: solid 1px #fff;
          border-right: solid 1px #fff;
          position: absolute;
          top: 50%;
          right: -12px;
          transform: rotate(45deg) translateY(-50%); }
        body.product.line-up #plan .plan.lite-plan .flow ol li:nth-child(4n)::after, body.product.line-up #plan .plan.lite-plan .flow ol li:last-child::after {
          content: none; }
    body.product.line-up #plan .plan.lite-plan .flow .btn {
      text-align: center; }
      body.product.line-up #plan .plan.lite-plan .flow .btn .b-type02 {
        width: 270px;
        background: #65C2C7; }
  body.product.line-up #plan .plan.pro-plan .flow {
    margin: 80px 42px 0;
    position: relative; }
    body.product.line-up #plan .plan.pro-plan .flow::before {
      content: "";
      width: 153px;
      height: 115px;
      background: url(../images/lineup/s_01.png) no-repeat;
      position: absolute;
      top: -50px;
      left: 0; }
    body.product.line-up #plan .plan.pro-plan .flow h4 {
      margin-bottom: 20px; }
    body.product.line-up #plan .plan.pro-plan .flow .btn.wh {
      position: absolute;
      top: 10px;
      right: 0; }
      body.product.line-up #plan .plan.pro-plan .flow .btn.wh .b-type02 {
        color: #000;
        width: 200px;
        background: #fff;
        border: solid 1px #000; }
    body.product.line-up #plan .plan.pro-plan .flow ol {
      margin: 0 0 20px -30px;
      display: flex;
      flex-wrap: wrap;
      counter-reset: item;
      position: relative; }
      body.product.line-up #plan .plan.pro-plan .flow ol::after {
        content: "";
        width: 217px;
        height: 136px;
        background: url(../images/lineup/s_02.png) no-repeat;
        position: absolute;
        bottom: 30px;
        right: -20px; }
      body.product.line-up #plan .plan.pro-plan .flow ol li {
        width: 190px;
        background: #fff;
        margin: 0 0 40px 26px;
        padding: 20px;
        position: relative; }
        body.product.line-up #plan .plan.pro-plan .flow ol li p {
          color: #2E3192;
          font-size: 1.2rem;
          font-weight: 700;
          line-height: 1.5;
          text-align: center;
          padding-bottom: 50px; }
        body.product.line-up #plan .plan.pro-plan .flow ol li::before {
          counter-increment: item;
          content: "0" counter(item);
          color: #2E3192;
          font-size: 2.2rem;
          font-weight: 700;
          line-height: 1;
          position: absolute;
          bottom: 10px;
          right: 10px; }
        body.product.line-up #plan .plan.pro-plan .flow ol li::after {
          content: "";
          width: 20px;
          height: 20px;
          border-top: solid 1px #fff;
          border-right: solid 1px #fff;
          position: absolute;
          top: 50%;
          right: -12px;
          transform: rotate(45deg) translateY(-50%); }
        body.product.line-up #plan .plan.pro-plan .flow ol li:nth-child(4n)::after, body.product.line-up #plan .plan.pro-plan .flow ol li:last-child::after {
          content: none; }
    body.product.line-up #plan .plan.pro-plan .flow .btn {
      text-align: center; }
      body.product.line-up #plan .plan.pro-plan .flow .btn .b-type02 {
        width: 270px;
        background: #2E3192; }

@media screen and (max-width: 756px) {
  body.product.line-up #main {
    padding-top: 0; }
    body.product.line-up #main .lead {
      margin: 8vw 0; }
      body.product.line-up #main .lead .dobooklogo {
        width: 40vw;
        margin: 0 auto 3vw; }
      body.product.line-up #main .lead h1 {
        font-size: 1.5rem; }
      body.product.line-up #main .lead .subtit {
        font-size: 1rem; }
      body.product.line-up #main .lead .btn {
        text-align: center;
        margin-top: 4vw; }
        body.product.line-up #main .lead .btn .b-type02 {
          width: 60vw; }
    body.product.line-up #main .lineups li {
      padding: 5vw;
      margin-bottom: 6vw;
      display: block; }
      body.product.line-up #main .lineups li .name {
        width: 100%; }
        body.product.line-up #main .lineups li .name h3 {
          font-size: 2.2rem; }
      body.product.line-up #main .lineups li .text {
        width: 100%; }
        body.product.line-up #main .lineups li .text .btn {
          text-align: center;
          margin-top: 5vw; }
          body.product.line-up #main .lineups li .text .btn .b-type02 {
            width: 60vw; }
      body.product.line-up #main .lineups li:nth-child(1) .name {
        padding-top: 0; }
      body.product.line-up #main .lineups li:nth-child(2) .name {
        padding-top: 0; }
      body.product.line-up #main .lineups li:nth-child(3) .name {
        padding-top: 0; }
  body.product.line-up #kankyo .subContents h2 {
    font-size: 2rem;
    margin-bottom: 6vw; }
  body.product.line-up #kankyo .subContents .canvas {
    height: auto; }
    body.product.line-up #kankyo .subContents .canvas .box {
      margin-bottom: 10vw;
      position: static; }
      body.product.line-up #kankyo .subContents .canvas .box.box1 {
        width: 100%; }
      body.product.line-up #kankyo .subContents .canvas .box.box2 {
        width: 75vw; }
      body.product.line-up #kankyo .subContents .canvas .box.box3 {
        width: 100%; }
      body.product.line-up #kankyo .subContents .canvas .box.box4 {
        width: 100%; }
      body.product.line-up #kankyo .subContents .canvas .box > div {
        padding: 4vw; }
        body.product.line-up #kankyo .subContents .canvas .box > div h3 {
          font-size: 1.5rem; }
        body.product.line-up #kankyo .subContents .canvas .box > div p {
          padding: 0; }
        body.product.line-up #kankyo .subContents .canvas .box > div figure {
          margin-top: 4vw; }
      body.product.line-up #kankyo .subContents .canvas .box.box2 > div {
        padding-top: 4vw;
        padding-bottom: 4vw; }
        body.product.line-up #kankyo .subContents .canvas .box.box2 > div figure {
          margin-top: 4vw; }
    body.product.line-up #kankyo .subContents .canvas .arrow::after {
      width: 8vw;
      height: calc(8vw / 42 * 33);
      background-size: 100% auto; }
    body.product.line-up #kankyo .subContents .canvas .arrow::before {
      width: 4vw;
      height: 20vw; }
    body.product.line-up #kankyo .subContents .canvas .box1.arrow::after {
      top: 176vw;
      right: 5vw;
      transform: rotate(0); }
    body.product.line-up #kankyo .subContents .canvas .box1.arrow::before {
      top: 70vw;
      right: 7vw;
      transform: rotate(0);
      height: 107vw; }
    body.product.line-up #kankyo .subContents .canvas .box1.arrow > div.arrow::after {
      bottom: -10vw;
      left: 20vw; }
    body.product.line-up #kankyo .subContents .canvas .box1.arrow > div.arrow::before {
      bottom: -5vw;
      left: 22vw;
      height: 5vw; }
    body.product.line-up #kankyo .subContents .canvas .box2.arrow::after {
      top: 176vw;
      right: auto;
      left: 20vw;
      transform: rotate(0); }
    body.product.line-up #kankyo .subContents .canvas .box2.arrow::before {
      top: 158vw;
      right: auto;
      left: 22vw;
      transform: rotate(0); }
    body.product.line-up #kankyo .subContents .canvas .box3.arrow::after {
      top: 292vw;
      bottom: auto;
      left: 42vw; }
    body.product.line-up #kankyo .subContents .canvas .box3.arrow::before {
      top: 274vw;
      bottom: auto;
      left: 44vw; }
  body.product.line-up #kino .subContents h2 {
    font-size: 2rem;
    margin-bottom: 6vw;
    margin: 15vw 0 5vw; }
  body.product.line-up #kino .subContents .table {
    width: 100%; }
    body.product.line-up #kino .subContents .table.kinohikaku {
      width: 100%; }
    body.product.line-up #kino .subContents .table table th, body.product.line-up #kino .subContents .table table td {
      font-size: 1rem;
      line-height: 1.6;
      border: solid 3px #FAF6EE;
      padding: 2vw; }
    body.product.line-up #kino .subContents .table table thead .lite, body.product.line-up #kino .subContents .table table thead .pro {
      font-size: 1.25rem; }
    body.product.line-up #kino .subContents .table table tbody th {
      padding: 2vw; }
    body.product.line-up #kino .subContents .table table tbody img {
      width: 7vw; }
  body.product.line-up #kino .subContents .kinos li {
    margin-top: 8vw; }
    body.product.line-up #kino .subContents .kinos li h3 {
      font-size: 1.5rem;
      padding: 2vw 5vw; }
    body.product.line-up #kino .subContents .kinos li > div {
      padding: 3vw 5vw; }
      body.product.line-up #kino .subContents .kinos li > div figure {
        margin-bottom: 5vw; }
  body.product.line-up #tasai {
    padding: 6vw 0; }
    body.product.line-up #tasai .btn {
      margin-top: 4vw; }
  body.product.line-up #plan .plan {
    margin-bottom: 6vw; }
    body.product.line-up #plan .plan .name {
      margin-bottom: 5vw; }
      body.product.line-up #plan .plan .name h3 {
        font-size: 1.5rem; }
    body.product.line-up #plan .plan .name {
      text-align: center;
      margin-bottom: 6vw; }
      body.product.line-up #plan .plan .name h3 {
        font-size: 2.5rem;
        padding: 10vw 0 0 0;
        position: relative; }
        body.product.line-up #plan .plan .name h3::before {
          width: 10vw;
          height: calc(10vw / 60 * 27);
          left: calc(50% - 5vw); }
      body.product.line-up #plan .plan .name .eye {
        font-size: 1.5rem; }
    body.product.line-up #plan .plan .midashi {
      font-size: 1.3rem;
      margin: 6vw 0 3vw; }
      body.product.line-up #plan .plan .midashi span {
        padding: 0 2vw; }
    body.product.line-up #plan .plan .box1 {
      box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.16);
      padding: 5vw 4vw; }
      body.product.line-up #plan .plan .box1 h4 {
        font-size: 1.5rem; }
      body.product.line-up #plan .plan .box1 .komeindent {
        margin: 6vw 0; }
        body.product.line-up #plan .plan .box1 .komeindent li {
          font-size: .85rem; }
    body.product.line-up #plan .plan.lite-plan .flow {
      margin: 10vw 0 0; }
      body.product.line-up #plan .plan.lite-plan .flow::before {
        width: 30vw;
        height: calc(30vw / 153 * 115);
        background-size: 100% auto;
        top: -25vw;
        left: -5vw; }
      body.product.line-up #plan .plan.lite-plan .flow h4 {
        margin: 30vw 0 0; }
      body.product.line-up #plan .plan.lite-plan .flow .btn.wh {
        top: 12vw; }
        body.product.line-up #plan .plan.lite-plan .flow .btn.wh .b-type02 {
          color: #000;
          width: 200px;
          background: #fff;
          border: solid 1px #000; }
      body.product.line-up #plan .plan.lite-plan .flow ol {
        margin: 0 0 10vw -10vw;
        flex-wrap: wrap; }
        body.product.line-up #plan .plan.lite-plan .flow ol li {
          width: 34vw;
          margin: 0 0 5vw 10vw;
          padding: 4vw; }
          body.product.line-up #plan .plan.lite-plan .flow ol li p {
            font-size: 1rem;
            padding-bottom: 14vw; }
          body.product.line-up #plan .plan.lite-plan .flow ol li:nth-child(4n)::after, body.product.line-up #plan .plan.lite-plan .flow ol li:last-child::after {
            content: ""; }
          body.product.line-up #plan .plan.lite-plan .flow ol li:last-child::after {
            content: none; }
      body.product.line-up #plan .plan.lite-plan .flow .btn .b-type02 {
        width: 60vw; }
    body.product.line-up #plan .plan.pro-plan .flow {
      margin: 10vw 0 0; }
      body.product.line-up #plan .plan.pro-plan .flow::before {
        width: 30vw;
        height: calc(30vw / 153 * 115);
        background-size: 100% auto;
        top: -23vw;
        left: -5vw; }
      body.product.line-up #plan .plan.pro-plan .flow h4 {
        margin: 30vw 0 0; }
      body.product.line-up #plan .plan.pro-plan .flow .btn.wh {
        top: 12vw; }
      body.product.line-up #plan .plan.pro-plan .flow ol {
        margin: 0 0 10vw -10vw;
        flex-wrap: wrap; }
        body.product.line-up #plan .plan.pro-plan .flow ol::after {
          width: 46vw;
          height: calc(46vw / 217 * 136);
          background-size: 100% auto;
          bottom: 8vw;
          right: -3vw; }
        body.product.line-up #plan .plan.pro-plan .flow ol li {
          width: 34vw;
          margin: 0 0 5vw 10vw;
          padding: 4vw; }
          body.product.line-up #plan .plan.pro-plan .flow ol li p {
            font-size: 1rem;
            padding-bottom: 14vw; }
          body.product.line-up #plan .plan.pro-plan .flow ol li:nth-child(4n)::after, body.product.line-up #plan .plan.pro-plan .flow ol li:last-child::after {
            content: ""; }
          body.product.line-up #plan .plan.pro-plan .flow ol li:last-child::after {
            content: none; }
      body.product.line-up #plan .plan.pro-plan .flow .btn .b-type02 {
        width: 60vw; } }
body.product.free_apply #price,
body.product.free_apply-thanks #price {
  padding-top: 0; }
  body.product.free_apply #price .productName,
  body.product.free_apply-thanks #price .productName {
    text-align: center;
    background: #fff;
    margin-bottom: 60px;
    padding: 60px 0 40px; }
    body.product.free_apply #price .productName h2,
    body.product.free_apply-thanks #price .productName h2 {
      font-size: 4.6rem;
      font-weight: 700;
      line-height: 1;
      padding-top: 40px;
      position: relative; }
      body.product.free_apply #price .productName h2::before,
      body.product.free_apply-thanks #price .productName h2::before {
        content: "";
        width: 60px;
        height: calc(60px / 37 * 16);
        background: url(../images/common/bo_yellow.svg) no-repeat left top/100% auto;
        position: absolute;
        top: 0;
        left: calc(50% - 30px); }
    body.product.free_apply #price .productName .eye,
    body.product.free_apply-thanks #price .productName .eye {
      color: #666;
      font-size: 2rem; }
  body.product.free_apply #price .plan,
  body.product.free_apply-thanks #price .plan {
    box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.16);
    background: #fff;
    margin-bottom: 60px;
    padding: 40px 80px; }
    body.product.free_apply #price .plan .name,
    body.product.free_apply-thanks #price .plan .name {
      text-align: center;
      margin-bottom: 40px; }
      body.product.free_apply #price .plan .name h3,
      body.product.free_apply-thanks #price .plan .name h3 {
        font-size: 1.9rem;
        font-weight: 700;
        line-height: 1.3;
        padding: 20px 0 0 0;
        /*					position: relative;*/
        /*					&::before {
        						content: "";
        						width: 37px;
        						height: 16px;
        						background: url(../images/common/bo_yellow.svg) no-repeat left top/100% auto;
        						position: absolute;
        						top: 0;
        						left: calc(50% - 16px);
        					}*/ }
      body.product.free_apply #price .plan .name .eye,
      body.product.free_apply-thanks #price .plan .name .eye {
        color: #666; }
    body.product.free_apply #price .plan figure,
    body.product.free_apply-thanks #price .plan figure {
      text-align: center; }
    body.product.free_apply #price .plan .note,
    body.product.free_apply-thanks #price .plan .note {
      border: solid 1px #B3B3B3;
      border-radius: 20px;
      margin: 0 50px 30px;
      padding: 20px 60px; }
    body.product.free_apply #price .plan .btn,
    body.product.free_apply-thanks #price .plan .btn {
      text-align: center; }
      body.product.free_apply #price .plan .btn .b-type02,
      body.product.free_apply-thanks #price .plan .btn .b-type02 {
        width: 270px; }
  body.product.free_apply #price .kinoList,
  body.product.free_apply-thanks #price .kinoList {
    margin: 0 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative; }
    body.product.free_apply #price .kinoList::before, body.product.free_apply #price .kinoList::after,
    body.product.free_apply-thanks #price .kinoList::before,
    body.product.free_apply-thanks #price .kinoList::after {
      content: " ";
      width: 110px;
      display: block;
      order: 1; }
    body.product.free_apply #price .kinoList li,
    body.product.free_apply-thanks #price .kinoList li {
      width: 110px;
      height: 110px;
      margin: 0 5px 15px;
      perspective: 150rem;
      position: relative; }
      body.product.free_apply #price .kinoList li .front,
      body.product.free_apply #price .kinoList li .back,
      body.product.free_apply-thanks #price .kinoList li .front,
      body.product.free_apply-thanks #price .kinoList li .back {
        width: 100%;
        height: 100%;
        border-radius: 10px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transition: .6s;
        cursor: pointer; }
      body.product.free_apply #price .kinoList li .back,
      body.product.free_apply-thanks #price .kinoList li .back {
        text-align: center;
        background: #494848;
        padding: 10px 5px;
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: center; }
      body.product.free_apply #price .kinoList li .front,
      body.product.free_apply-thanks #price .kinoList li .front {
        border-radius: 10px; }
        body.product.free_apply #price .kinoList li .front img,
        body.product.free_apply-thanks #price .kinoList li .front img {
          border-radius: 10px; }
      body.product.free_apply #price .kinoList li:hover .front,
      body.product.free_apply-thanks #price .kinoList li:hover .front {
        transform: rotateY(180deg); }
      body.product.free_apply #price .kinoList li .back,
      body.product.free_apply-thanks #price .kinoList li .back {
        transform: rotateY(180deg); }
        body.product.free_apply #price .kinoList li .back p,
        body.product.free_apply-thanks #price .kinoList li .back p {
          color: #fff;
          font-size: .7rem;
          font-weight: 700;
          line-height: 1.5;
          font-feature-settings: "palt"; }
      body.product.free_apply #price .kinoList li:hover .back,
      body.product.free_apply-thanks #price .kinoList li:hover .back {
        transform: rotateY(360deg); }
body.product.free_apply #easy h3,
body.product.free_apply-thanks #easy h3 {
  font-size: 3rem;
  text-align: center;
  margin: 0 0 50px; }
  body.product.free_apply #easy h3 span,
  body.product.free_apply-thanks #easy h3 span {
    font-size: 165%; }
body.product.free_apply #easy ol li,
body.product.free_apply-thanks #easy ol li {
  background: #fff;
  border-left: solid 35px #F9D200;
  box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.16);
  margin: 0 0 30px;
  padding: 50px 20px 50px 40px;
  display: flex;
  justify-content: space-between; }
  body.product.free_apply #easy ol li .text,
  body.product.free_apply-thanks #easy ol li .text {
    width: 532px; }
    body.product.free_apply #easy ol li .text .step,
    body.product.free_apply-thanks #easy ol li .text .step {
      color: #fff;
      font-size: 2rem;
      line-height: 1.4;
      background: #000;
      padding: 0 40px;
      display: inline-block;
      position: relative;
      left: -55px; }
      body.product.free_apply #easy ol li .text .step span,
      body.product.free_apply-thanks #easy ol li .text .step span {
        font-size: 168%; }
    body.product.free_apply #easy ol li .text h4,
    body.product.free_apply-thanks #easy ol li .text h4 {
      font-size: 2.4rem;
      margin: 15px 0 0; }
  body.product.free_apply #easy ol li figure,
  body.product.free_apply-thanks #easy ol li figure {
    width: 374px; }
body.product.free_apply .otameshitext,
body.product.free_apply-thanks .otameshitext {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  background: #f9d200;
  padding: 15px 0 5px; }

@media screen and (max-width: 756px) {
  body.product.free_apply #price .productName,
  body.product.free_apply-thanks #price .productName {
    margin-bottom: 6vw;
    padding: 6vw 0 4vw; }
    body.product.free_apply #price .productName h2,
    body.product.free_apply-thanks #price .productName h2 {
      font-size: 2.5rem;
      padding-top: 30px; }
      body.product.free_apply #price .productName h2::before,
      body.product.free_apply-thanks #price .productName h2::before {
        width: 40px;
        height: calc(40px / 37 * 16);
        left: calc(50% - 20px); }
    body.product.free_apply #price .productName .eye,
    body.product.free_apply-thanks #price .productName .eye {
      font-size: 1.5rem; }
  body.product.free_apply #price .plan,
  body.product.free_apply-thanks #price .plan {
    margin-bottom: 6vw;
    padding: 6vw 5vw 8vw; }
    body.product.free_apply #price .plan .name,
    body.product.free_apply-thanks #price .plan .name {
      margin-bottom: 5vw; }
      body.product.free_apply #price .plan .name h3,
      body.product.free_apply-thanks #price .plan .name h3 {
        font-size: 1.5rem; }
    body.product.free_apply #price .plan figure,
    body.product.free_apply-thanks #price .plan figure {
      margin: 0 5vw 5vw; }
    body.product.free_apply #price .plan .note,
    body.product.free_apply-thanks #price .plan .note {
      border-radius: 10px;
      margin: 0 0 6vw;
      padding: 4vw; }
    body.product.free_apply #price .plan .btn,
    body.product.free_apply-thanks #price .plan .btn {
      text-align: center; }
      body.product.free_apply #price .plan .btn .b-type02,
      body.product.free_apply-thanks #price .plan .btn .b-type02 {
        width: 60vw; }
  body.product.free_apply #price .kinoList,
  body.product.free_apply-thanks #price .kinoList {
    margin: 0; }
    body.product.free_apply #price .kinoList::before, body.product.free_apply #price .kinoList::after,
    body.product.free_apply-thanks #price .kinoList::before,
    body.product.free_apply-thanks #price .kinoList::after {
      width: calc(calc(100% - 15px) / 4); }
    body.product.free_apply #price .kinoList li,
    body.product.free_apply-thanks #price .kinoList li {
      width: calc(calc(100% - 15px) / 4);
      height: calc(calc(100% - 15px) / 4);
      margin: 0 0 5px;
      perspective: none; }
      body.product.free_apply #price .kinoList li .front,
      body.product.free_apply #price .kinoList li .back,
      body.product.free_apply-thanks #price .kinoList li .front,
      body.product.free_apply-thanks #price .kinoList li .back {
        transition: 0; }
      body.product.free_apply #price .kinoList li .back,
      body.product.free_apply-thanks #price .kinoList li .back {
        display: none; }
      body.product.free_apply #price .kinoList li:hover .front,
      body.product.free_apply-thanks #price .kinoList li:hover .front {
        transform: none; }
  body.product.free_apply #easy h3,
  body.product.free_apply-thanks #easy h3 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 8vw; }
    body.product.free_apply #easy h3 span,
    body.product.free_apply-thanks #easy h3 span {
      font-size: 175%; }
  body.product.free_apply #easy ol li,
  body.product.free_apply-thanks #easy ol li {
    border-left: solid 6vw #F9D200;
    margin: 0 0 6vw;
    padding: 5vw;
    display: block; }
    body.product.free_apply #easy ol li .text,
    body.product.free_apply-thanks #easy ol li .text {
      width: 100%; }
      body.product.free_apply #easy ol li .text .step,
      body.product.free_apply-thanks #easy ol li .text .step {
        font-size: 1.5rem;
        padding: 0 6vw;
        left: -8vw; }
      body.product.free_apply #easy ol li .text h4,
      body.product.free_apply-thanks #easy ol li .text h4 {
        font-size: 1.8rem; }
    body.product.free_apply #easy ol li figure,
    body.product.free_apply-thanks #easy ol li figure {
      width: 100%; }
  body.product.free_apply .otameshitext,
  body.product.free_apply-thanks .otameshitext {
    font-size: 1.8rem; } }
body.posts .blog-body-block .wrap {
  max-width: 1260px;
  text-align: center;
  background: #fff;
  margin: 0 auto; }
  body.posts .blog-body-block .wrap .subContents {
    width: 1100px; }
body.posts.function .blog-body-block {
  background: #D6DDEA; }
body.posts.case .blog-body-block {
  background: #e6e6e6; }
body.posts.blog .blog-body-block {
  background: #b9c1ad; }
body.posts #blogTitle {
  padding: 50px 0; }
  body.posts #blogTitle h1 {
    font-size: 2.8rem;
    font-weight: 700;
    text-align: center; }
  body.posts #blogTitle .subtit {
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center; }
body.posts.function #blogTitle {
  background: #D6DDEA; }
body.posts.case #blogTitle {
  background: #e6e6e6; }
body.posts.blog #blogTitle {
  padding-top: 120px;
  background: url(../images/blog/yaei_bg_01.png) #b9c1ad no-repeat center 40px; }
  body.posts.blog #blogTitle h1 {
    color: #fff;
    line-height: 1.5; }
body.posts .h-bog-type01 {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  margin: 0 0 25px; }
body.posts .catList {
  width: 801px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  body.posts .catList li {
    width: 200px;
    text-align: center;
    border-right: solid 1px #000;
    border-bottom: solid 1px #000; }
    body.posts .catList li:nth-child(-n+4) {
      border-top: solid 1px #000; }
    body.posts .catList li:nth-child(4n-3) {
      border-left: solid 1px #000; }
    body.posts .catList li a {
      color: #000;
      text-decoration: none;
      padding: 5px 10px;
      display: block; }
    body.posts .catList li.current-cat a,
    body.posts .catList li a:hover {
      color: #fff;
      background: #000; }
body.posts .l-type01 {
  /* 一般的な記事一覧*/
  width: 1024px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  body.posts .l-type01::before, body.posts .l-type01::after {
    content: " ";
    width: 312px;
    display: block;
    order: 1; }
  body.posts .l-type01 li {
    width: 312px;
    margin-bottom: 50px;
    position: relative; }
    body.posts .l-type01 li i {
      font-size: .8rem;
      font-style: normal;
      border: solid 1px #000;
      background: #fff;
      padding: 0 10px;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 2; }
    body.posts .l-type01 li figure {
      width: 100%;
      margin-bottom: 15px; }
      body.posts .l-type01 li figure img {
        width: 312px;
        height: 210px;
        object-fit: cover; }
    body.posts .l-type01 li .date {
      font-size: .85rem;
      text-align: right;
      margin-bottom: 6px; }
    body.posts .l-type01 li .blogTitle {
      font-size: 1.33rem;
      font-weight: 700;
      line-height: 1.5;
      display: -webkit-box;
      overflow: hidden;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical; }
    body.posts .l-type01 li .excerpt {
      margin: 15px 0 0; }
      body.posts .l-type01 li .excerpt p {
        color: #7A7A7A;
        font-size: .8rem;
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical; }
body.posts .l-type02 {
  /* ピックアップとか3つ並び 　幅広*/
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  body.posts .l-type02::before, body.posts .l-type02::after {
    content: " ";
    width: 346px;
    display: block;
    order: 1; }
  body.posts .l-type02 li {
    width: 346px;
    position: relative; }
    body.posts .l-type02 li i {
      font-size: .8rem;
      font-style: normal;
      border: solid 1px #000;
      background: #fff;
      padding: 0 10px;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 2; }
    body.posts .l-type02 li figure {
      width: 100%;
      margin-bottom: 15px; }
      body.posts .l-type02 li figure img {
        width: 346px;
        height: 233px;
        object-fit: cover; }
    body.posts .l-type02 li .date {
      font-size: .85rem;
      text-align: right;
      margin: 0 15px 5px; }
    body.posts .l-type02 li #blogTitle {
      font-size: 1.33rem;
      font-weight: 700;
      line-height: 1.5;
      display: -webkit-box;
      overflow: hidden;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical; }
    body.posts .l-type02 li .excerpt {
      margin: 15px 10px 0; }
      body.posts .l-type02 li .excerpt p {
        color: #7A7A7A;
        font-size: .8rem;
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 5;
        -webkit-box-orient: vertical; }
body.posts #kanren {
  width: 1024px;
  margin: 0 auto; }
  body.posts #kanren .row {
    display: flex;
    justify-content: space-between; }
    body.posts #kanren .row > div {
      width: 50%;
      border: solid 1px #fff; }
      body.posts #kanren .row > div h3 {
        font-size: 1.47rem;
        font-weight: 700;
        border-bottom: solid 2px #fff;
        padding: 15px 20px; }
      body.posts #kanren .row > div ul li {
        padding: 15px 20px;
        border-bottom: solid 2px #fff;
        display: flex;
        justify-content: space-between; }
        body.posts #kanren .row > div ul li figure {
          width: 170px; }
          body.posts #kanren .row > div ul li figure img {
            width: 170px;
            height: 114px;
            object-fit: cover; }
        body.posts #kanren .row > div ul li .text {
          width: 280px;
          display: flex;
          flex-direction: column; }
          body.posts #kanren .row > div ul li .text .blogTitle {
            line-height: 1.5;
            display: -webkit-box;
            overflow: hidden;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical; }
          body.posts #kanren .row > div ul li .text i {
            margin: auto 0 0 auto;
            font-size: .8rem;
            font-style: normal;
            border: solid 1px #000;
            background: #fff;
            padding: 0 10px;
            z-index: 2; }
body.posts.function #kanren .row {
  background: #d6ddea; }
body.posts.case #kanren .row {
  background: #e6e6e6; }
body.posts.blog #kanren .row {
  background: #cfd5c7; }

@media screen and (max-width: 756px) {
  body.posts #main {
    padding-bottom: 0; }
  body.posts .blog-body-block .wrap {
    max-width: initial;
    width: 94vw; }
    body.posts .blog-body-block .wrap .subContents {
      width: 90vw; }
    body.posts .blog-body-block .wrap .sec:first-of-type {
      padding-top: 10vw; }
  body.posts #blogTitle {
    padding: 10vw 0 6vw; }
    body.posts #blogTitle h1 {
      font-size: 1.8rem; }
    body.posts #blogTitle .subtit {
      font-size: 1.2rem; }
  body.posts.blog #blogTitle {
    padding-top: 26vw;
    background: url(../images/blog/yaei_bg_01_sp.png) #b9c1ad no-repeat center 20px/100% auto; }
    body.posts.blog #blogTitle h1 {
      font-size: 1.5rem; }
  body.posts .h-bog-type01 {
    font-size: 1.6em;
    margin: 0 0 5vw; }
  body.posts .catList {
    width: 100%; }
    body.posts .catList li {
      width: 50%; }
      body.posts .catList li:nth-child(-n+4) {
        border-top: none; }
      body.posts .catList li:nth-child(-n+2) {
        border-top: solid 1px #000; }
      body.posts .catList li:nth-child(2n-1) {
        border-left: solid 1px #000; }
  body.posts .l-type01 {
    /* 一般的な記事一覧*/
    width: 100%;
    display: block; }
    body.posts .l-type01::before, body.posts .l-type01::after {
      content: none; }
    body.posts .l-type01 li {
      width: 100%;
      margin-bottom: 8vw; }
      body.posts .l-type01 li figure {
        margin-bottom: 3vw; }
        body.posts .l-type01 li figure img {
          width: 90vw;
          height: calc(90vw * 624 / 420); }
      body.posts .l-type01 li .excerpt {
        margin-top: 2vw; }
  body.posts .l-type02 {
    /* ピックアップとか3つ並び 　幅広*/
    display: block; }
    body.posts .l-type02::before, body.posts .l-type02::after {
      content: none; }
    body.posts .l-type02 li {
      width: 100%;
      margin-bottom: 6vw; }
      body.posts .l-type02 li figure {
        margin-bottom: 3vw; }
        body.posts .l-type02 li figure img {
          width: 82vw;
          height: calc(82vw / 624 * 420); }
      body.posts .l-type02 li .date {
        margin: 0 0 5px; }
      body.posts .l-type02 li .excerpt {
        margin: 2vw 0 0; }
  body.posts #kanren {
    width: 100%; }
    body.posts #kanren .row {
      display: block; }
      body.posts #kanren .row > div {
        width: 100%; }
        body.posts #kanren .row > div h3 {
          font-size: 1.25rem;
          padding: 3vw 4vw; }
        body.posts #kanren .row > div ul li {
          padding: 3vw 4vw;
          display: flex;
          justify-content: space-between; }
          body.posts #kanren .row > div ul li figure {
            width: 30vw; }
            body.posts #kanren .row > div ul li figure img {
              width: 30vw;
              height: calc(30vw / 624 * 420); }
          body.posts #kanren .row > div ul li .text {
            width: calc(100% - 35vw); } }
body.posts.single .blog-body-block .wrap {
  max-width: 1100px; }
body.posts.single .blog-body-block #article {
  width: 900px;
  margin: 0 100px; }
  body.posts.single .blog-body-block #article .cat {
    text-align: right;
    margin-bottom: 10px; }
    body.posts.single .blog-body-block #article .cat i {
      margin: 0 0 0 auto;
      font-style: normal;
      border: solid 1px #000;
      background: #fff;
      padding: 0 10px; }
  body.posts.single .blog-body-block #article .pageTitle {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 60px; }
  body.posts.single .blog-body-block #article .date {
    text-align: right;
    margin: 0 0 30px; }
  body.posts.single .blog-body-block #article .honbun {
    line-height: 1.6; }
    body.posts.single .blog-body-block #article .honbun #toc_container {
      border-left: none;
      border-right: none;
      margin: 0 60px;
      padding: 40px 0; }
      body.posts.single .blog-body-block #article .honbun #toc_container .toc_title {
        font-size: 1.1rem;
        text-align: left;
        margin: 0 0 0 10px; }
      body.posts.single .blog-body-block #article .honbun #toc_container .toc_list {
        font-size: 1.075rem;
        margin-left: 30px; }
        body.posts.single .blog-body-block #article .honbun #toc_container .toc_list li {
          margin-bottom: 5px;
          padding-left: 1.5em;
          position: relative; }
          body.posts.single .blog-body-block #article .honbun #toc_container .toc_list li::before {
            content: "";
            width: .8rem;
            height: .8rem;
            background: #000;
            position: absolute;
            top: .3rem;
            left: 0; }
    body.posts.single .blog-body-block #article .honbun h2 {
      font-size: 1.8rem;
      border-left: solid 12px #999;
      margin: 1.5em 0;
      padding: 5px 0 5px 20px; }
    body.posts.single .blog-body-block #article .honbun h3 {
      font-size: 1.5rem;
      margin: 1.5em 0; }
    body.posts.single .blog-body-block #article .honbun p {
      font-size: 1.1rem;
      line-height: 1.8;
      margin: 1em 50px 1.5em; }
    body.posts.single .blog-body-block #article .honbun ul {
      font-size: 1.075rem;
      list-style: disc;
      margin: 1em 50px 1.5em 70px; }
      body.posts.single .blog-body-block #article .honbun ul li {
        line-height: 1.5;
        margin-bottom: 5px; }
    body.posts.single .blog-body-block #article .honbun ol {
      list-style: numeric;
      margin: 1em 50px 1.5em 70px; }
      body.posts.single .blog-body-block #article .honbun ol li {
        line-height: 1.5;
        margin-bottom: 5px; }
    body.posts.single .blog-body-block #article .honbun figcaption {
      text-align: center; }
body.posts.single .pagination {
  margin-top: 100px; }
  body.posts.single .pagination .prev, body.posts.single .pagination .next {
    width: 410px;
    border: solid 1px #999;
    padding: 10px;
    position: relative;
    display: flex;
    justify-content: space-between; }
    body.posts.single .pagination .prev::after, body.posts.single .pagination .next::after {
      content: "";
      width: 8px;
      height: 8px;
      border-top: solid 2px #000;
      border-right: solid 2px #000;
      position: absolute;
      top: 50%; }
    body.posts.single .pagination .prev figure, body.posts.single .pagination .next figure {
      width: 118px; }
      body.posts.single .pagination .prev figure img, body.posts.single .pagination .next figure img {
        width: 118px;
        height: 60px;
        object-fit: cover; }
    body.posts.single .pagination .prev .text, body.posts.single .pagination .next .text {
      width: 230px; }
      body.posts.single .pagination .prev .text .title, body.posts.single .pagination .next .text .title {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; }
  body.posts.single .pagination .prev {
    padding-left: 30px;
    float: left; }
    body.posts.single .pagination .prev::after {
      transform: rotate(-135deg) translateY(calc(-50% + 5px));
      left: 10px; }
  body.posts.single .pagination .next {
    padding-right: 30px;
    float: right; }
    body.posts.single .pagination .next::after {
      transform: rotate(45deg) translateY(-50%);
      right: 13px; }
body.posts.single.blog .cat i {
  background: #95a283;
  color: #000;
  border-color: #b3b3b3; }
body.posts.single.function .blog-body-block .honbun h2 {
  border-left-color: #5e74d0; }
body.posts.single.case .blog-body-block .honbun h2 {
  border-left-color: #656666; }
body.posts.single.blog .blog-body-block .honbun h2 {
  border-left-color: #b9c1ad; }

@media screen and (max-width: 756px) {
  body.posts.single .blog-body-block .wrap {
    max-width: initial; }
  body.posts.single .blog-body-block #article {
    width: 100%;
    margin: 0; }
    body.posts.single .blog-body-block #article .pageTitle {
      font-size: 1.5rem;
      margin-bottom: 6vw; }
    body.posts.single .blog-body-block #article .honbun #toc_container {
      border-left: none;
      border-right: none;
      margin: 0;
      padding: 3vw 2vw; }
      body.posts.single .blog-body-block #article .honbun #toc_container .toc_list {
        margin-left: 4vw;
        margin-right: 0; }
    body.posts.single .blog-body-block #article .honbun h2 {
      font-size: 1.4rem; }
    body.posts.single .blog-body-block #article .honbun h3 {
      font-size: 1.25rem; }
    body.posts.single .blog-body-block #article .honbun p {
      margin: 1em 0 1.5em; }
  body.posts.single .pagination {
    margin-top: 10vw; }
    body.posts.single .pagination .prev, body.posts.single .pagination .next {
      width: 39vw;
      display: block; }
      body.posts.single .pagination .prev figure, body.posts.single .pagination .next figure {
        width: calc(39vw - 40px); }
        body.posts.single .pagination .prev figure img, body.posts.single .pagination .next figure img {
          width: calc(39vw - 40px);
          height: calc(39vw / 110 * 60);
          object-fit: cover; }
      body.posts.single .pagination .prev .text, body.posts.single .pagination .next .text {
        width: 100%;
        margin-top: 10px; }
    body.posts.single .pagination .prev {
      padding-left: 24px; }
    body.posts.single .pagination .next {
      padding-right: 24px; } }

/*# sourceMappingURL=style.css.map */
