@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: 2.1rem 0;
}

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

.header__nav-content {
  margin-right: 3.5rem;
}

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

.header__nav-content__list li {
  font-size: 1.2rem;
}

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

.header__nav-content__list li.current a span {
  font-size: 1rem;
  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.6rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: calc(100% + 0.7rem);
}

.header__nav-content__list li a {
  color: #333333;
  display: block;
  font-weight: 500;
  position: relative;
  transition-duration: .3s;
}

.header__nav-content__list li a:hover {
  opacity: .8;
}

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

.header__nav-content__list li:not(:last-child) {
  margin-right: 3rem;
}

.header__logoArea {
  width: 16.4rem;
}

.header__contact {
  margin-right: 5rem;
}

.header__contact a {
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  background-color: #00aa9b;
  padding: 1.2rem 2rem;
  border-radius: 50px;
  display: inline-block;
}

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

  メイン

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

  メインビジュアル

---------------------------------*/
.mainvisual {
  background: url(../img/pc_mainvisual_bg.jpg) no-repeat center center/cover;
  position: relative;
  font-style: italic;
}

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

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

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

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

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

.mainvisual__maincatch {
  text-shadow: 4px 4px 0px white;
  position: relative;
  z-index: 2;
  font-size: 6.4rem;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.27027;
  margin-bottom: 6.5rem;
}

.mainvisual__maincatch__text-orange {
  color: #fd6b00;
}

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

.mainvisual__maincatch__bottom {
  font-size: 7rem;
}

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

.mainvisual__img img {
  width: 100%;
}

.mainvisual__points {
  padding: 0 4rem 1.5rem;
  z-index: 2;
  position: relative;
  text-align: center;
}

.mainvisual__points__inner {
  display: inline-block;
  padding: 3.4rem 1rem 1rem;
  width: 100%;
  border: 1px solid #009386;
  position: relative;
}

.mainvisual__points__title {
  white-space: nowrap;
  color: #ffffff;
  background-color: #009386;
  border-radius: 50px;
  font-size: 2.8rem;
  font-weight: 700;
  padding: 1rem 5rem;
  margin-bottom: 1rem;
  position: absolute;
  bottom: calc( 100% - .7rem - ( 5.4rem / 2 ));
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

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

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

.mainvisual__points__items:not(:last-child) {
  margin-right: 2.5rem;
}

.mainvisual__points__items:not(:nth-child(2)) {
  background: url(../img/points_pattern.png), linear-gradient(160deg, #42c7a3 0%, #42c7a3 50%, #22be94 50%, #22be94 100%);
}

.mainvisual__points__items:not(:first-child):not(:last-child) {
  width: calc( 100% - 30rem);
}

.mainvisual__points__items__title {
  border-bottom: 1px solid #ffffff;
  font-size: 2.6rem;
  margin-bottom: 1rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
}

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

.mainvisual__points__items__lead {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.41667;
  letter-spacing: .02em;
  height: calc( 4.8rem + 2.4rem);
}

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

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

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

.aboutus__items__maintitle {
  font-size: 3.6rem;
  margin: 5rem 0;
  display: inline-block;
}

.aboutus__items__img {
  margin-right: 5rem;
}

.aboutus__items__subtitle {
  font-size: 2.4rem;
  margin-bottom: 2.7rem;
  text-align: left;
}

.aboutus__items__lead {
  text-align: left;
}

.aboutus__items__lead p {
  line-height: 1.75;
  letter-spacing: .06em;
}

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

.aboutus__items__belt {
  position: absolute;
  top: 2rem;
  left: -1rem;
  padding: 1rem 5rem;
  display: inline-block;
  font-size: 3.3rem;
  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 10px 0;
  border-color: transparent #cd9604 transparent transparent;
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: -1rem;
}

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

.aboutus__items__group:nth-of-type(2) .aboutus__items__img {
  margin: 0 0 0 5rem;
}

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

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

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

.aboutus__recommend {
  margin-bottom: 2rem;
}

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

.aboutus__recommend__title::after, .aboutus__recommend__title::before {
  content: '';
  width: 30rem;
  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: 53rem;
  text-align: left;
}

.aboutus__recommend__items:first-of-type {
  margin-right: 4rem;
}

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

.aboutus__recommend__items__list {
  padding: 3rem 7rem 3rem 7rem;
}

.aboutus__recommend__items__item {
  font-size: 1.8rem;
  line-height: 1.66667;
  letter-spacing: .06em;
  margin-left: 3rem;
}

.aboutus__recommend__items__item:not(:last-child) {
  margin-bottom: .5rem;
}

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

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

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

---------------------------------*/
.merit__problem__img {
  margin-right: 7rem;
}

.merit__problem__lead {
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.36842;
  text-align: left;
  padding: 5rem 4rem;
  background-color: #ffffff;
  border: 6px solid #e5e5e5;
  border-radius: 20px;
  position: relative;
}

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

.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: -72px;
  border: 27px solid transparent;
  border-right: 66px solid #ffffff;
  z-index: 2;
}

.merit__problem__lead:after {
  left: -86px;
  border: 26px solid transparent;
  border-right: 60px solid #e5e5e5;
  z-index: 1;
}

.merit__problem__list {
  margin-bottom: 5rem;
}

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

.merit__problem__cards:not(:last-child) {
  margin-right: 2rem;
}

.merit__problem__cards__group {
  padding: 2rem 2rem 3rem;
}

.merit__problem__cards__img {
  margin-bottom: 2rem;
  display: block;
}

.merit__problem__cards__title {
  color: #ffffff;
  font-size: 1.8rem;
  background-color: #555555;
  line-height: 1.44444;
  padding: 1.8rem 1.5rem;
  border-radius: 8px 8px 0 0;
}

.merit__problem__cards__lead {
  font-size: 1.5rem;
  line-height: 1.73333;
  letter-spacing: .06em;
  text-align: left;
}

.merit__problem__tryangle {
  margin: 0 auto 4rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 155px 0 155px;
  border-color: #6fbeb7 transparent transparent transparent;
}

.merit__points__title {
  font-size: 4.2rem;
  line-height: 0.95238;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 9rem;
}

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

.merit__points__list {
  margin-left: 3rem;
  margin-bottom: 10rem;
}

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

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

.merit__points__items__number {
  width: 9rem;
  height: 9rem;
  color: #ffffff;
  background-color: #fdbc0e;
  border-radius: 50%;
  position: absolute;
  top: -3rem;
  left: -3rem;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
}

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

.merit__points__items__text {
  text-align: left;
  margin-right: 2.8rem;
}

.merit__points__items__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.42857;
  margin-bottom: 2.5rem;
}

.merit__points__items__lead {
  font-size: 1.6rem;
  line-height: 1.75;
  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: 2rem;
  line-height: 2;
}

.merit__points__items__feature__lead {
  line-height: 1.75;
  letter-spacing: .06em;
}

.merit__points__checktitle {
  font-size: 3.8rem;
  line-height: 1.05263;
  background-color: #009386;
  color: #ffffff;
  padding: 2rem 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: 5rem 0;
  text-align: left;
  border-radius: 0 0 10px 10px;
  margin-bottom: 2rem;
}

.merit__points__checklist__items:not(:last-child) {
  margin-right: 6rem;
}

.merit__points__checklist__items li {
  font-size: 2rem;
  line-height: 2.5;
}

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

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

---------------------------------*/
.special__list {
  margin-bottom: 2rem;
}

.special__items {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 4rem;
  width: calc( 100% / 2 - 1rem);
}

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

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

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

.special__items__group {
  margin-bottom: 2.2rem;
}

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

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

.special__items__catch {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.46154;
  margin-bottom: 3rem;
  text-align: left;
}

.special__items__feature {
  color: #b38512;
  border: 1px solid #b38512;
  width: 28rem;
}

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

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

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

.special__items__lead {
  text-align: left;
  line-height: 1.625;
  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.2rem 3.2rem;
  min-width: 16rem;
  white-space: nowrap;
}

.special__items__type__detail, .special__items__fee__detail {
  text-align: left;
  font-weight: 700;
  padding: 1.2rem 2rem;
  line-height: 1.375;
  width: 100%;
}

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

  シリイゼが選ばれる理由

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

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

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

.reason__items__text {
  text-align: left;
  margin-right: 3.2rem;
}

.reason__items__number {
  font-size: 2.2rem;
  line-height: 1.36364;
  background-color: #fdbc0e;
  color: #ffffff;
  padding: 1rem 4rem;
  border-radius: 40px;
  display: inline-block;
  margin: 0 2rem 2rem 0;
}

.reason__items__catch {
  font-size: 2.2rem;
  line-height: 1.36364;
  font-weight: 700;
}

.reason__items__title {
  font-size: 2.8rem;
  line-height: 1.07143;
  font-weight: 700;
  margin-bottom: 2rem;
}

.reason__items__lead {
  line-height: 1.75;
  letter-spacing: .06em;
  font-weight: 500;
}

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

　ご紹介までの流れ

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

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

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

.flow__items:not(:last-child)::before {
  content: '';
  position: absolute;
  bottom: -2rem;
  left: 9rem;
  display: inline-block;
  background: url(../img/icon_arrowdown_green.png) no-repeat center center/contain;
  width: 22px;
  height: 29px;
}

.flow__items__text {
  text-align: left;
  margin-right: 3.2rem;
}

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

.flow__items__title {
  font-size: 2.4rem;
  font-weight: 700;
}

.flow__items__title::before {
  content: '－\0020\0020';
  white-space: pre;
}

.flow__items__lead {
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: .06em;
}

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

　よくある質問

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

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

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

.faq__items__question {
  font-size: 2.2rem;
  font-weight: 700;
  position: relative;
  margin: 0 0 2rem 3.8rem;
}

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

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

.faq__items__anser {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.77778;
  margin-left: 3.8rem;
}

.faq__items__anser::before {
  content: 'A.\A';
  font-size: 3rem;
  font-weight: 700;
  font-family: 'Roboto', sans-serif;
  color: #fdb10e;
  margin-left: -3.8rem;
}

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

  お問い合わせ

---------------------------------*/
.contact__form {
  padding: 0 5rem;
  margin-bottom: 6rem;
}

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

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

.contact__form tr:first-of-type td {
  margin-bottom: 4rem;
  text-align: left;
}

.contact__form tr:first-of-type td label {
  margin-right: 4rem;
}

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

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

.contact__form th span::before {
  border-radius: 0.2rem;
  color: #ffffff;
  display: inline-block;
  font-size: 1.4rem;
  margin-right: 2rem;
  padding: 0.5rem 0.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.4rem;
  margin-bottom: 3rem;
  text-align: center;
}

.contact__form__attention a {
  text-decoration: underline;
}

.contact__form__attention a:hover {
  text-decoration: none;
}

.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: 2.6rem;
  font-weight: 700;
  line-height: 1.15385;
  padding: 2.8rem 0;
  position: relative;
  width: 46rem;
  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;
  width: 40rem;
  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-right: 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__contact {
  background: url(../img/points_pattern_diagonal_stripes.png), linear-gradient(90deg, #00aa9b 0%, #01bbab 50%, #00aa9b 100%);
  padding: 2.5rem 0;
}

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

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

.cta__contact__items:not(:last-child) {
  margin-right: 1rem;
}

.cta__contact__button {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: .02em;
  color: #ffffff;
  border-radius: 37.5px;
  padding: 1rem 3rem;
  height: 7.5rem;
  transition-duration: .3s;
}

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

.cta__contact__button--phone:hover {
  background-color: #e87403;
}

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

.cta__contact__button--mail:hover {
  background-color: #e87403;
}

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

.cta__contact__button--line:hover {
  opacity: .88;
}

.cta__contact__phone__number {
  font-size: 3.6rem;
  font-weight: 700;
  margin-bottom: .5rem;
  line-height: 1;
}

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

.cta__person__title {
  font-size: 4rem;
  line-height: 1.65;
  margin-right: 2rem;
}

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

.cta__title {
  color: #ffffff;
  font-size: 3.2rem;
  line-height: 2.0625;
  background-color: #009386;
}

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

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

.cta__points__list {
  padding: 1.5rem 0;
}

.cta__points__items {
  position: relative;
}

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

.cta__points__items::after {
  content: '';
  width: 100%;
  position: absolute;
  bottom: -.7rem;
  left: 0;
  height: 1px;
  background-color: #ffffff;
}

.cta__points__number {
  color: #fff100;
  font-family: 'Roboto', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  margin-right: 1rem;
}

.cta__points__number__text-large {
  font-size: 3.4rem;
  font-weight: 500;
  font-family: 'Roboto', sans-serif;
}

.cta__points__lead {
  font-size: 1.9rem;
  font-weight: 700;
}

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

  footer

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

.footer__text {
  margin-bottom: 4rem;
}

.footer__text p {
  line-height: 2;
}

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

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

  ページトップボタン

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

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

.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: .8rem;
  content: 'PAGE\ATOP';
  white-space: pre;
  display: block;
  font-size: 1.2rem;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
  font-weight: 500;
  font-family: 'Roboto', sans-serif;
}

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

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

.sp {
  display: none !important;
}

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