@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
header, main, article, footer, section, nav { display: block; }
img { vertical-align: bottom; }
li { list-style-type: none; }
.clearfix::after {
	content: '';
	display: block;
	clear: both;
}
input, button, select, textarea, label { appearance: none; }

/* 共通
------------------------------ */
body, input, button, select, option, label, textarea, pre { font-family: 'Zen Maru Gothic', Meiryo, sans-serif; font-weight: 500; }
body { background-color: #fff; color: #323232; }
body, input[type="button"], input[type="submit"], input[type="reset"], button, select, option, label, pre { font-size: 116%; }
input[type="text"], input[type="email"], input[type="number"], textarea { font-size: 124%; }
/* 
------------------------------ */

body {
    margin: 0;
    overflow-x: hidden;
}

a,a:hover,a:visited {
    color: inherit;
}

a {
    text-decoration: none;
    position: relative;
    transition: all 0.5s 0s ease;
}

a::before {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    display: block;
    width: 0;
    border-bottom: solid 2px #FFE1AB;
    transition: all 0.5s 0s ease;
}

a:hover::before {
    width: 100%;
}

h2.line {
    text-align: center;
    font-size: 1.64em;
    font-weight: 700;
    margin: 0 auto 64px;
}
h2.line > span {
    position: relative;
    background: linear-gradient(transparent 70%, pink 0%);
}
h2.line > span::before {
    position: absolute;
    top: 31px;
    left: -6.5px;
    z-index: -1;
    content: '';
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background-color: pink;
}
h2.line > span::after {
    position: absolute;
    bottom: 0;
    right: -6.5px;
    z-index: -1;
    content: '';
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background-color: pink;
}
h2.line > span span {
   font-size: 1.72em;
    font-weight: 900;
   line-height: 1;
   vertical-align: baseline;
   padding: 0 0.24em;
}
h2.line.orange > span {
    background: linear-gradient(transparent 70%, #FFF2DE 0%);
}
h2.line.orange > span::before, 
h2.line.orange > span::after {
    background-color: #FFF2DE;
}
h2.line.blue > span {
    background: linear-gradient(transparent 70%, #E6F1FF 0%);
}
h2.line.blue > span::before, 
h2.line.blue > span::after {
    background-color: #E6F1FF;
}
@media only screen and (max-width: 960px) {
    h2.line {
        font-size: 1.32em;
        margin: 0 auto 36px;
    }
    h2.line > span::before {
        top: 24px;
        left: -5.5px;
        width: 11px;
        height: 11px;
    }
    h2.line > span::after {
        right: -5.5px;
        width: 11px;
        height: 11px;
    }
}
@media only screen and (max-width: 640px) {
    h2.line {
        font-size: 1.16em;
        margin: 0 auto 24px;
    }
    h2.line > span::before {
        top: 22px;
        left: -4.5px;
        width: 9px;
        height: 9px;
    }
    h2.line > span::after {
        right: -4.5px;
        width: 9px;
        height: 9px;
    }
}

img {
}

header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    height: 128px;
    background-color: rgba(255, 255, 255, 0.86);
}

@media only screen and (max-width: 960px) {
  header {
    height: 72px;
  }
}


header#menu .menulogo .income_model{
    margin: 1%;
}

#menu {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    -webkit-box-flex: inherit;
}

.leftmenu {
    position: relative;
    display: flex;
}

@media only screen and (max-width: 1000px) {
    .leftmenu {
        width: 75%;
    }
}

.leftmenu li span{
    font-size: 1.08em;
    font-weight: 900;
    line-height: 1.2em;
    margin-left: 1.5%;
    white-space: nowrap;
}

@media only screen and (max-width: 1536px) {
    .leftmenu li span{
        font-size: 1em;
    }
}

@media only screen and (max-width: 1280px) {
    .leftmenu li span{
        font-size: 1em;
    }
}

@media only screen and (max-width: 960px){
    .leftmenu li span {
        font-size: 0.72em;
    }
}

@media only screen and (max-width: 1100px) {
    .rightmenu .income_model,.rightmenu .mail {
        display: none;
    }
}

.rightmenu {
    position: relative;
    align-items: center;
    display: flex;
    padding-right: 40px;
}

.rightmenu .income_model,.rightmenu .mail {
    padding-right: 32px;
}

@media only screen and (max-width: 1280px) {
    .rightmenu li {
        margin: 0.5%;
    }
    .rightmenu .income_model, .rightmenu .mail {
        margin-right: 1%;
    }
}

@media only screen and (max-width: 780px) {
    .rightmenu {
      display: none;
    }
}

@media only screen and (max-width: 640px) {
    .income_model {
        display: none;
    }
}

.rightmenu .header_cv {
    display: flex;
    justify-content: center;
    letter-spacing: -1px;
    font-size: 0.72em;
    font-weight: 900;
    white-space: nowrap;
}

@media only screen and (max-width: 960px) {
    .rightmenu .header_cv {
        display: block;
    }
}


.rightmenu .income_model a {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    height: 56px;
    line-height: 56px;
    border: solid 2px #ffe4b4;
    border-radius: 32px;
    color: #ed8318;
    background-color: #fff;
    padding: 0 1.5em;
    font-size: 0.9em;
    font-weight: 900;
    letter-spacing: 1px;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.5s 0s ease;
}
.rightmenu .income_model a:hover {
    top: 2px;
    left: 2px;
}

@media only screen and (max-width: 1536px) {
    .rightmenu .income_model a {
        font-size: 0.75em;
        padding: 0 0.8em;
    }
}

.rightmenu .income_model a::before {
    position: relative;
    bottom: unset;
    content: '';
    display: inline-block;
    width: 36px;
    height: 36px;
    margin: 0 0.64em 0 0;
    -webkit-mask: url(/images4/s-1.svg) no-repeat top center;
    background-color: #ed8318;
    vertical-align: middle;
}

.rightmenu .mail a {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    height: 56px;
    line-height: 56px;
    border: solid 2px #8ec31f;
    border-radius: 32px;
    color: #8ec31f;
    background-color: #fff;
    padding: 0 1.5em;
    font-size: 0.9em;
    font-weight: 900;
    letter-spacing: 1px;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.5s 0s ease;
}
.rightmenu .mail a:hover {
    top: 2px;
    left: 2px;
}

@media only screen and (max-width: 1536px) {
    .rightmenu .mail a {
        font-size: 0.75em;
        padding: 0 0.8em;
    }
}

@media only screen and (max-width: 1280px) {
    .rightmenu .income_model a {
        height: 44px;
        line-height: 44px;
        font-size: 55%;
    }
    .rightmenu .mail a {
        height: 44px;
        line-height: 44px;
        font-size: 55%;
    }
    .rightmenu .income_model a::before {
      width: 26px;
      height: 26px;
    }
}

.rightmenu .mail a::before {
    position: relative;
    top: 1px;
    bottom: unset;
    content: '';
    display: inline-block;
    width: 27px;
    height: 27px;
    margin: 0 0.64em 0 0;
    -webkit-mask: url(/images4/top_mail1.svg) no-repeat top center;
    background-color: #8ec31f;
    vertical-align: middle;
}

@media only screen and (max-width: 1280px) {
    .rightmenu .mail a::before {
      width: 20px;
      height: 20px;
    }
    .rightmenu .income_model, .rightmenu .mail {
      padding-right: 16px;
      margin: 0;
    }
}

.rightmenu ul {
    top: 5%;
}

.rightmenu img {
    width: 100%;
}

.menu_logo {
    display: flex;
    align-items: center;
    padding: 0 40px;
    height: 128px;
}
.menu_logo img {
    height: 50%;
}

.menu_description {
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 960px) {
    .menu_logo {
        padding: 0 24px;
        height: 72px;
    }
    .menu_logo img {
        height: 66.666666%;
    }
}


.tel {
    font-size: 3.4em;
    margin-bottom: 12px;
    top: 5%;
}


.tel_box {
    width: 100%;
    max-width: 25vw;
    margin: 0 auto;
    text-align: center;
    line-height: 1;
}

.tel_box span.tel::before {
    content: '';
    display: inline-block;
    width: 0.72em;
    height: 0.72em;
    margin-right: 0.24em;
    -webkit-mask: url(/images4/tel.svg) no-repeat center;
    background-color: #323232;
    vertical-align: baseline;
}

.tel_box a {
    display: block;
    text-decoration: none;
    color: #323232;
}
.tel_box a::before {
    display: none;
}

.tel_box span:nth-child(1) {
    padding-top: 3%;
    font-size: 2.4em;
    white-space: nowrap;
}

@media only screen and (max-width: 1536px) {
    .tel_box span:nth-child(1) {
        font-size: 2.4em;
    }
}

@media only screen and (max-width: 1280px) {
    .tel_box span:nth-child(1) {
        font-size: 2em;
    }
}

@media only screen and (max-width: 960px) {
    .tel_box {
      display: none;
    }
}

.tel_box span {
    display: block;
    font-size: 1em;
    font-weight: 700;
}

@media only screen and (max-width: 1536px) {
    .tel_box span:nth-child(2) {
        font-size: 0.75em;
}
}

@media only screen and (max-width: 1280px) {
    .tel_box span:nth-child(2) {
        font-size: 0.65em;
}
}

#wrapper {
    width: 100%;
    margin: 0 auto;
}
#wrapper > section {
    padding: 72px 0 128px;
}
@media only screen and (max-width: 1536px) {
    #wrapper > section {
        width: 94%;
        margin: 0 auto;
    }
}
@media only screen and (max-width: 960px) {
    #wrapper > section {
        padding: 48px 0 72px;
    }
}
@media only screen and (max-width: 640px) {
    #wrapper > section {
        padding: 32px 0 48px;
    }
}


#fujilife {
    position: relative;
    top: -20px;
    opacity: 0;
    width: 100%;
    margin: 0 auto 2%;
    max-width: 1536px;
    transition: all 0.5s 0s ease;
}

@media only screen and (max-width: 1536px) {
    #fujilife {
        margin: 0 auto 36px;
    }
}
@media only screen and (max-width: 960px) {
    #fujilife {
        margin: 0 auto 24px;
    }
}

#fujilife.move {
    opacity: 1;
    top: 0;
}

.fujilife_wrap {
    margin: 0 auto;
    width: 100%;
    max-width: 90vw;
    display: flex;
    justify-content: center;
    position: relative;
}
.fujilife_wrap::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: '';
    display: block;
    width: 100%;
    height: 50%;
    background-color: #fff2de;
    border-radius: 48px;
}

.fujilife_wrap .fujilife_img {
    position: relative;
    z-index: 1;
    width: 45%;
}
.fujilife_wrap .fujilife_img img {
    position: absolute;
    bottom: 0;
    right: 10%;
    width: 80%;
}
.fujilife_wrap .fujilife_word {
    position: relative;
    z-index: 1;
    width: 55%;
    text-align: center;
    padding: 3%;
    border-radius: 50px;
    border: solid 4px #fff2de;
    background: #fff;
    margin: 0 10% 48px 0;
}

@media only screen and (max-width: 1536px) {
    .fujilife_wrap {
        width: 94%;
    }
    .fujilife_wrap .fujilife_word {
        height: auto;
        top: 3%;
    }
}
@media only screen and (max-width: 960px) {
    .fujilife_wrap .fujilife_word {
        width: 100%;
        margin: 0;
    }
    .fujilife_wrap::before {
        display: none;
    }
    .fujilife_wrap .fujilife_img {
        display: none;
    }
}
@media only screen and (max-width: 640px) {
    .fujilife_wrap .fujilife_word {
        padding: 5% 1.32em;
    }
}
#fujilife_img img {
    width: 90vw;
}

.fujilife_word img {
    width: 50%;
    max-width: 323px;
}

.fujilife_word p {
    text-align: left;
    font-size: 0.9em;
    padding-top: 3%;
    line-height: 1.6;
}

@media only screen and (max-width: 1536px) {
    .fujilife_word p {
    }
}

@media only screen and (max-width: 1280px) {
    .fujilife_word p {
    }
}


.under {
    position: relative; /* 下線の両端の●の座標がここを起点に設定するためにつけてます */
    z-index: 1; /* これがないと●が後ろに隠れることがあるのでつけてます */
    background: linear-gradient(transparent 70%, #fff2de 0%); /* 下線です。要素の高さの70％は透明、残り30%に黄色をつけます。文字サイズ変更などで要素の高さが変わると太さも変わります */
    display: inline-block; /* inline のままだとmarginなど一部CSSがつかないので変更します。block にすると複数行になったとき最終行にしか下線がつかないので、inline-block がベターです */
    margin: 0 0.64em; /* 両端に●を配置するので、両脇少し空けます */
    white-space: nowrap; /* 途中で改行すると崩れるので改行禁止してます */
}

  /* 下線の左端の● */
.under::before {
    position: absolute;
    top: 17px;
    left: -3.5px;
    z-index: -1;
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #fff2de;
}

  /* 下線の右端の● */
.under::after {
    position: absolute;
    bottom: 0;
    right: -3.5px;
    z-index: -1;
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #fff2de
}

#topimg {
  position: relative;
  top: -20px;
  opacity: 0;
  transition: all 0.5s 0s ease;
  margin-top: 128px;
}
#topimg.move {
  opacity: 1;
  top: 0;
}

#topimg .slide div img {
    width: 100%;
}
#topimg .badge {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 6.666666666666667%;
  margin: auto 0;
  height: fit-content;
}
#topimg .badge div {
  display: block;
}
#topimg .badge .limited {
  width: 100%;
  max-width: 192px;
  margin: 0 0 0 auto;
}
#topimg .badge .limited img {
  width: 100%;
}
#topimg .badge .toushi {
  width: 100%;
  max-width: 256px;
}
#topimg .badge .toushi img {
  width: 100%;
}

@media only screen and (max-width: 1440px) {
    #topimg .badge .limited {
      max-width: 128px;
    }
    #topimg .badge .toushi {
      max-width: 192px;
    }
}

@media only screen and (max-width: 1024px) {
    #topimg .badge .limited {
      max-width: 72px;
    }
    #topimg .badge .toushi {
      max-width: 128px;
    }
}

@media only screen and (max-width: 960px) {
    #topimg {
      margin-top: 72px;
    }
}

@media only screen and (max-width: 680px) {
    #topimg .badge {
      display: none;
    }
}


#wrapper .monthly-sales {
    position: relative;
    top: -20px;
    opacity: 0;
    width: 50%;
    padding: 24px 64px 0;
    line-height: 1.5;
    margin: -128px 0 72px 0;
    background-color: #fff;
    border-radius: 0 48px 0 0;
    transition: all 0.5s 0s ease;
}
#wrapper .monthly-sales.move {
    top: 0;
    opacity: 1;
}

.monthly-sales::before {
    position: absolute;
    top: calc(128px - 48px);
    right: -48px;
    content: '';
    display: block;
    width: 48px;
    height: 48px;
    background-image: url(/images4/topimg_corner.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

@media only screen and (max-width: 1280px) {
    #wrapper .monthly-sales {
        width: 100%;
        max-width: 80%;
        margin: 0 auto 64px;
        background-color: transparent;
        padding: 0;
    }
    .monthly-sales::before {
        display: none;
    }
}

/* 見出し要素 */
.monthly {
    font-size: 2em;
    line-height: 1.2;
}

  /* 下線を引きたいところ */
.monthly .underline {
    position: relative;
    z-index: 1;
    background: linear-gradient(transparent 70%, #fff2de 0%);
    display: inline-block;
    margin: 0 0.64em;
    white-space: nowrap;
}
  /* 下線の左端の● */
.monthly .underline::before {
    position: absolute;
    top: 49px;
    left: -9.5px;
    z-index: -1;
    content: '';
    display: inline-block;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background-color: #fff2de;
}

  /* 下線の右端の● */
.monthly .underline::after {
    position: absolute;
    bottom: 0;
    right: -9.5px;
    z-index: -1;
    content: '';
    display: inline-block;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background-color: #fff2de
}

  /* 下線内の大文字 */
.monthly .underline span {
    font-size: 1.8em;
    line-height: 1;
}

@media only screen and (max-width: 1280px) {
    .monthly {
      display: inline-block;
      margin-top: 3%;
      font-size: 1.64em;
    }
    .monthly .underline::before {
      top: 39px;
      left: -8.5px;
      width: 17px;
      height: 17px;
    }
    .monthly .underline::after {
      right: -8.5px;
      width: 17px;
      height: 17px;
    }
}
@media only screen and (max-width: 1100px) {
  .monthly {
    top: -50px;
  }
}
@media only screen and (max-width: 640px) {
    .monthly {
      font-size: 1.24em;
    }
    .monthly .underline::before {
      top: 30px;
      left: -6.5px;
      width: 13px;
      height: 13px;
    }
    .monthly .underline::after {
      right: -6.5px;
      width: 13px;
      height: 13px;
    }
}



.number {
    font-size: 3.2em;
    font-weight: bold;
    vertical-align: baseline;
    line-height: 0.7;
}

@media only screen and (max-width: 1536px) {
    .number {
        font-size: 3em;
    }
}

@media only screen and (max-width: 1280px) {
    .number {
        font-size: 2.5em;
    }
}

.flex-title ul {
    display: flex;
    align-items: center;
    font-size: 1.16em;
    font-weight: 700;
    margin: 16px 0;
}

li span.text {
    font-size: 1em;
    font-weight: bold;
    align-items: center;
    display: flex;
}

@media only screen and (max-width: 1280px) {
    li span.text {
        font-size: 0.8em;
    }
}

.title {
    width: 100%;
    margin: 5% auto;
}

#creator_img {
    position: relative;
    width: 100%;
    height: auto;
    max-width: 960px;
    margin: 0 auto;
}

#creator_img img {
    max-width: 100%;
    display: block;
    margin: 0 auto;
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
}

#creator {
    max-width: 960px;
    width: 100%;
    margin: 2% auto;
    border: 6px solid;
    border-color: #FFE1AB;
    border-radius: 20px;
    margin: 0 auto;
}

#strong {
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
#strong.move {
    opacity: 1;
    top: 0;
}

#strong .flex-wrap {
    margin: 0 auto 16px;
}


#creator p {
    padding: 32px 24px;
    font-size: 88%;
}

@media only screen and (max-width:1280px){
    #creator p {
        font-size: 70%;
    }
    
  }


/* レイアウト部分をラッピングし、
Flexboxを指定"space-between"で各アイテムを均等に配置し、
最初と最後のアイテムを端に*/

.flex-wrap {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    max-width: 1536px;
    margin: 0 auto 32px;
}

/* レイアウトを1カラムで配置 */
.flex-list {
    margin: 0 auto;
    padding: 0;
    width: 100%;
}


/* レイアウト内の画像を幅いっぱいに表示 */
#flex-list img {
    display: block;
    max-width: 100%;
    height: auto;
}

.flex-figure {
    margin: 0;
    padding: 0;
}

.flex-figure img {
    margin: 2% auto;
}
/* レイアウトのタイトル部分 */
.flex-title {
    margin: 0 auto;
    text-align: left;
	margin: 0;
}

/* 画面幅1281px以上の場合カードレイアウトを3カラムで配置 */
@media only screen and (min-width: 1281px) {
    .flex-list {
        width: calc((100% - (48px * 2)) / 3);
        margin: 0;
    }
}
@media only screen and (max-width: 1280px) {
    .flex-list {
        width: calc((100% - (16px * 2)) / 3);
    }
}
@media only screen and (max-width: 960px) {
    .flex-title ul {
      margin: 16px 0;
    }
    .flex-list {
        width: 100%;
        margin-bottom: 32px;
    }
    .flex-list:last-child {
        margin-bottom: 0;
    }
}


.balloon {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
.balloon img {
    max-width: 100%;
}


#merit {
    position: relative;
    top: -20px;
    opacity: 0;
    width: 100%;
    margin: 0 auto;
    padding: 72px 0 128px;
    transition: all 0.5s 0s ease;
}
#merit.move {
    opacity: 1;
    top: 0;
}

@media only screen and (max-width: 960px) {
  #merit {
      padding: 48px 0 72px;
  }
}

.container_creator {
    display: flex;
    width: 100%;
    max-width: 1536px;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 24px;
}


.column_creator {
    width: calc((100% - 24px) / 2);
    padding: 0;
    margin-bottom: 24px;
}

.column_creator img {
  width: 100%;
}

@media only screen and (max-width: 960px) {
    .container_creator {
        display: block;
    }
    .column_creator {
        width: 100%;
    }
    .column_creator:last-child {
        margin-bottom: 0;
    }
}

aside {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: 32px auto 0;
    border: 2px dotted;
    border-color: #FFE1AB;
    border-radius: 20px;
}



@media only screen and (max-width:1280px){
    aside {
        width: 100%;
    }
}

#hozyo-balloon {
    position: relative;

}
#hozyo-balloon img {
    width: 100%;
    max-width: 494px;
    margin: 0 auto;
    position: absolute;
    top: -30px;
    left: 2%;
}

@media only screen and (max-width:1280px){
    #hozyo-balloon img {
        width: 60%;
    }
}

aside ul {
    width: 100%;
    display: flex;
    justify-content: center;/* flexアイテムの上下中央を指定 */
    align-items: center; /* flexアイテムの左右中央を指定 */
    padding: 4%;
}

aside img {
    width: 100%;
    align-items: center; 
}
aside p {
    text-align: left;
    margin-bottom: 0.64em;
}
aside p:last-child {
    margin-bottom: 0;
}

.hozyo {
    width: 20%;
    margin-right: 2%;
}
.hozyo-text {
    width: 80%;
}

@media only screen and (max-width:1280px){
    .hozyo-text {
      font-size: 0.8em;
    }
}

.hozyo-text span {
    font-weight: bold;
}

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

.contents {
    margin: 0 auto;
}

map {
    position: absolute;
    top: 0;
    left: 0; 
}

.cv_box {
    position: relative;
    top: -20px;
    background-image: url(/images4/cv_bg1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #fff;
    padding: 64px 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
.cv_box.move {
    opacity: 1;
    top: 0;
}


.cv_box nav {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1536px;
    margin: 0 auto;
}

.cv_box nav ul {
    display: flex;
    justify-content: space-between;
}

.cv_box::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
}

@media only screen and (max-width: 1536px) {
    .cv_box nav {
        width: 94%;
    }
}
@media only screen and (max-width: 1280px) {
    .cv_box {
        padding: 32px 0 64px;
    }
}

.cv_exclusive {
  width: 16.66666666666667%;
}
.cv_exclusive img {
    width: 100%;
}

@media only screen and (max-width: 1024px) {
    .cv_exclusive {
        display: none;
    }
    .cv_box nav ul li.cv_average {
        display: none;
    }
}

.cv_average img {
    width: 100%;
}

main .cv_box nav ul li.cv_exclusive img {
    width: 100%;
    vertical-align: bottom;
}

.cv_box nav ul li.cv_average {
  width: 16.66666666666667%;
}

.cv_btn_box .information {
    display: block;
    font-size: 1.48em;
    margin-bottom: 1em;
    text-align: left;
}

@media only screen and (max-width: 1280px) {
    .cv_btn_box .information {
        font-size: 1.1em;
    }
}

.cv_box nav ul li.cv_btn_box .btn_list li .btn.mail {
    font-size: 1.32em;
    line-height: 128px;
    transition: all 0.5s 0s ease;
}
.cv_box nav ul li.cv_btn_box .btn_list li .btn.mail:hover {
    background-color: rgba(255, 255, 255, 0.92);
    color: #BF1753;
}

@media only screen and (max-width: 1280px) {
    .cv_box nav ul li.cv_btn_box .btn_list li .btn.mail {
        font-size: 1em;
        line-height: 100px;
    }
}

.cv_btn_box {
    width: calc(100% - (16.66666666666667% * 2));
    padding: 0 64px;
}

@media only screen and (max-width: 1440px) {
    .cv_btn_box {
        padding: 0 24px;
    }
}
@media only screen and (max-width: 1024px) {
    .cv_btn_box {
        width: 100%;
    }
}

.btn.tel span:nth-child(1) {
    font-size: 0.2em;
}

span.tel_number {
    font-size: 1em;
    font-weight: 700;
    margin-bottom: 0.16em;
}

.cv_box nav ul li.cv_btn_box .btn_list li .btn.tel span.tel_number {
    font-size: 0.75em;
    font-weight: 900;
    margin-bottom: 0.16em;
}

@media only screen and (max-width: 1280px) {
    .cv_box nav ul li.cv_btn_box .btn_list li .btn.tel span.tel_number {
        font-size: 0.5em;
    }
    
}    

.cv_box nav ul li.cv_btn_box .btn_list li .btn.tel span:nth-child(3) {
    font-size: 0.2em;
}

@media only screen and (max-width: 1280px) {
    .cv_box nav ul li.cv_btn_box .btn_list li .btn.tel span:nth-child(3) {
        font-size: 0.1em;
        letter-spacing: -0.1em;
    } 
}    

.cv_box nav ul li.cv_btn_box .btn_list li .btn.tel span {
    font-size: 0.25em;
    display: block;
    line-height: 1;
}

@media only screen and (max-width: 1280px) {
    .cv_box nav ul li.cv_btn_box .btn_list li .btn.tel span {
        font-size: 0.1em;
    }
}    

.cv_box nav ul li.cv_btn_box .btn_list li {
    width: calc((100% - 32px) / 2);
}

.cv_box nav ul li.cv_btn_box .btn_list li .btn.tel {
    padding: 24px 0;
    transition: all 0.5s 0s ease;
}
.cv_box nav ul li.cv_btn_box .btn_list li .btn.tel:hover {
    background-color: rgba(255, 255, 255, 0.92);
    color: #BF1753;
}

.cv_box nav ul li.cv_btn_box .btn_list li .btn.tel span.tel_number::before {
    content: '';
    display: inline-block;
    width: 0.72em;
    height: 0.72em;
    margin-right: 0.32em;
    -webkit-mask: url(/images4/tel.svg) no-repeat center;
    background-color: #fff;
    vertical-align: baseline;
}
.cv_box nav ul li.cv_btn_box .btn_list li .btn.tel:hover span.tel_number::before {
    background-color: #BF1753;
}

.cv_box nav ul li.cv_btn_box .btn_list li a {
    display: block;
    height: 128px;
    border-radius: 64px;
    text-align: center;
    border: solid 1.75px #fff;
}

.cv_box nav ul li.cv_btn_box .btn_list li a::before {
  display: none;
}

@media only screen and (max-width: 1280px) {
    .cv_box nav ul li.cv_btn_box .btn_list li a {
        height: 100px;
    }    
}    

.cv_box nav a {
    color: #fff;
    text-decoration: none;
}

.cv_box nav ul li.cv_btn_box .btn_list li .btn.mail span::before {
    content: '';
    display: inline-block;
    width: 1.32em;
    height: 1.32em;
    margin-right: 0.48em;
    -webkit-mask: url(/images4/mail.svg) no-repeat center;
    background-color: #fff;
    vertical-align: text-bottom;
}
.cv_box nav ul li.cv_btn_box .btn_list li .btn.mail:hover span::before {
    background-color: #BF1753;
}

@media only screen and (max-width: 840px) {
    .cv_box nav ul {
        display: block;
    }
    .cv_box nav ul li.cv_btn_box .btn_list li {
        width: 100%;
    }
}

.cv_area {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 12px;
    padding: 0 10% 1%;
}

.wave-y {
    padding-bottom: 10px;
    background: url(/images4/parts.png) repeat-x bottom left / auto 10px;
  }


section.month {
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
section.month.move {
    opacity: 1;
    top: 0;
}

.month {
    margin: 0 auto;
    padding: 72px 0 128px;
    width: 100%;
    max-width: 1536px;
}

#short-month {
    margin: 0 auto;
    padding: 36px 0 64px;
    width: 100%;
    max-width: 1280px;
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
#short-month.move {
    opacity: 1;
    top: 0;
}

@media only screen and (max-width: 960px) {
  .month {
      padding: 48px 0 72px;
  }

}

.four-achievement {
    max-width: 90vw;
    margin: 0 auto;
}

.four-achievement p {
    margin: 0 auto 3%;
    text-align: left;
    font-size: 1em;
    max-width: 960px;
}

@media only screen and (max-width: 960px) {
    .four-achievement p {
        font-size: 0.8em;
    }
}

.four_img {
    width: 100%;
    margin: 0 auto;
    max-width: 1280px;
}

.four_img .center_line {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    margin: 0 auto;
}

.four_img .center_line::before {
    border-bottom: 6px dotted #FFE1AB;
    content: "";
    position: absolute;
    top: 25%;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
    width: 100%;
}


.four_img .center_line li {
    width: calc((100% - (32px * 5)) / 6);
    text-align: center;
}

.four_img .center_line li img {
  width: 100%;
}

@media only screen and (max-width: 960px) {
    .four_img .center_line::before {
        display: none;
    }
    .four_img .center_line li {
        width: calc((100% - (32px * 2)) / 3);
        margin-bottom: 32px;
    }
}


.wave-b {
    padding-bottom: 10px;
    background: url(/images4/parts1.png) repeat-x bottom left / auto 10px;
}


#revenue_model {
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
#revenue_model.move {
    opacity: 1;
    top: 0;
}


.achievement {
    margin: 0 auto;
    width: 100%;
    max-width: 960px;
    font-size: 1em;
}

.achievement p {
    margin: 0 auto;
    text-align: left;
    font-size: 1em;
}

@media only screen and (max-width: 960px) {
    .achievement p {
        font-size: 0.8em;
    }
}

.achievement img.graph {
    margin-top: 32px;
  width: 100%;
}

.flex-support {
    width: 100%;
    margin-bottom: 5%;
}

#container-width {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 72px;
}

#container-width .container {
}

.container_flex {
    display: flex;
    justify-content: space-between;
}

.container_flex .column {
    padding: 0;
    width: calc((100% - 48px) / 2);
}
.container_flex .column ul {
    font-size: 0.9em;
}
.container_flex .ballon_size {
    width: 68%;
    padding-bottom: 32px;
}

.container_flex .sample-balloon {
    position: relative;
    display: inline-block;
    background: #EFEFEF;
    border-radius: 30px;
    padding: 16px 24px;
    font-size: 1.4em;
    font-weight: bold;
    color: #48587C;
    width: 100%;
    text-align: left;
    margin-right: 3%;
}

.container_flex .explanation {
    text-align: right;
    padding-right: 32px;
    width: 32%;
    display: flex;
    align-items: end;
}
.container_flex .explanation img {
    
}

@media only screen and (max-width: 1536px) {
    .container_flex .sample-balloon {
        font-size: 1.24em;
    }
}
@media only screen and (max-width: 960px) {
    .container_flex .sample-balloon {
        font-size: 0.8em;
    }
}

.sample-balloon img {
    width: 100%;
}
  
.sample-balloon::before {
    content: "";
    position: absolute;
    bottom: -30px;
    right: 50px;
    margin-top: -30px;
    border: 17px solid transparent;
    border-left: 30px solid #EFEFEF;
    z-index: 0;
    -webkit-transform: rotate(75deg);
    transform: rotate(75deg);
}

.container_flex .sample-balloon_second {
    position: relative;
    display: inline-block;
    background: #EFEFEF;
    border-radius: 30px;
    padding: 16px 24px;
    font-size: 1.4em;
    font-weight: bold;
    color: #7A6A62;
    width: 100%;
    text-align: left;
    margin-right: 3%;
}
.container_flex .sample-balloon_second::after {
  content: '＼おすすめ！／';
  position: absolute;
  top: -2em;
  left: 0;
  width: 100%;
  text-align: center;
  letter-spacing: 0.24em;
  font-size: 0.8em;
  font-weight: 900;
}


@media only screen and (max-width: 1536px) {
    .container_flex .sample-balloon_second {
        font-size: 1.24em;
    }
}
@media only screen and (max-width: 1280px) {
    .container_flex .sample-balloon_second {
        font-size: 1em;
    }
}
@media only screen and (max-width: 960px) {
    .container_flex .sample-balloon_second {
        font-size: 0.8em;
    }
}
  
.container_flex .sample-balloon_second::before {
    content: "";
    position: absolute;
    bottom: -30px;
    right: 50px;
    margin-top: -30px;
    border: 17px solid transparent;
    border-left: 30px solid #EFEFEF;
    z-index: 0;
    -webkit-transform: rotate(75deg);
    transform: rotate(75deg);
}

.sample-balloon_third {
    position: relative;
    background: #EFEFEF;
    border-radius: 30px;
    padding: 24px 32px;
    font-weight: 700;
    color: #7A6A62;
    text-align: left;
}

@media only screen and (max-width: 1280px) {
    .sample-balloon_third {
        margin-top: 32px;
    }
}
  
.sample-balloon_third::before {
    content: "";
    position: absolute;
    right: 50%;
    top: 50px;
    margin-top: -68px;
    border: 17px solid transparent;
    border-left: 30px solid #EFEFEF;
    z-index: 0;
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
}

.container_flex .sample-balloon li, .container_flex .sample-balloon_second li {
    padding: 2% 3%;
    font-size: 1.4em;
    line-height: 1.2;
}

@media only screen and (max-width: 1536px) {
    .container_flex .sample-balloon li, .container_flex .sample-balloon_second li {
        font-size: 1.2em;
    }
}

@media only screen and (max-width: 1280px) {
    .container_flex .sample-balloon li, .container_flex .sample-balloon_second li {
        font-size: 0.9em;
    }
}

.container_flex .sample-balloon_second span {
    margin: 0 3%;
    text-align: center;
}

.container_flex .sample-balloon li img, .container_flex .sample-balloon_second li img{
    width: 100%;
}

.sample-balloon_third .balloon_size {
    padding: 24px 0 16px;
    font-size: 1.4em;
    line-height: 1.2;
    width: 80%;
}

@media only screen and (max-width: 1536px) {
    .sample-balloon_third .balloon_size {
        font-size: 1.2em;
    }
}

@media only screen and (max-width: 1280px) {
    .sample-balloon_third .balloon_size {
        font-size: 1em;
    }
}
@media only screen and (max-width: 960px) {
    .sample-balloon_third .balloon_size {
        font-size: 0.8em;
    }
}

.balloon_size_img {
    width: 100%;
}

.sample-balloon_third span {
    margin: 0 3%;
    text-align: center;
}

.sample_balloon_third_img {
    display: flex;
    width: 100%;
}

.balloon-size_img {
    position: relative;
    width: 20%;
}

.balloon-size_img img {
    position: absolute;
    bottom: 16px;
    width: 100%;
    max-width: 80px;
}

#first {
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
#first.move {
    opacity: 1;
    top: 0;
}


#first .cost {
    width: 100%;
    max-width: 870px;
    border: solid 12px #E6F1FF;
    border-radius: 48px;
    table-layout: fixed;
    line-height: 1.2;
    margin: 0 auto;
}
@media only screen and (max-width: 960px) {
    #first .cost {
        font-size: 0.9em;
    }
}
#first .cost caption {
  font-size: 1.32em;
  font-weight: 900;
  padding: 32px 0;
  letter-spacing: 1px;
}
#first .cost caption span {
  font-size: 0.8em;
  font-weight: 700;
}

#first .cost tbody tr th {
    padding: 1em 10px 1em 1em;
    border-right: dotted 4px #E6F1FF;
    text-align: center;
    border-style: dotted;
    border-width: 0 4px 4px 0;
    border-color: #E6F1FF;
    font-size: 0.9em;
}

#first .cost tbody tr th td {
    text-align: right;
    padding: 16px 24px;
    border-style: dotted;
    border-width: 0 4px 4px 0;
    border-color: #E6F1FF;
}

table tr {
    border-style: dotted;
    border-width: 0 4px 4px 0;
    border-color: #E6F1FF;
}

table td {
    width: 63%;
    text-align: right;
    padding-right: 8%;
    text-align: right;
    border-bottom: dotted;
    border-width: 0 4px 4px 0;
    border-color: #E6F1FF;
}

table th {
    font-weight: normal;
    width: 27%;
}

table td span {
    letter-spacing: -0.2em;
    font-weight: normal;
}

.subtotal, 
.balance_price {
  font-size: 1em;
  font-weight: 900;
  display: inline-block;
  margin-right: 0.24em;
  letter-spacing: 1px;
}

#first .cost tbody tr td .subtotal {
  font-size: 1.4em;
  font-weight: 400;
  
}
@media only screen and (max-width: 960px) {
    #first .cost tbody tr td .subtotal {
        font-size: 1em;
    }
}

table thead tr{
    background-color: #eee;
}

.txt{
     text-align: left;
     font-size: .85em;
}

.price{
     text-align: right;
}

.total .subtotal_last {
  font-weight: 700;
  display: inline-block;
  margin-right: 0.24em;
  letter-spacing: 1px;
}

#first .cost tbody tr .total {
    border-bottom: none;
}

#first .total .subtotal_last {
  font-weight: 700;
  display: inline-block;
  margin-right: 0.24em;
  letter-spacing: 1px;
  font-size: 1.4em;
}

@media only screen and (max-width: 960px) {
    #first .total .subtotal_last {
        font-size: 1em;
    }
}
td.total {
    border-bottom: none;
}

.column_box {
    width: 100%;
}

@media only screen and (max-width: 960px) {
    .column_box {
        width: 70%;
    }
}

.column {
    position: relative;
    padding: 1.5%;
    width: 50%;
}

@media only screen and (max-width: 960px) {
    .column {
        width: 100%;
    }
}

.column_start ul .explanation img {
    width: 100%;
}

.column_title {
    font-size: 1.72em;
}

@media only screen and (max-width: 1280px) {
    .column_title {
        font-size: 1.5em;
    }
}
  
.column ul {
    display: flex;
    width: 100%;
} 

.one_model {
    width: 100%;
}

.model_case {
    display: block;
    margin-top: 0;
    background-color: #003B82;
    border-radius: 24px 24px 0 0;
    color: #fff;
    padding: 24px 0;
    text-align: center;
    font-size: 0.9em;
    width: 100%;
    letter-spacing: 1px;
}

@media only screen and (max-width: 1280px) {
    .model_case {
        font-size: 0.75em;
    }
}

@media only screen and (max-width: 960px) {
    .container_flex {
        display: block;
        width: 100%;
    }
    .container_flex .column {
        width: 100%;
        margin-bottom: 48px;
    }
    .container_flex .column:last-child {
        margin-bottom: 0;
    }
    .container_flex .column .column_box {
        width: 100%;
    }
}

.column_start {
}

.column_start ul {
    display: flex;
    justify-content: space-between;
}

.balance {
    display: block;
    border-color: #003B82;
    border-radius: 0 0 24px 24px;
    background-color: #fff;
    padding: 0 24px 40px;
    text-align: justify;
    width: 100%;
    border: solid 6px #003b82;
}

.model_case_second {
    display: block;
    margin-top: 0;
    background-color: #AD9786;
    border-radius: 24px 24px 0 0;
    color: #fff;
    padding: 24px 0;
    text-align: center;
    font-size: 0.9em;
    width: 100%;
    letter-spacing: 1px;
}

@media only screen and (max-width: 1280px) {
    .model_case_second {
        font-size: 0.75em;
    }
    .column .balance .balance_float {
        display: block;
    }
    .column .balance .balance_float li {
        width: 100%;
    }
    .column .balance_second .balance_float {
        display: block;
    }
    .column .balance_second .balance_float li {
        width: 100%;
    }
    .balance_float li table tr.empty {
        display: none;
    }
}

.column .word_third {
    color: #7A6A62;
    font-size: 1.16em;
    text-align: center;
    letter-spacing: 8px;
}

@media only screen and (max-width: 1280px) {
    .column .word_third {
        font-size: 1em;
    }
}

.balance_second {
    display: block;
    border-color: #AD9786;
    border-radius: 0 0 24px 24px;
    background-color: #fff;
    padding: 0 24px 40px;
    text-align: justify;
    width: 100%;
    border: solid 6px #AD9786;
}

.balance_float {
    display: flex;
    justify-content: space-around;
    width: 100%;
}
.balance_float li {
  width: calc((100% - 32px) / 2);
}

.balance_float li table {
  width: 100%;
  border-collapse: collapse;
}
.balance_float li table tr {
  border: none;
}


@media only screen and (max-width: 1536px) {
    .balance_float {
    }
}

@media only screen and (max-width: 1280px) {
    .balance_float {
    }
}

.balance_bold {
    font-size: 1.16em;
    font-weight: 900;
    letter-spacing: 0.5em;
    text-align: center;
    border-bottom: solid 0.6px #003B82;
    padding: 3%;
}

.balance_bold_second {
    font-weight: 900;
    font-size: 1.16em;
    letter-spacing: 0.5em;
    text-align: center;
    border-bottom: solid 0.6px #AC9685;
    padding: 3%;
}


.balance th, 
.balance td, 
.balance_second th, 
.balance_second td {
    font-weight: 700;
    padding: 0.24em;
    width: 50%;
}
.balance tbody tr:first-child th, 
.balance tbody tr:first-child td, 
.balance_second tbody tr:first-child th, 
.balance_second tbody tr:first-child td {
    padding-top: 1em;
}
.balance tbody tr.title_under th, 
.balance tbody tr.title_under td, 
.balance_second tbody tr.title_under th, 
.balance_second tbody tr.title_under td {
    padding-bottom: 1em;
}

.balance_title {
    letter-spacing: 0em;
}

.balance td {
    text-align: right;
}

.balance_title td .balance_price {
    font-size: 1em;
    font-weight: 900;
    display: inline-block;
    margin-right: 0.24em;
    letter-spacing: 1px;
}

.last_price th, .last_price td {
    border-top: solid 0.6px #003B82;
}

.last_price .total_second, .last_price .total_second{
    border-top: solid 0.6px #AD9786;
}

.balance_title .price_right {
    width: 100%;
    display: inline-block;
}

.dotted_none td {
    border-bottom: none;
    line-height: 1.2;
}

#profit {
    padding: 0;
}

.balance .position_profit {
    z-index: 1;
    line-height: 1.6;
    text-align: center;
    margin: 0.5% auto 3%;
    display: inline-block;
    position: relative;
    font-weight: 900;
    width: 100%;
    margin-top: 5%;
}

.balance .position_profit > span > span {
    display: inline-block;
}

.balance .position_profit > span {
    position: relative;
    background: linear-gradient(transparent 70%, #E6F1FF 0%);
    font-size: 1.3em;
}

.balance .position_profit > span > span {
    line-height: 1;
    font-size: 1.72em;
    letter-spacing: -0.24em;
    margin-right: 0.24em;
}

@media only screen and (max-width: 1280px) {
    .balance .position_profit > span > span {
        letter-spacing: -0.15em;
    }
}


.balance .position_profit > span::before {
    position: absolute;
    top: 24px;
    left: -5px;
    z-index: -1;
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #E6F1FF;
}

.balance .position_profit > span::after {
    position: absolute;
    bottom: 0;
    right: -5px;
    z-index: -1;
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #E6F1FF;
}

.balance_second .position_profit {
    position: relative;
    z-index: 1;
    font-size: 100%;
    line-height: 1.6;
    text-align: center;
    margin: 0.5% auto 3%;
    display: inline-block;
    font-weight: bold;
    width: 100%;
    margin-top: 5%;
}

@media only screen and (max-width: 1280px) {
    .balance_second .position_profit {
        letter-spacing: -0.15em;
    }
}

.balance_second .position_profit > span > span {
    line-height: 1;
    font-weight: 900;
    font-size: 150%;
    letter-spacing: -0.2em;
}

.balance_second .position_profit > span {
    position: relative;
    background: linear-gradient(transparent 70%, #EAE7E5 0%);
    font-size: 1.24em;
}

@media only screen and (max-width: 1536px) {
    .balance_second .position_profit > span {
        font-size: 1.3em;
    }
}

.balance_second .position_profit > span > span {
    line-height: 1;
    font-size: 1.72em;
    letter-spacing: -0.24em;
    margin-right: 0.24em;
}

.balance_second .position_profit > span::before {
    position: absolute;
    top: 24px;
    left: -6px;
    z-index: -1;
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #EAE7E5;
}

.balance_second .position_profit > span::after {
    position: absolute;
    bottom: 0;
    right: -5px;
    z-index: -1;
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #EAE7E5;
}

#container-width_second {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    justify-content: right;
    padding-top: 48px;
}


#container-width_second .container_second {
    width: calc((100% - 48px) / 2);
    padding: 0;
    margin: 0 0 0 auto;
}

#container-width_second .container_second .column {
  padding: 0;
  width: 100%;
}

.support {
    margin: 4% auto;
}

.support p {
    font-size: 1.125rem;
}

@media only screen and (max-width: 1536px) {
    .support p {
        font-size: 1em;
    }
}
@media only screen and (max-width: 960px) {
    #container-width_second .container_second {
        width: 100%;
    }
    #container-width_second {
        padding-top: 0;
    }
}
@media only screen and (max-width: 960px) {
    .support p {
        font-size: 0.8em;
    }
}

.free {
    display: table;
}

.center {
    display: table-cell;
    vertical-align: middle;
}

.table-box {
    display: table; /*テーブル要素に変更*/
    width: 100%;
}

li span.sp-text {
    font-size: 1.2em;
    font-weight: bold;
    line-height: 3;
    white-space: nowrap;
}

.office {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    max-width: 1280px;
    margin: 0 auto;
}

.office-column {
    width: 100%;
    max-width: calc(65% - 48px);
    text-align: left;
    vertical-align: middle;
}

.office-column h2 {
    font-size: 1.4em;
    margin-bottom: 1.16em;
}

.photo {
    width: 100%;
    max-width: 35%;
}

.photo img {
    width: 100%;
}

.office li,h2,h3 {
    margin: 0 auto 64px;
}
#fc-orner {
    padding: 72px 0 128px;
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
#fc-orner.move {
    opacity: 1;
    top: 0;
}

#fc-orner section {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    border-bottom: 3px dotted #FFE1AB;
    padding: 72px 0 128px;
}
#fc-orner section:first-child {
  padding-top: 0;
}
#fc-orner section:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
#fc-orner section .office {
}

#fc-orner .center-line {
    margin: 0;
}

@media only screen and (max-width: 960px) {
    #fc-orner {
        padding: 48px 0 72px;
    }
    #fc-orner section {
        padding: 48px 0 72px;
    }
}
@media only screen and (max-width: 640px) {
    #fc-orner {
        padding: 24px 0 48px;
    }
    #fc-orner section {
        padding: 24px 0 48px;
    }
}

.office-column .orner {
    display: block;
    margin-bottom: 36px;
}
.office-column .orner .facility {
    background-color: #231714;
    color: #fff;
    display: inline-block;
    height: 40px;
    line-height: 40px;
    border-radius: 8px;
    padding: 0 16px;
    margin-right: 0.64em;
    font-size: 0.8em;
    font-weight: 700;
}

.office-column h3 {
    margin-top: 1.64em;
    margin-bottom: 8px;
}
.office-column h3:first-child {
    margin-top: 0;
}

#fc-orner section .office {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1280px;
    margin: 0 auto;
}

@media only screen and (max-width: 1280px){
    #fc-orner section .office {
       width: 94%;
    }
}
@media only screen and (max-width: 960px){
    #fc-orner section {
        padding: 0 0 72px;
    }
    #fc-orner section:nth-child(n+3) {
        padding-top: 48px;
    }
    #fc-orner section:last-child {
        padding-bottom: 0;
    }
    #fc-orner section .office {
        display: block;
        font-size: 0.8em;
    }
    #fc-orner section .office .photo {
        width: 100%;
        max-width: none;
        margin: 32px auto;
    }
    #fc-orner section .office .office-column {
        width: 100%;
        max-width: none;
    }
}
@media only screen and (max-width: 640px){
    #fc-orner section {
        padding: 24px 0 48px;
    }
    #fc-orner section .office .photo {
        margin: 16px auto;
    }
}

.center-line {
    margin-bottom: 8%;
    width: 100%;
}

.dot {
    position: relative;
    text-align: center;
    font-size: 20px;
    max-width: 67vw;
    width: 100%;
    margin: 0 auto;
}
 
.dot::after {
    border-bottom: 3px dotted #FFE1AB;
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
}

@media only screen and (max-width: 1280px) {
.office-column {
    width: 60%;
    max-width: 950px;
    text-align: left;
}

.photo {
    width: 40%;
    max-width: 330px;
}
}

#four-balloon {
    width: 100%;
    margin: 3% auto 0;
}

#four-cause {
    padding: 72px 0 128px;
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
#four-cause.move {
    opacity: 1;
    top: 0;
}

.four-list-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.four-list-wrap .four-list {
    padding: 0;
    width: calc((100% - 48px) / 2);
}

@media only screen and (max-width: 1280px) {
    .four-list-wrap .four-list {
        width: calc((100% - 24px) / 2);
    }
}
@media only screen and (max-width: 960px){
    .four-list-wrap .four-list {
        width: 100%;
    }
}
/* レイアウト内の画像を幅いっぱいに表示 */
#four-list img {
    display: block;
    max-width: 100%;
    height: auto;
}

.flex-figure {
    margin: 0;
    padding: 0;
}

.flex-figure img {
    margin: 0 auto;
    width: 100%;
}

/* レイアウトのタイトル部分 */
.flex-title {
    margin: 0 auto;
    text-align: left;
	margin: 0;
}

.four-number{
    font-weight: bold;
    line-height: 0.7;
}

.four-number img {
    margin-right: 1%;
    width: 100%;
}

.four-text {
    width: 100%;
    margin-left: 0.5em;
    line-height: 3;
    font-size: 1.4em;
    font-weight: bold;
    align-items: center;
    display: flex;
}

@media only screen and (max-width: 1536px) {
    .four-text {
        font-size: 1.2em;
}
}

@media only screen and (max-width: 1280px) {
    .four-text {
        font-size: 0.8em;
    }
}

.four-word {
    margin-bottom: 8%;
    font-size: 1.25em;
}

@media only screen and (max-width: 1536px) {
    .four-word {
        font-size: 1em;
    }
}
@media only screen and (max-width: 960px) {
    .four-word {
        font-size: 0.8em;
    }
}

#entry_title {
    width: 100%;
    margin: 0 auto;
    padding: 72px 0 128px;
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
#entry_title.move {
    opacity: 1;
    top: 0;
}

#entry img {
    margin: 5%
}

#entry p {
    font-size: 1.125rem;
}

.success {
    margin: 0 auto;
}

.success p {
    margin: 0 auto 3%;
    text-align: left;
    font-size: 1em;
    max-width: 960px;
}

.success img {
  display: block;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

@media only screen and (max-width: 960px) {
    .success p {
        font-size: 0.8em;
    }
}

#question {
    padding: 72px 0 128px;
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
#question.move {
    opacity: 1;
    top: 0;
}

@media only screen and (max-width: 1280px){
    #question {
        width: 80%;
        margin: 0 auto;
    }    
}

.question-box {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    border: solid 6px #FFE1AB;
    border-radius: 40px;
    text-align: left;
}   

.question-text {
    font-size: 1em;
    line-height: 1.6;
}

@media only screen and (max-width: 960px){
    .question-box {
        font-size: 0.8em;
    }
}

.faq_list .question {
    display: block;
    position: relative;
    padding: 1% 96px 2% 64px;
    border-bottom: dotted 4px #FFE1AB;
} 
.faq_list .question.open {
    border-bottom: none;
}

.faq_list li:last-child .question {
    border: none;
}


.faq_list .question::before {
    position: relative;
    bottom: unset;
    display: inline;
    content: 'Q.';
    font-size: 2rem;
    letter-spacing: 0.2em;
    font-weight: 500;
    width: auto;
    border: none;
}

.faq_list .question::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 26px;
  content: '';
  display: block;
  width: 26px;
  height: 17px;
  background-image: url(/images4/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin: auto;
  transform: rotate(540deg);
  transition: all 0.5s 0s ease;
}
.faq_list .question.open::after {
  transform: rotate(0deg);
}

.faq_list .answer {
  display: none;
  padding: 1em 64px 16px 64px;
  
}

.faq_list .answer::before {
    position: relative;
    top: -0.5em;
    content: 'A.';
    font-size: 2rem;
    letter-spacing: 0.2em;
    font-weight: 500;
    float: left;
}

.faq_list li img {
    width: 100%;
    max-width: 26px;
    height: auto;
    position: absolute;
    top: 40%;
    left: 94%;
}

.answer {
    background: #FFF9F0;
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    text-align: left;
    padding-bottom: 1.5%;
    border-bottom: dotted;
    border-color: #FFE1AB;
    border-width: 4px;
    position: relative;
}

.answer-text {
    display: block;
    padding-left: 48px;
}

.last {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    text-align: left;
    border-bottom: none;
    border-radius: 0 0 35px 35px;
    position: relative;
    padding-bottom: 4%;
}

.last-text {
    padding-bottom: 4%;
}

@media only screen and (max-width: 640px){
    .question-box {
        border-width: 4px;
        border-radius: 24px;
    }
    .faq_list .question {
        padding: 1% 72px 2% 24px;
    }
    .faq_list .answer {
        padding: 1em 24px 16px 24px;
    }
}

.wave-margin {
}

.foot-inquiry {
    position: fixed;
    z-index: 10000;
    bottom: 250px;
    right: 0;
    pointer-events: none;
}

.foot-tel,.foot-mail,.foot-model {
    width: 100%;
}

.foot-inquiry li a {
    width: 100%;
}
.foot-inquiry li a::before, 
.foot-inquiry li a:hover::before {
  position: relative;
  top: 0;
  border: none;
}


.foot-tel a::before {
  -webkit-mask: url(/images4/foot-tel2.svg) no-repeat center;
    
}

.foot-mail a::before {
    -webkit-mask: url(/images4/foot-mail2.svg) no-repeat center;
}

.foot-model a::before {
    -webkit-mask: url(/images4/foot-model3.svg) no-repeat center;
}


.foot-inquiry ul li a::before {
    content: '';
    display: inline-block;
    width: 80px;
    height: 80px;
    text-align: center;
    background-color: #fff;
    -webkit-mask-size: 24px 24px;
    transition: all 0.25s 0s ease;    
}

.foot-inquiry ul li a:hover {
    left: 0;
}

.foot-tel {
    width: 100%;
    max-width: 440px;
    margin: 0 auto 30px;
    text-align: center;
    line-height: 1;
    font-size: 1em;
}

.foot-tel a {  
    position: relative;
    left: calc(100% - 72px);
    display: block;
    height: 80px;
    line-height: 80px;
    border-radius: 64px 0 0 64px;
    background-color: #f29a25;
    font-size: 1.24em;
    letter-spacing: 0.08em;
    font-weight: 400;
    transition: all 0.5s 0s ease;
    pointer-events: auto;
    display: block;
    text-decoration: none;
    width: 100%;
    text-align: left;
}


.foot-tel a:hover::before {
    background: url(/images4/telblue5.png) no-repeat center;
    width: 289px;
    height: 80px;
    -webkit-mask: none;
    -webkit-mask-size: 100%; 
    transition: none;
}

.foot-mail a:hover::before {
    background: url(/images4/hover-mail2.png) no-repeat center;
    width: 292px;
    height: 80px;
    -webkit-mask: none;
    -webkit-mask-size: 100%; 
    transition: none;
}

.foot-model a:hover::before {
    background: url(/images4/hover-model2.png) no-repeat center;
    width: 182px;
    height: 80px;
    -webkit-mask: none;
    -webkit-mask-size: 100%; 
    transition: none; 
}

.foot-tel span {
    display: block;
    font-size: 1em;
}


.foot-tel span:nth-child(1) {
    padding-top: 1%;
    font-size: 3em;
}

.foot-mail a {  
    position: relative;
    left: calc(100% - 72px);
    display: block;
    height: 80px;
    line-height: 80px;
    border-radius: 70px 0 0 70px;
    background-color: #8ec31f;
    font-size: 1.24em;
    letter-spacing: 0.08em;
    font-weight: 400;
    transition: all 0.5s 0s ease;
    pointer-events: auto;
    display: block;
    text-decoration: none;
    width: 100%;
    text-align: left;
}


.foot-model a {  
    position: relative;
    left: calc(100% - 72px);
    display: block;
    height: 80px;
    line-height: 80px;
    border-radius: 70px 0 0 70px;
    background-color: #F8C985;
    font-size: 1.24em;
    letter-spacing: 0.08em;
    font-weight: 400;
    transition: all 0.5s 0s ease;
    pointer-events: auto;
    display: block;
    text-decoration: none;
    width: 100%;
    text-align: left;
}


.foot-inquiry ul li {
    margin: 0 0 calc(8px + 3px + 3px) 0;
}

@media only screen and (max-width: 960px) {
    .foot-inquiry {
        display: none;
    }
}


footer {
    width: 100%;
    max-width: 1536px;
    margin: 0 auto;
    padding-top: 32px;
}

@media only screen and (max-width: 1720px) {
    .inner-block {
        padding: 0 3%;
    }
}

.footer-nav {
    display: flex;
    width: 100%;
}

.inner-block {
    width: 100%;
}

@media only screen and (max-width: 1536px) {
    .inner-block {
        padding: 0 3%;
    }
}



footer ul {
    display: flex;
    width: 100%;
}

#foot {
    display: flex;
}

.foot-menu {
    width: 80%;
}

#footer-nav {
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
#footer-nav.move {
    opacity: 1;
    top: 0;
}

#footer-nav .foot-logo img {
    width: 100%;
    max-width: 103px;
}
.foot-logo {
    width: 100%;
}

.foot-logo {
    width: 15%;
    padding-right: 5%;
}
.foot-logo a {
  display: block;
}
.foot-logo a::before {
  display: none;
}
.cont {
    width: 80%;
    max-width: 1130px;
}

#footer-nav .nav li a {
    font-size: 1.1em;
    font-weight: bold;
    white-space: nowrap;
    display: block;
    height: 40px;
    line-height: 40px;
}


@media screen and (max-width: 1280px) {
    #footer-nav .nav li a {
        font-size: 0.75em;
      }
}
   
#footer-nav .c-btn {
    margin-left: 1%;
}

#footer-nav .cont .nav li {
    width: calc(100% / 5);
    height: auto;
    text-align: left;
}

@media screen and (max-width: 1440px) {
    #footer-nav .cont .nav li {
        width: calc(100% / 3);
    }
}
@media screen and (min-width: 641px) {
  #footer-nav .logo {
      padding: 10px 0;
  }
   
  #footer-nav .foot-wrap {
      padding: 20px 0;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      align-items: center;
  }
   
  #footer-nav .cont {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      flex-direction: row-reverse;
      align-items: center;
  }
  
  #footer-nav .nav {
      display: flex;
      flex-wrap: wrap;
  }
}
@media screen and (max-width: 640px) {
    #footer-nav .cont {
        width: 100%;
    }
    #footer-nav .cont .nav {
        width: 100%;
        display: block;
    }
    #footer-nav .cont .nav li {
        width: 100%;
        border-bottom: dotted 1px #ccc;
    }
    #footer-nav .cont .nav li a {
      height: 48px;
      line-height: 48px;
    }
    #footer-nav .cont .nav li a::before {
      display: none;
    }
    .foot-logo {
        display: none;
    }
}



.last_nav {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1536px;
    margin: 0 auto;
    font-size: 0.75rem;
    padding: 36px 0;
    letter-spacing: 1px;
}

.last_nav .copy li {
    width: 100%;
}

@media only screen and (max-width: 1536px) {
    .last_nav {
      width: 94%;
    }
}
@media only screen and (max-width: 640px) {
    .last_nav {
      width: 100%;
      padding: 24px 0;
    }
    .last_nav .left-reserved {
        display: none;
    }
    .last_nav .right-reserved {
        text-align: center;
    }
}

.left-reserved {
    text-align: left;
}

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

.right-reserved {
    width: 100%;
}


#support {
    padding: 36px 0 32px;
    position: relative;
    top: -20px;
    opacity: 0;
    transition: all 0.5s 0s ease;
}
#support.move {
    opacity: 1;
    top: 0;
}

#support .achievement {
    margin-bottom: 64px;
}














/* お問い合わせフォーム・確認画面
------------------------------ */
body, input[type="button"], input[type="submit"], input[type="reset"], button, select, option, label, pre { font-size: 116%; }
input[type="text"], input[type="email"], input[type="number"], textarea { font-size: 124%; }

#inquiry { position: relative; top: -20px; opacity: 0; transition: all 0.5s 0s ease; width: 100%; max-width: 1536px; margin: 0 auto; color: #231815; }
#inquiry.move { opacity: 1; top: 0; }

#inquiry .inner .text_box { width: 100%; max-width: 960px; margin: 0 auto 48px; font-size: 0.9em; text-align:center;}
#inquiry .inner p { line-height: 1.8; }
#inquiry h3 { font-size: 30px; line-height: 1.6; text-align: center; margin-bottom: 1em; }
#inquiry h3 span { position: relative; background: linear-gradient(transparent 70%, #ecf4d3 0%); }
#inquiry h3 span::before { position: absolute; top: 31px; left: -8px; z-index: -1; content: ''; display: inline-block; width: 13px; height: 13px; border-radius: 50%; background-color: #ecf4d3; }
#inquiry h3 span::after { position: absolute; bottom: 0; right: -8px; z-index: -1; content: ''; display: inline-block; width: 13px; height: 13px; border-radius: 50%; background-color: #ecf4d3; }

#inquiry.confirm { margin-top: 64px; }


#inquiry .tel_box { width: 100%; max-width: 440px; margin: 0 auto 48px; text-align: center; line-height: 1; }
#inquiry .tel_box a { display: block; text-decoration: none; color: #323232; }
#inquiry .tel_box span { display: block; font-size: 1em; }
#inquiry .tel_box span.tel { font-size: 3.4em; font-weight: 700; margin-bottom: 12px; }
#inquiry .tel_box span.tel::before { content: ''; display: inline-block; width: 0.72em; height: 0.72em; margin-right: 0.32em; -webkit-mask: url(/images4/tel.svg) no-repeat center; background-color: #323232; vertical-align: baseline; }
#inquiry .tel_box span:nth-child(1) { font-size: 1.24em; }
#inquiry .tel_box span:nth-child(3) { font-size: 0.96em; }

#inquiry form { width: 100%; max-width: 960px; margin: 0 auto; border: solid 12px #ecf4d3; border-radius: 48px; padding: 48px; }
#inquiry form .err { margin-bottom: 1.64em; font-size: 0.8em; color: #e03d77; }
#inquiry form dl { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 8px; }
#inquiry form dl dt { width: 25%; line-height: 64px; font-weight: 700; }
#inquiry form dl dt span { display: inline-block; margin-left: 1em; font-size: 0.72em; color: #e03d77; }
#inquiry form dl dd { width: 75%; margin-bottom: 24px; }
#inquiry form dl dd input { width: 100%; height: 64px; line-height: 64px; border: solid 2px #d9eda9; color: #454545; border-radius: 32px; padding: 0 1em; font-size: 1em; }
#inquiry form dl dd input::placeholder { font-size: 0.8em; color: #454545; font-weight: 400; }
#inquiry form dl dd select { height: 64px; line-height: 64px; border: solid 2px #d9eda9; color: #454545; background-color: #fff; border-radius: 32px; padding: 0 1em; font-size: 1em; }
#inquiry form .privacy_agree_box { display: block; margin-bottom: 64px; }
#inquiry form .privacy_agree_box input[type="checkbox"] { position: absolute; border: none; width: 1px; height: 1px; opacity: 0.01; }
#inquiry form .privacy_agree_box input[type="checkbox"] + label#privacy_agree_label { position: relative; display: inline-block; font-size: 0.9em; color: #454545; }
#inquiry form .privacy_agree_box input[type="checkbox"] + label#privacy_agree_label::before { content: ''; display: inline-block; width: 24px; height: 24px; border: solid 2px #d9eda9; border-radius: 5px; vertical-align: middle; margin-right: 1em; }
#inquiry form .privacy_agree_box input[type="checkbox"] + label#privacy_agree_label::after { position: absolute; top: 4px; left: 1.5px; content: ''; display: inline-block; width: 24px; height: 24px; background-image: url(/images4/arrow_down.svg); background-repeat: no-repeat; background-size: 86%; background-position: center; opacity: 0; transition: all 0.5s 0s ease; }
#inquiry form .privacy_agree_box input[type="checkbox"]:checked + label#privacy_agree_label::after { opacity: 1; }
#inquiry form label.error { display: block; font-size: 0.8em; margin-bottom: 0.24em; color: #e03d77; }

#inquiry form .privacy_wrap { padding: 32px 48px; border: solid 2px #d9eda9; color: #454545; border-radius: 32px; margin-bottom: 48px; padding: 32px 16px 32px 48px; }
#inquiry form .privacy_wrap .privacy_box { width: 100%; height: 200px; padding: 0 16px 0 0; overflow-y: scroll; scrollbar-color: #eee; scrollbar-width: thin; }
#inquiry form .privacy_wrap .privacy_box::-webkit-scrollbar { width: 12px; }
#inquiry form .privacy_wrap .privacy_box::-webkit-scrollbar-track { background-color: #eee; border-radius: 100px; }
#inquiry form .privacy_wrap .privacy_box::-webkit-scrollbar-thumb { border-radius: 100px; background-color: #d9eda9; box-shadow: inset 2px 2px 5px 0 rgba(255, 255, 255, 0.5); }
#inquiry form .privacy_wrap .privacy_box .title { display: block; margin: 0 0 24px; }
#inquiry form .privacy_wrap .privacy_box .body { display: block; font-weight: 400; font-size: 0.72em; line-height: 2; }
#inquiry form .privacy_wrap .privacy_box .body > ul { counter-reset: privacy_counter 0; margin: 24px 0; }
#inquiry form .privacy_wrap .privacy_box .body > ul li { margin-bottom: 24px; }
#inquiry form .privacy_wrap .privacy_box .body > ul li:last-child { margin-bottom: 0; }
#inquiry form .privacy_wrap .privacy_box .body > ul li .list_title { display: block; font-size: 1em; font-weight: 700; }
#inquiry form .privacy_wrap .privacy_box .body > ul li .list_title::before { content: counter(privacy_counter) '.'; counter-increment: privacy_counter 1; }
#inquiry form .privacy_wrap .privacy_box .body .privacy_inquiry { display: block; margin-bottom: 32px; }
#inquiry form .privacy_wrap .privacy_box .body .date_of_enactment { display: block; margin-bottom: 32px; text-align: right; }

#inquiry form #form_submit { display: block; height: 72px; line-height: 72px; border-radius: 36px; text-align: center; text-decoration: none; letter-spacing: 4px; color: #fff; background: linear-gradient(45deg, #8ec31f 0%, #61aa22 70%); }
#inquiry form #form_submit::before { display: none; }

#inquiry form dl.confirm { margin-bottom: 64px; }
#inquiry form dl.confirm dt { width: 30%; line-height: normal; padding: 0.64em 2em 0.64em 0; }
#inquiry form dl.confirm dd { width: 70%; margin: 0; padding: 0.64em 0; }





@media screen and (max-width: 960px) {
  #inquiry { width: calc(100% - 10%); }
}
@media screen and (max-width: 780px) {
  #inquiry .inner .text_box { margin-bottom: 32px; font-size: 0.8em; }
  #inquiry .inner .text_box p { line-height: 1.4; }
  #inquiry h3 { font-size: 24px; }
  #inquiry h3 span::before { top: 24px; left: -6px; width: 11px; height: 11px; }
  #inquiry h3 span::after { top: 24px; right: -6px; width: 11px; height: 11px; }
  #inquiry .tel_box { margin-bottom: 32px; }
  #inquiry .tel_box span:nth-child(1) { font-size: 0.8em; }
  #inquiry .tel_box span.tel { font-size: 2.3em; margin-bottom: 8px; }
  #inquiry .tel_box span:nth-child(3) { font-size: 0.68em; }
  #inquiry form { padding: 32px; border-width: 8px; }
  #inquiry form dl dt { width: 100%; line-height: 1.6; padding-bottom: 0.48em; font-size: 0.8em; }
  #inquiry form dl dd { width: 100%; }
  #inquiry form dl.confirm { display: block; }
  #inquiry form dl.confirm dt { width: 100%; line-height: normal; margin-bottom: 0; font-size: 0.8em; padding: 0.64em 0 0 0; }
  #inquiry form dl.confirm dd { width: 100%; border-bottom: dotted 2px #ddd; }
  #inquiry form dl.confirm dd input, 
  #inquiry form dl.confirm dd select { height: 56px; line-height: 56px; border-radius: 28px; font-size: 0.8em; }
  #inquiry form .privacy_wrap { padding: 24px 16px 24px 24px; border-radius: 24px; margin-bottom: 32px; }
  #inquiry form .privacy_agree_box { margin-bottom: 32px; }
  #inquiry form .privacy_agree_box input[type="checkbox"] + label { font-size: 0.8em; }
}
@media screen and (max-width: 640px) {
  #inquiry .tel_box { width: calc(100% - 10%); }
}
@media screen and (max-width: 480px) {
  #inquiry form { padding: 24px; border-width: 6px; border-radius: 32px; }
  #inquiry .tel_box span:nth-child(1) { font-size: 0.72em; }
  #inquiry .tel_box span.tel { font-size: 1.92em; margin-bottom: 6px; }
  #inquiry .tel_box span:nth-child(3) { font-size: 0.56em; }
}


/* 送信完了画面
------------------------------ */
#send_finish { position: absolute; top: -20px; bottom: 0; left: 0; right: 0; margin: 64px auto 0; padding: 48px 48px 96px 48px; width: 100%; max-width: 960px; height: fit-content; border: solid 12px #ecf4d3; border-radius: 48px; opacity: 0; transition: all 0.5s 0s ease; }
#send_finish.move { top: 0; opacity: 1; }

#send_finish .inner .text_box { width: 100%; max-width: 90%; margin: 0 auto 64px; }
#send_finish .inner .text_box p { line-height: 1.8; margin-bottom: 1.64em; }
#send_finish .inner .text_box p:last-child { margin-bottom: 0; }
#send_finish h1 { font-size: 30px; line-height: 1.6; text-align: center; margin-bottom: 1em; }
#send_finish h1 span { position: relative; background: linear-gradient(transparent 70%, #ecf4d3 0%); }
#send_finish h1 span::before { position: absolute; top: 31px; left: -8px; z-index: -1; content: ''; display: inline-block; width: 13px; height: 13px; border-radius: 50%; background-color: #ecf4d3; }
#send_finish h1 span::after { position: absolute; bottom: 0; right: -8px; z-index: -1; content: ''; display: inline-block; width: 13px; height: 13px; border-radius: 50%; background-color: #ecf4d3; }
#send_finish .inner .success { width: 90%; font-size: 0.8em; color: #7070db; border: dotted 3px #7070db; border-radius: 24px; padding: 1.64em; margin: 0 auto 1.64em; }
#send_finish .inner .error { width: 90%; font-size: 0.8em; color: #e03d77; border: dotted 3px #e03d77; border-radius: 24px; padding: 1.64em; margin: 0 auto 1.64em; }
#send_finish a.btn { display: block; width: 90%; height: 72px; margin: 0 auto; line-height: 72px; border-radius: 36px; text-align: center; text-decoration: none; letter-spacing: 4px; color: #fff; background: linear-gradient(45deg, #0075d6 0%, #003b82 70%); }



@media screen and (max-width: 960px) {
  #send_finish { width: calc(100% - 10%); }
}





/* スマホメニュー
------------------------------ */
body.gnav_is_no_scroll { overflow: hidden; }

#gnav_btn { display: none; }

#gnav { display: none; }

@media screen and (max-width: 960px) {

    #gnav_btn { position: fixed; top: 0; right: 0; z-index: 20000; display: block; width: 72px; height: 72px; }
    #gnav_btn::before { position: absolute; top: 40%; left: 0; right: 0; margin: 0 auto; content: ''; display: block; width: 33.333333%; height: 4px; border-radius: 2px; background-color: #231815; border: none; transition: all 0.5s 0s ease; }
    #gnav_btn::after { position: absolute; bottom: 40%; left: 0; right: 0; margin: 0 auto; content: ''; display: block; width: 33.333333%; height: 4px; border-radius: 2px; background-color: #231815; transition: all 0.5s 0s ease; }
    #gnav_btn.open::before { top: calc(50% - 2px); transform: rotate(45deg); }
    #gnav_btn.open::after { bottom: calc(50% - 2px); transform: rotate(-45deg); }

    #gnav { position: fixed; top: 72px; right: 0; z-index: 20000; width: 100%; max-height: 100%; overflow-x: hidden; overflow-y: scroll; }
    #gnav ul {}
    #gnav ul li { border-bottom: solid 1px #ccc; background-color: #fff; }
    #gnav ul li:first-child { border-top: solid 1px #ccc; }
    #gnav ul li a { display: block; height: 56px; line-height: 56px; padding: 0 1.64em; }
    #gnav ul li a::before { display: none; }
    #gnav ul li a:hover { background-color: #f8f8f8; }

}

#gnav_sheet { display: none; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 9999; margin: auto; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); }
