@charset "UTF-8";
/*---------------------------------
  
  1.header

  2.メイン
    ２−1.メインビジュアル
    ２−2.シリイゼの『会社設立に強い税理士紹介サービス』とは？
    ２−3.会社設立に強い税理士に依頼するメリット
    ２−4.シリイゼ認定！会社設立に強い税理士のプロフィール
    ２−5.シリイゼが選ばれる理由
    ２−6.ご紹介までの流れ
    ２−7.よくある質問

  3.お問い合わせ

  4.CTAエリア

  5.footer

  6.ページトップボタン

---------------------------------*/
/*---------------------------------

  header

---------------------------------*/
.header {
  background-color: #ffffff;
  padding: 1.5rem 0;
}

.header__logoArea {
  width: 13.7rem;
}

.header__nav-input,
.header .nav-toggle {
  display: none;
}

.header__nav-content__list {
  color: #fff;
  font-size: 1.2rem;
  position: relative;
  text-align: center;
}

.header__nav-content__list li {
  font-size: 1.2rem;
  letter-spacing: .02em;
}

.header__nav-content__list li.current a {
  color: #004e90;
  display: block;
  font-weight: 700;
  position: relative;
}

.header__nav-content__list li.current a span {
  font-size: 10px;
  margin-bottom: 0.6rem;
}

.header__nav-content__list li.current a::before {
  background-color: #004e90;
  content: '';
  height: 0.4rem;
  left: 50%;
  position: absolute;
  top: calc(100% + 0.65rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.header__nav-content__list li a {
  color: #ffffff;
  display: block;
  font-weight: 700;
  position: relative;
}

.header__nav-content__list li a span {
  font-size: 1rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.6rem;
}

.header.fixed {
  position: fixed;
  width: 100%;
  z-index: 10;
}

.header__nav-drawer {
  position: relative;
}

.header__nav-drawer.active .header__nav-open span {
  transition: all .4s;
  background: 0 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.header__nav-drawer.active .header__nav-open span::before, .header__nav-drawer.active .header__nav-open span::after {
  transition: all .4s;
  top: 0;
}

.header__nav-drawer.active .header__nav-open span::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.header__nav-drawer.active .header__nav-open span::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.header__nav-drawer.active .header__nav-unshown {
  display: block;
  opacity: 0.5;
}

.header__nav-drawer.active .header__nav-content {
  display: block;
}

.header__nav-input {
  display: none;
}

.header__nav-open {
  display: inline-block;
  height: 2.2rem;
  vertical-align: middle;
  width: 3rem;
}

.header__nav-open span,
.header__nav-open span:before,
.header__nav-open span::after {
  background: #454545;
  border-radius: .3rem;
  content: '';
  cursor: pointer;
  display: block;
  height: .2rem;
  position: absolute;
  width: 100%;
  transition: all .4s;
}

.header__nav-open span::before {
  bottom: -1rem;
}

.header__nav-open span::after,
.header__nav-open span::after {
  bottom: -2rem;
}

.header__nav-unshown {
  display: none;
  height: 100%;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 5.3rem;
  transition: 0.3s ease-in-out;
  width: 100%;
  z-index: 99;
}

.header__nav-content {
  background: rgba(0, 147, 134, 0.95);
  display: none;
  left: 0;
  max-width: 100%;
  overflow: auto;
  position: fixed;
  top: 5.3rem;
  transition: 0.3s ease-in-out;
  width: 100%;
  z-index: 9999;
}

.header__nav-content__list li {
  text-align: left;
  margin-right: 0;
  margin: 0 2.5rem;
}

.header__nav-content__list li:not(:last-child) {
  border-bottom: 1px solid #ffffff;
}

.header__nav-content__list li:last-of-type {
  margin-right: 1.6rem;
}

.header__nav-content__list li a {
  color: #ffffff;
  display: inline-block;
  font-size: 1.5rem;
  padding: 2.2rem 0 2.2rem 2rem;
  width: 100%;
  font-weight: 500;
  vertical-align: top;
  letter-spacing: .04em;
}

.header__nav-content__list li a:not(:last-of-type) {
  border-bottom: 1px solid #eee;
}

.header__info {
  color: #071538;
  font-size: 1.2rem;
}

.header__info span {
  display: block;
  text-align: right;
}

.header__info strong {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1;
}

.header__info img {
  height: 2rem;
  margin-right: 0.6rem;
  vertical-align: baseline;
  width: 3.5rem;
}

.header__contact {
  display: none;
}

/*---------------------------------

  メイン

---------------------------------*/
/*---------------------------------

  メインビジュアル

---------------------------------*/
.mainvisual {
  background: url(../img/sp_mainvisual_bg.jpg) no-repeat center center/cover;
  position: relative;
  text-align: center;
  padding-bottom: 1rem;
  font-style: italic;
}

.mainvisual__subcatch {
  margin-bottom: 2rem;
  font-style: normal;
  font-size: 1.7rem;
  font-weight: 700;
  position: relative;
  display: inline-block;
}

.mainvisual__subcatch__text-large {
  font-size: 1.75rem;
}

.mainvisual__subcatch::before, .mainvisual__subcatch::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #333333;
}

.mainvisual__subcatch::before {
  bottom: -.5rem;
}

.mainvisual__subcatch::after {
  bottom: -.75rem;
}

.mainvisual__maincatch {
  text-shadow: 2px 2px 2px #ffffff, 1px 1px 2px #ffffff, -1px -1px 2px #ffffff;
  font-size: 3rem;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.27027;
  margin-bottom: 2.25rem;
}

.mainvisual__maincatch__text-orange {
  color: #fd6b00;
}

.mainvisual__maincatch__text-large {
  font-size: 3.7rem;
}

.mainvisual__maincatch__bottom {
  font-size: 3.0rem;
}

.mainvisual__img {
  position: absolute;
  top: 0;
  right: -5rem;
  z-index: 1;
}

.mainvisual__img img {
  width: 100%;
}

.mainvisual__points {
  position: relative;
  text-align: center;
}

.mainvisual__points__inner {
  display: inline-block;
  width: 100%;
  position: relative;
}

.mainvisual__points__title {
  width: 100%;
  color: #ffffff;
  background-color: #009386;
  border-radius: 50px;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 1rem 0;
  margin-bottom: 1rem;
}

.mainvisual__points__title__text-large {
  font-size: 1.5rem;
}

.mainvisual__points__list {
  position: relative;
  left: 50%;
  width: 100vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.mainvisual__points__items {
  padding: .4rem  0 1rem 0;
  width: 100%;
  color: #ffffff;
  background: linear-gradient(170deg, #757575 0%, #757575 50%, #656565 50%, #656565 100%);
}

.mainvisual__points__items:not(:nth-child(2)) {
  background: linear-gradient(160deg, #fdae26 0%, #fdae26 50%, #fca600 50%, #fca600 100%);
}

.mainvisual__points__items:nth-child(2) .mainvisual__points__items__lead {
  font-size: 1.3rem;
}

.mainvisual__points__items:nth-child(3) .mainvisual__points__items__lead::first-line {
  font-size: .95rem;
  letter-spacing: .02em;
}

.mainvisual__points__items__title {
  border-bottom: 1px solid #ffffff;
  font-size: 1.1rem;
  margin-bottom: .7rem;
  padding: 0 2.5rem;
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
}

.mainvisual__points__items__title__text-large {
  font-size: 1.5rem;
}

.mainvisual__points__items__lead {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.27273;
  letter-spacing: .02em;
  display: inline-block;
}

/*---------------------------------

  シリイゼの『会社設立に強い税理士紹介サービス』とは？

---------------------------------*/
.aboutus {
  padding-top: 7.5rem;
}

.aboutus__items {
  background-color: #ffffff;
  padding: 1.5rem;
  box-shadow: rgba(0, 0, 0, 0.01) 2px 2px 12px;
  border-radius: 10px;
  position: relative;
  text-align: left;
}

.aboutus__items__maintitle {
  font-size: 2.1rem;
  margin: 3rem 0 2.5rem;
  position: relative;
  display: inline-block;
  padding-top: 2rem;
  line-height: 1.38095;
}

.aboutus__items__img {
  margin-bottom: 1.5rem;
}

.aboutus__items__subtitle {
  font-size: 1.9rem;
  text-align: left;
  margin-bottom: 1rem;
}

.aboutus__items__lead {
  text-align: left;
}

.aboutus__items__lead p {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.69231;
  letter-spacing: .06em;
}

.aboutus__items__lead p:not(:last-child) {
  margin-bottom: 1.4rem;
}

.aboutus__items__belt {
  position: absolute;
  top: 1rem;
  left: -1rem;
  padding: 1rem 3rem;
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: #ffffff;
  background-color: #fdbc0e;
}

.aboutus__items__belt::before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 5px 0;
  border-color: transparent #cd9604 transparent transparent;
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: -.5rem;
}

.aboutus__items__group {
  position: relative;
}

.aboutus__items__group:first-of-type {
  border-bottom: 1px solid #b9b9b9;
  padding-bottom: 2.5rem;
  margin-bottom: 2.9rem;
}

.aboutus__items:first-of-type {
  margin-bottom: 4rem;
}

.aboutus__items:nth-of-type(2) {
  margin-bottom: 7.5rem;
}

.aboutus__items:nth-of-type(2) .aboutus__items__group {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.aboutus__recommend {
  margin-bottom: 1rem;
}

.aboutus__recommend__title {
  font-size: 2.2rem;
  font-weight: 700;
  position: relative;
  margin-bottom: 3rem;
  text-align: center;
}

.aboutus__recommend__title::after, .aboutus__recommend__title::before {
  content: '';
  width: 4.5rem;
  height: 2px;
  background-color: #333;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.aboutus__recommend__title::after {
  right: 0;
}

.aboutus__recommend__title::before {
  left: 0;
}

.aboutus__recommend__items {
  border-radius: 8px;
  box-shadow: rgba(0, 0, 0, 0.01) 2px 2px 12px;
  background-color: #ffffff;
  width: 100%;
  text-align: left;
}

.aboutus__recommend__items:first-of-type {
  margin-bottom: 2rem;
}

.aboutus__recommend__items__title {
  border-radius: 6px 6px 0 0;
  text-align: center;
  color: #ffffff;
  background-color: #009386;
  padding: 1.5rem 0;
  font-size: 1.6rem;
}

.aboutus__recommend__items__list {
  padding: 2rem 3rem;
}

.aboutus__recommend__items__item {
  font-size: 1.3rem;
  line-height: 1.84615;
  letter-spacing: .06em;
  margin-left: 2rem;
}

.aboutus__recommend__items__item::before {
  content: '';
  margin-left: -2.3rem;
}

/*---------------------------------

  会社設立に強い税理士に依頼するメリット

---------------------------------*/
.merit__problem__img {
  width: 12rem;
  height: auto;
}

.merit__problem__lead {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  padding: 1rem;
  background-color: #ffffff;
  border: 3px solid #e5e5e5;
  border-radius: 10px;
  position: relative;
  margin-top: -5rem;
}

.merit__problem__lead .text-large {
  font-size: 1.5rem;
}

.merit__problem__lead::before, .merit__problem__lead::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.merit__problem__lead:before {
  left: -24px;
  border: 8px solid transparent;
  border-right: 16px solid #ffffff;
  z-index: 2;
}

.merit__problem__lead:after {
  left: -33px;
  border: 11px solid transparent;
  border-right: 22px solid #e5e5e5;
  z-index: 1;
}

.merit__problem__list {
  margin-bottom: 2rem;
}

.merit__problem__cards {
  background-color: #ffffff;
  box-shadow: rgba(0, 0, 0, 0.15) 0 0 8px;
  border-radius: 10px;
}

.merit__problem__cards:not(:last-child) {
  margin-bottom: 1.5rem;
}

.merit__problem__cards__group {
  padding: 1.5rem;
}

.merit__problem__cards__img {
  margin-right: 1.5rem;
  width: 19rem;
}

.merit__problem__cards__title {
  color: #ffffff;
  font-size: 1.2rem;
  background-color: #555555;
  line-height: 1.08333;
  padding: 1.15rem 0;
  border-radius: 8px 8px 0 0;
}

.merit__problem__cards__lead {
  font-size: 1.1rem;
  line-height: 1.81818;
  letter-spacing: .06em;
  text-align: left;
  width: 100%;
}

.merit__problem__tryangle {
  margin: 0 auto 2rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 80px 0 80px;
  border-color: #6fbeb7 transparent transparent transparent;
}

.merit__points__title {
  font-size: 2.2rem;
  line-height: 1.29167;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 3.5rem;
}

.merit__points__title .text-large {
  font-size: 2.4rem;
}

.merit__points__list {
  margin-bottom: 4rem;
}

.merit__points__items {
  background-color: #ffffff;
  box-shadow: rgba(0, 0, 0, 0.15) 0 0 8px;
  border-radius: 10px;
  position: relative;
  padding: 2rem 1.5rem;
}

.merit__points__items:not(:last-child) {
  margin-bottom: 2rem;
}

.merit__points__items__number {
  width: 5.5rem;
  height: 5.5rem;
  color: #ffffff;
  background-color: #fdbc0e;
  border-radius: 50%;
  font-size: 1rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  margin-bottom: 2rem;
  padding-top: .5rem;
}

.merit__points__items__number__text-large {
  display: block;
  font-size: 2.5rem;
}

.merit__points__items__text {
  text-align: left;
}

.merit__points__items__img {
  margin-bottom: 1.6rem;
}

.merit__points__items__title {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.14286;
  position: absolute;
  top: 2rem;
  left: calc( 5.5rem + 2.5rem);
  width: calc( 100% - 9.5rem);
}

.merit__points__items__lead {
  font-size: 1.3rem;
  line-height: 1.69231;
  letter-spacing: .06em;
}

.merit__points__items__feature__contents:not(:last-child) {
  border-bottom: 1px dashed #757575;
  margin-bottom: 1.1rem;
  padding-bottom: 1.5rem;
}

.merit__points__items__feature__title {
  font-size: 1.5rem;
  line-height: 1.33333;
  margin-bottom: .5rem;
}

.merit__points__items__feature__lead {
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 1.69231;
  letter-spacing: .06em;
}

.merit__points__checktitle {
  font-size: 1.6rem;
  line-height: 1.25;
  background-color: #009386;
  color: #ffffff;
  padding: 1.25rem 0;
  border-radius: 10px 10px 0 0;
}

.merit__points__checklist {
  background-color: #ffffff;
  box-shadow: rgba(0, 0, 0, 0.15) 0 0 8px;
  padding: 2rem;
  text-align: left;
  border-radius: 0 0 10px 10px;
  margin-bottom: 1rem;
}

.merit__points__checklist__items li {
  font-size: 1.2rem;
  line-height: 2.16667;
}

/*---------------------------------

  シリイゼ認定！会社設立に強い税理士のプロフィール

---------------------------------*/
.special {
  padding-top: 7.5rem;
}

.special__list {
  margin-bottom: 1rem;
}

.special__items {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 2rem 1.5rem;
}

.special__items:not(:last-of-type) {
  margin-bottom: 2rem;
}

.special__items__text {
  width: 100%;
}

.special__items__number {
  font-family: 'Roboto', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  display: inline-block;
  position: relative;
  margin-bottom: 2.5rem;
  padding: 0 .5rem;
}

.special__items__number::after {
  content: '';
  width: 100%;
  position: absolute;
  bottom: -.5rem;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #333333 0%, #333333 50%, #009386 50%, #009386 100%);
}

.special__items__group {
  margin-bottom: 1.75rem;
}

.special__items__img {
  margin-right: 1.5rem;
  position: relative;
}

.special__items__img::before {
  content: '';
  background: url(../img/badge_certification.png) no-repeat center center/contain;
  padding-top: 56.25%;
  width: 4.2rem;
  position: absolute;
  top: -2.5rem;
  left: -1rem;
}

.special__items__catch {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3125;
  margin-bottom: 1.75rem;
  text-align: left;
}

.special__items__feature {
  color: #b38512;
  border: 1px solid #b38512;
  width: 100%;
}

.special__items__feature__content {
  font-size: 1.1rem;
  font-weight: 700;
  padding: .5rem 0;
}

.special__items__feature__detail {
  color: #ffffff;
  background-color: #b38512;
  font-size: 1rem;
  font-weight: 500;
  padding: .5rem .25rem;
}

.special__items__title {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.38462;
  text-align: left;
  margin-bottom: 1rem;
}

.special__items__lead {
  text-align: left;
  font-size: 1.1rem;
  line-height: 1.72727;
  font-weight: 400;
  letter-spacing: .06em;
  margin-bottom: 2rem;
}

.special__items__type, .special__items__fee {
  border: 1px solid #009386;
  margin-bottom: 1rem;
}

.special__items__type__content, .special__items__fee__content {
  color: #ffffff;
  background-color: #009386;
  font-weight: 700;
  padding: 1.5rem 0;
  min-width: 9rem;
  white-space: nowrap;
  font-size: 1.2rem;
  line-height: 1.5;
}

.special__items__type__detail, .special__items__fee__detail {
  text-align: left;
  font-weight: 700;
  padding: .75rem 1.5rem;
  font-size: 1.35rem;
  line-height: 1.5;
  width: 100%;
}

/*---------------------------------

  シリイゼが選ばれる理由

---------------------------------*/
.reason__list {
  padding-bottom: 5rem;
}

.reason__items {
  border-radius: 10px;
  background-color: #ffffff;
  box-shadow: rgba(0, 0, 0, 0.15) 0 0 8px;
  padding: 1.5rem 1.25rem;
  position: relative;
  min-height: 23.5rem;
}

.reason__items:not(:last-child) {
  margin-bottom: 3rem;
}

.reason__items__text {
  text-align: left;
}

.reason__items__img {
  position: absolute;
  width: 10.5rem;
  top: 11.5rem;
}

.reason__items__number {
  font-size: 1.6rem;
  line-height: 0.9375;
  background-color: #fdbc0e;
  color: #ffffff;
  padding: .9rem 2.75rem;
  border-radius: 40px;
  display: inline-block;
  margin-bottom: 1.1rem;
}

.reason__items__catch {
  font-size: 1.4rem;
  line-height: 1.07143;
  font-weight: 700;
  display: block;
  margin-bottom: 1rem;
}

.reason__items__title {
  font-size: 1.6rem;
  line-height: 0.9375;
  font-weight: 700;
  margin-bottom: 1rem;
}

.reason__items__lead {
  font-size: 1.1rem;
  line-height: 1.72727;
  letter-spacing: .06em;
  font-weight: 400;
  padding-left: 12rem;
}

/*---------------------------------

　ご紹介までの流れ

---------------------------------*/
.flow__list {
  padding-bottom: 5rem;
}

.flow__items {
  width: 100%;
  border-radius: 10px;
  background-color: #ffffff;
  box-shadow: rgba(0, 0, 0, 0.15) 0 0 8px;
  padding: 2rem 1.5rem;
  position: relative;
  min-height: 21.5rem;
}

.flow__items:not(:last-child) {
  margin-bottom: 2rem;
}

.flow__items:not(:last-child)::before {
  content: '';
  position: absolute;
  bottom: -1.65rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: inline-block;
  background: url(../img/sp_icon_arrowdown_green.png) no-repeat center center/contain;
  width: 22.5px;
  height: 24.5px;
}

.flow__items__img {
  position: absolute;
  width: 10.5rem;
  top: 9.5rem;
  left: 1.5rem;
}

.flow__items__text {
  text-align: center;
}

.flow__items__number {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 2.1rem;
  color: #fd8900;
  margin-bottom: 1.4rem;
  display: inline-block;
}

.flow__items__title {
  font-size: 1.8rem;
  font-weight: 700;
  display: block;
  margin-bottom: 1.2rem;
}

.flow__items__lead {
  font-size: 1.1rem;
  text-align: left;
  font-weight: 400;
  line-height: 1.72727;
  letter-spacing: .06em;
  padding-left: 12rem;
}

/*---------------------------------

　よくある質問

---------------------------------*/
.faq__list {
  padding-bottom: 5rem;
}

.faq__items {
  text-align: left;
  border: 5px solid #d6e8e6;
  background-color: #ffffff;
  padding: 2.5rem 2rem;
}

.faq__items:not(:last-child) {
  margin-bottom: 1.5rem;
}

.faq__items__question {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 1.55rem 2.6rem;
  padding-bottom: 1.55rem;
  position: relative;
}

.faq__items__question::before {
  content: 'Q.\A';
  font-size: 2rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  margin-left: -2.8rem;
}

.faq__items__question::after {
  content: '';
  width: calc( 100% +  2.8rem);
  position: absolute;
  bottom: 0;
  right: 0;
  height: 1px;
  background-color: #333;
}

.faq__items__anser {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.83;
  margin-left: 2.6rem;
}

.faq__items__anser::before {
  content: 'A.\A';
  font-size: 2rem;
  line-height: 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  color: #fdb10e;
  margin-left: -2.8rem;
}

/*---------------------------------

  お問い合わせ

---------------------------------*/
.contact__form {
  padding: 0 1rem;
  margin-bottom: 3.15rem;
}

.contact__form tr:not(:last-of-type) {
  display: block;
  margin-bottom: 2.5rem;
}

.contact__form tr:first-of-type th {
  margin-bottom: 2.5rem;
}

.contact__form tr:first-of-type td {
  display: flex;
  margin-left: 1rem;
  text-align: left;
}

.contact__form tr:first-of-type td label {
  font-size: 1.4rem;
  width: 100%;
  display: block;
}

.contact__form tr:first-of-type td label:not(:last-of-type) {
  margin-bottom: 2rem;
}

.contact__form th {
  width: 100%;
  display: block;
  text-align: left;
  margin-bottom: 1.5rem;
}

.contact__form th span {
  font-size: 1.4rem;
  font-weight: 700;
}

.contact__form th span::before {
  border-radius: .2rem;
  color: #ffffff;
  display: inline-block;
  font-size: 1rem;
  margin-right: 1rem;
  padding: .5rem .8rem;
  letter-spacing: .02em;
}

.contact__form th span.required::before {
  background-color: #fd8900;
  content: '必須';
}

.contact__form th span.optional::before {
  background-color: #7c7c7c;
  content: '任意';
}

.contact__form td {
  display: block;
  width: 100%;
}

.contact__form td input[type='radio'] {
  margin-right: 1.2rem;
}

.contact__form td input[type='text'],
.contact__form td input[type='email'],
.contact__form td input[type='tel'] {
  border: 1px solid #999;
  border-radius: 3px;
  height: 5rem;
  padding: 2rem;
  width: 100%;
}

.contact__form td textarea {
  border: 1px solid #999;
  border-radius: 3px;
  height: 20rem;
  padding: 2rem;
  resize: none;
  width: 100%;
}

.contact__form td .select {
  background-color: #ffffff;
  border: 1px solid #999;
  border-radius: 3px;
  width: 100%;
}

.contact__form td .select__container {
  background-color: transparent;
  position: relative;
  z-index: 1;
}

.contact__form td .select__container select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: 0;
  color: #666;
  margin: 0;
  padding: 2rem;
  position: relative;
  width: 100%;
}

.contact__form td .select__container::after {
  align-items: center;
  bottom: 0;
  color: #878787;
  content: '▼';
  display: flex;
  height: 100%;
  justify-content: center;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: scale(0.7, 0.5);
          transform: scale(0.7, 0.5);
  width: 5rem;
  z-index: -1;
}

.contact__form__attention {
  font-size: 1.3rem;
  margin-bottom: 1.85rem;
  line-height: 1.53846;
  text-align: center;
}

.contact__form__attention a {
  text-decoration: underline;
}

.contact__form__button {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-align: center;
}

.contact__form__button button {
  background-color: #fd7d00;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 0.83333;
  padding: 1.8rem 0;
  position: relative;
  width: 100%;
  border-radius: 50px;
}

.contact__confirm {
  padding: 5rem 0 7rem;
}

.contact__confirm__title {
  margin-bottom: 1rem;
}

.contact__confirm__title__wrap {
  margin-bottom: 3rem;
  text-align: center;
}

.contact__confirm__table {
  margin-bottom: 3rem;
}

.contact__confirm__table tr th {
  background-color: #cdcdcd;
  padding: 2rem;
  width: 20rem;
}

.contact__confirm__table tr td {
  background-color: #f9f9f9;
  padding: 2rem;
  width: 90rem;
  word-break: break-word;
}

.contact__confirm__button {
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 0.72727;
  padding: 2.8rem 0;
  position: relative;
  letter-spacing: .14em;
}

.contact__confirm__button input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
}

.contact__confirm__button--submit {
  background-color: #fd7d00;
  margin-bottom: 1rem;
}

.contact__confirm__button--back {
  background-color: #cdcdcd;
}

.contact__complate {
  text-align: center;
}

.contact__complate__title {
  font-size: 3.8rem;
  margin-bottom: 3rem;
}

.contact__complate__title span {
  display: block;
  font-family: 'Oswald', sans-serif;
  font-size: 2rem;
  font-weight: 500;
  margin-top: 1.5rem;
}

.contact__complate__lead {
  margin-bottom: 5rem;
}

.contact__complate__lead p {
  margin-bottom: 1rem;
}

/*---------------------------------

  CTAエリア

---------------------------------*/
.cta__mobile {
  background: url(../img/sp_points_pattern_diagonal_stripes.png), linear-gradient(90deg, #00aa9b 0%, #01bbab 50%, #00aa9b 100%);
  padding-bottom: calc(env(safe-area-inset-bottom));
}

.cta__mobile__inner {
  padding: 1rem;
}

.cta__mobile__buttons {
  color: #ffffff;
  border-radius: 4px;
  font-weight: 700;
  position: relative;
}

.cta__mobile__buttons--phone {
  background-color: #fd7d00;
  padding: 1rem;
  margin-right: .5rem;
  width: 60%;
  font-size: 2.3rem;
}

.cta__mobile__buttons--mail, .cta__mobile__buttons--line {
  padding: .5rem 1rem;
  text-align: center;
  width: 20%;
}

.cta__mobile__buttons--mail {
  background-color: #fd7d00;
  margin-right: .5rem;
}

.cta__mobile__buttons--line {
  color: #00b900;
  background-color: #ffffff;
}

.cta__mobile__buttons__text {
  white-space: nowrap;
}

.cta__mobile__buttons__text-sm {
  font-size: 1rem;
  font-weight: 500;
  -webkit-transform: scale(0.85);
          transform: scale(0.85);
  -webkit-transform-origin: center left;
          transform-origin: center left;
  display: inline-block;
  white-space: nowrap;
  position: absolute;
  bottom: 1rem;
}

.cta__mobile--last {
  opacity: 0;
  transition: 0.3s ease-in-out;
}

.cta__mobile--last.fixed {
  opacity: 1;
}

.cta__contact {
  background: url(../img/sp_points_pattern_diagonal_stripes.png), linear-gradient(90deg, #00aa9b 0%, #01bbab 50%, #00aa9b 100%);
  padding: 1rem 0 1.5rem;
}

.cta__contact__title {
  font-size: 1.1rem;
  background-color: #161616;
  color: #ffffff;
  text-align: center;
  padding: 1rem 0;
}

.cta__contact__title strong {
  font-size: 1.25rem;
}

.cta__contact--last {
  opacity: 0;
  transition: 0.3s ease-in-out;
}

.cta__contact--last.fixed {
  opacity: 1;
}

.cta__contact__items:first-of-type {
  width: 100%;
  margin-bottom: 1rem;
}

.cta__contact__items:nth-of-type(2) {
  margin-right: .5rem;
}

.cta__contact__items:nth-of-type(2), .cta__contact__items:last-of-type {
  width: calc( 50% - .25rem);
}

.cta__contact__button {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .02em;
  color: #ffffff;
  border-radius: 37.5px;
  padding: 2rem;
  height: 5rem;
  transition-duration: .3s;
  text-align: left;
}

.cta__contact__button--phone {
  background-color: #fd7d00;
  padding: 3rem 3rem 3rem 4rem;
}

.cta__contact__button--mail {
  background-color: #fd7d00;
}

.cta__contact__button--line {
  color: #00b900;
  background-color: #ffffff;
}

.cta__contact__phone__number {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: .5rem;
  line-height: 1;
  white-space: nowrap;
}

.cta__contact__phone__hours {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .02em;
}

.cta__person__title {
  font-size: 1.8rem;
  line-height: 1.55556;
  margin-right: 1rem;
  text-align: left;
}

.cta__person__title .text-large {
  font-size: 2rem;
}

.cta__person__title .text-indent {
  padding-left: calc( 2em + .4rem);
}

.cta__person__img {
  width: 13.5rem;
  height: auto;
}

.cta__title {
  width: 100%;
  color: #ffffff;
  font-size: 1.2rem;
  line-height: 2.0625;
  background-color: #009386;
  padding: .8rem 0;
  text-align: center;
}

.cta__title .text-large {
  font-size: 1.35rem;
}

.cta__points {
  color: #ffffff;
  background: url(../img/sp_points_pattern_diagonal_stripes.png), linear-gradient(90deg, #00aa9b 0%, #01bbab 50%, #00aa9b 100%);
}

.cta__points__list {
  padding: 1.5rem 0 .75rem;
}

.cta__points__items {
  border: 1px solid #ffffff;
}

.cta__points__items:not(:last-child) {
  margin-right: .5rem;
}

.cta__points__items:nth-child(1) {
  width: 33%;
}

.cta__points__items:nth-child(2) {
  width: 29%;
}

.cta__points__items:nth-child(3) {
  width: 38%;
}

.cta__points__items:first-of-type .cta__points__lead {
  font-size: .9rem;
  -webkit-transform: scale(0.85);
          transform: scale(0.85);
  min-width: 100%;
}

.cta__points__items:nth-of-type(2) .cta__points__lead {
  font-size: 1rem;
  -webkit-transform: none;
          transform: none;
  min-width: auto;
  width: 100%;
}

.cta__points__number {
  font-family: 'Roboto', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #009386;
  background-color: #ffffff;
  padding: 0 .2rem;
  width: 2.5rem;
}

.cta__points__number__text-large {
  font-size: 3rem;
  line-height: 1;
}

.cta__points__number > span {
  -webkit-transform: scale(0.6);
          transform: scale(0.6);
  -webkit-transform-origin: center left;
          transform-origin: center left;
}

.cta__points__number strong {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: 'Roboto', sans-serif;
}

.cta__points__lead {
  font-size: .9rem;
  font-weight: 700;
  padding: 0 .3rem 0 .1rem;
  min-width: 100%;
  -webkit-transform: scale(0.85);
          transform: scale(0.85);
  -webkit-transform-origin: center left;
          transform-origin: center left;
  line-height: 1.6;
}

/*---------------------------------

  footer

---------------------------------*/
.footer {
  background: linear-gradient(90deg, #00aa9b 0%, #01bbab 50%, #00aa9b 100%);
  color: #ffffff;
  padding-top: 7rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  padding-top: 4rem;
  margin-top: auto;
}

.footer__text {
  margin-bottom: 2.5rem;
}

.footer__text p {
  line-height: 2;
}

.footer__text p:first-of-type {
  margin-bottom: 1rem;
}

.footer__copylight {
  display: inline-block;
  font-size: 1rem;
  letter-spacing: .06em;
  margin-bottom: 1.85rem;
}

/*---------------------------------

  ページトップボタン

---------------------------------*/
.page-top {
  bottom: calc( 100% + 1rem);
  height: 6rem;
  position: fixed;
  right: 1rem;
  width: 6rem;
  z-index: 9999;
}

.page-top .arrow-top {
  border-right: solid 0.3rem #ffffff;
  border-top: solid 0.3rem #ffffff;
  display: block;
  height: 1.8rem;
  left: calc(50% - .3rem);
  position: absolute;
  top: 1rem;
  -webkit-transform: rotate(-45deg) translateX(-50%);
          transform: rotate(-45deg) translateX(-50%);
  width: 1.8rem;
}

.page-top__text {
  background-color: #747474;
  color: #ffffff;
  display: block;
  display: flex;
  height: 100%;
  justify-content: center;
  letter-spacing: 0;
  opacity: 1;
  position: relative;
  white-space: nowrap;
  width: 100%;
}

.page-top__text::before {
  bottom: 1rem;
  content: 'PAGE\ATOP';
  display: block;
  font-size: 1rem;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
  font-weight: 400;
  font-family: 'Roboto', sans-serif;
}

.pc {
  display: none !important;
}

.pc-show {
  visibility: hidden !important;
}

.sp {
  display: inline-block !important;
}

.sp-show {
  visibility: visible !important;
}
