*{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html{
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}

body{
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 18px;
  font-weight: 500;
}

input,
textarea{
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

table{
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

ul,
ol{
  list-style: none;
}

ol{
  counter-reset: ol_number;
}

li{
  position: relative;
}

a{
  display: inline-block;
  position: relative;
  text-decoration: none;
  transition: 0.2s;
}

a:hover{
  opacity: 0.65;
}

::before,
::after{
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.2s;
}

h2{
  text-align: center;
}

h3{
  text-align: center;
}

img{
  display: block;
  height: auto;
  max-width: 100%;
  position: relative;
}

.inner{
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  width: calc(100% - 30px);
}

.inner_in{
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  width: calc(100% - 30px);
}

.inner .inner_in{
  width: 100%;
}

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

.flex_box.center{
  justify-content: center;
}

.small{
  font-size: 14px;
}

.center{
  text-align: center;
}

.green{
  color: #10A43C
}
.blue{
  color: #0074C0;
}
.red{
  color: #D00000;
}

.fs-20{
  font-size: 20px;
}
.fs-24{
  font-size: 2.4rem;
}
.fs-30{
  font-size: 3rem;
}
.fs-32{
  font-size: 3.2rem;
}
.fs-40{
  font-size: 4rem;
}

.mb-10{
  margin-bottom: 10px;
}
.mb-20{
  margin-bottom: 20px;
}
.mb-30{
  margin-bottom: 30px;
}
.mb-40{
  margin-bottom: 4rem;
}
.mb-50{
  margin-bottom: 5rem;
}

.bold{
  font-weight: 700;
}

.marker{
  background: linear-gradient(transparent 70%, #fff 70%);
}

.underline{
  border-bottom: 6px solid #D00000;
}

.text-border{
  -webkit-text-stroke: 0.1em #fff;
  text-stroke: 0.1em #fff;
  paint-order: stroke;
}

.link_btn a,
.link_btn input,
.mfp_element_submit:hover{
  background-image: linear-gradient(90deg, #006db5, #58b5fb);
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  font-size: 20px;
  font-weight: 700;
  text-shadow: none;
  padding: 20px 3rem;
}

.link_btn input{
  border: none;
  max-width: 460px;
  width: 100%;
}

.link_btn a::before{
  background-image: url("../img/icon_mail-white.svg");
  content: "";
  display: inline-block;
  height: 20px;
  margin-right: 15px;
  position: relative;
  top: -2px;
  vertical-align: middle;
  width: 26px;
}

.link_btn.gray input{
  background: #747474;
}

#mfp_hidden{
  display: none !important;
}

table#mfp_confirm_table tr td{
  font-weight: 400;
}

.table_wrap table{
    min-width: 800px;
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  html{
    font-size: 50%;
    scroll-padding-top: 85px;
  }
  
  body{
    font-size: 16px;
  }
  
  .underline{
    border-bottom: 3px solid #D00000;
  }

}

/*==================================

ページトップボタン

===================================*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#0074C0;
	border-radius: 5px;
	width: 60px;
	height: 60px;
	color: #fff;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:10px;
	transition:all 0.3s;
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  #page-top{
    bottom: 60px;
  }
}


/*==================================

コンタクトバナー

===================================*/
.contact_box{
  background-image: url("../img/background.jpg");
  background-position: bottom;
  background-size: cover;
  padding-top: 24px;
  padding-bottom: 7.5rem;
}

.contact_box h2{
  color: #fff;
  font-size: clamp(50px,6.86vw,9.6rem);
  font-weight: 800;
}

.contact_box .small_h2{
  color: #fff;
  font-size: 2.4rem;
  font-weight: 800;
  text-align: center;
}

.contact_box .white_back{
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 8.3px 6px rgba(0,0,0,0.25); 
  margin-top: 35px;
  padding: 6rem clamp(15px,6.43vw,9rem);
  position: relative;
}

.contact_box .white_back::before{
  background-image: url("../img/photo_woman.png");
  background-position: bottom;
  background-size: contain;
  content: "";
  height: 300px;
  position: absolute;
  pointer-events: none;
  bottom: 0;
  right: 0;
  width: 250px;
  z-index: 1;
}

.contact_box .white_back .red{
  color: #EE603B;
  font-size: clamp(19px,2.14vw,3rem);
  font-weight: 700;
  text-align: center;
  margin-bottom: 5rem;
}

.contact_box .white_back .red strong{
  font-size: clamp(26px,3.57vw,5rem);
  font-weight: 700;
}

.contact_box .white_back .contact_link{
  align-items: center;
}

.contact_box .white_back .link_btn,
.contact_box .white_back .tel{
  width: 47%;
}

.contact_box .white_back .link_btn a{
  background-image:  linear-gradient(180deg, #006db5, #58b5fb);
  box-shadow: 0 3px 2px 0 rgba(0,0,0,0.25);
  font-size: clamp(20px,2.29vw,3.2rem);
  max-width: 500px;
  padding: 2.8rem;
  text-align: center;
  text-shadow: 0 2px 3.9px rgba(0,0,0,0.45);
  width: 100%;
}

.contact_box .white_back .link_btn a::before{
  background-size: cover;
  height: 30px;
  width: 40px;
}

.contact_box .white_back .tel{
  color: #0074C0;
}

.contact_box .white_back .tel span{
  font-size: clamp(36px,3.43vw,4.8rem);
  font-weight: 700;
  padding-left: 1.2em;
  position: relative;
}

.contact_box .white_back .tel span::before{
  background-image: url("../img/icon_free-dial.svg");
  content: "";
  height: clamp(25px,2.07vw,29px);
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 42px;
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  .contact_box .white_back{
    padding-bottom: 16rem;
  }
  
  .contact_box .white_back .red strong{
    display: block;
    padding-top: 10px;
  }
  
  .contact_box .white_back .link_btn,
  .contact_box .white_back .tel{
    margin-bottom: 20px;
    text-align: center;
    width: 100%;
  }
  
  .contact_box .white_back::before{
    max-width: 150px;
    height: 200px;
    right: -15px;
  }
  
  .contact_box .white_back .tel span{
    padding-left: 1.3em;
  }
}


/*==================================

header

===================================*/
header{
  align-items: center;
  background-color: #fff;
  box-shadow:  0 2px 2.6px 0 rgba(0,0,0,0.17);
  display: flex;
  justify-content: space-between;
  padding: 10px 26px;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 10000;
}

header .logo img{
  width: clamp(230px,25vw,350px);
}

header .header_btn{
  align-items: center;
  display: flex;
}

header .header_btn .tel{
  margin-right: 18px;
  padding-left: 5rem;
  position: relative;
}

header .header_btn .tel::before{
  background-image: url("../img/icon_free-dial.svg");
  background-size: contain;
  content: "";
  height: 27px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 40px;
}

header .header_btn .tel span{
  font-size: clamp(3rem,2.86vw,4rem);
  font-weight: 700;
}

header .header_btn .hamburger_btn{
  background-color: #E25600;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  height: 67px;
  margin-left: 22px;
  position: relative;
  width: 67px;
}

header .header_btn .hamburger_btn::after{
  content: "MENU";
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
}

header .header_btn .hamburger_btn span{
  background-color: #fff;
  border-radius: 4px;
  height: 4px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s;
  width: 36px;
}

header .header_btn .hamburger_btn span:nth-of-type(1){
  top: 16px;
}
header .header_btn .hamburger_btn span:nth-of-type(2){
  top: 26px;
}
header .header_btn .hamburger_btn span:nth-of-type(3){
  top: 36px;
}

header .header_btn .hamburger_btn.active span:nth-of-type(1){
  transform: translateX(-50%) rotate(35deg);
  top: 25px;
}
header .header_btn .hamburger_btn.active span:nth-of-type(2){
  opacity: 0;
}
header .header_btn .hamburger_btn.active span:nth-of-type(3){
  transform: translateX(-50%) rotate(-35deg);
  top: 25px;
}

/*---  under 1024px  -------------------------------*/
@media screen and (max-width:1024px){
  header .header_btn .tel,
  header .header_btn .link_btn{
    display: none;
  }
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  header{
    padding: 15px;
  }
  
  header .header_btn .hamburger_btn{
    height: 52px;
    width: 52px;
  }
  header .header_btn .hamburger_btn::after{
    font-size: 11px;
    bottom: 4px;
  }
  
  header .header_btn .hamburger_btn span{
    width: 32px;
  }
  header .header_btn .hamburger_btn span:nth-of-type(1){
    top: 10px;
  }
  header .header_btn .hamburger_btn span:nth-of-type(2){
    top: 19px;
  }
  header .header_btn .hamburger_btn span:nth-of-type(3){
    top: 28px;
  }
  
  header .header_btn .hamburger_btn.active span:nth-of-type(1),
  header .header_btn .hamburger_btn.active span:nth-of-type(3){
    top: 20px;
  }
  
}


/*==================================

nav-menu

===================================*/
nav.hamburger_menu{
  background-color: rgba(0,0,0,0.42);
  opacity: 0;
  overflow: visible;
  position: fixed;
  pointer-events: none;
  transition: 0.3s;
  height: 100vh;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

nav.hamburger_menu.active{
  opacity: 1;
  pointer-events: auto;
}

nav.hamburger_menu ul{
  background-color: #fff;
  height: 100vh;
  margin-left: auto;
  margin-right: 0;
  padding: 14rem 6.5rem;
  width: 40%;
}

nav.hamburger_menu ul li a{
  color: #000;
  font-size: 2rem;
  font-weight: 400;
  margin-bottom: 1em;
}

nav.hamburger_menu ul li a:hover{
  text-decoration: underline;
}

/*---  under 1024px  -------------------------------*/
@media screen and (max-width:1024px){
  nav.hamburger_menu ul{
    padding-top: 12rem;
    width: 60%;
  }
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  nav.hamburger_menu ul{
    padding: 12rem 15px;
    width: 80%;
  }
}

/*==================================

footer

===================================*/
footer .info{
  flex-wrap: nowrap;
  margin-top: 7rem;
  margin-bottom: 30px;
}

footer .info ul li{
  display: flex;
  font-size: 15px;
}

footer .info ul li span{
  flex-shrink: 0;
  width: 80px;
}

footer .logo{
  margin-bottom: 20px;
  padding-right:20px;
}

footer .access{
  margin-bottom: 5rem;
  padding: 0 10px;
}

footer .copyright{
  background-color: #EDEDED;
  font-size: 12px;
  padding: 10px;
  text-align: center;
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  footer{
    margin-bottom: 45px;
  }
  
  footer .info{
    flex-wrap: wrap;
  }
  
  footer .access{
    padding: 0;
    width: 100%;
  }
}


/*==================================

main

===================================*/
.sp_bottom_btn{
  display: none;
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  .sp_bottom_btn{
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 50;
  }
  .sp_bottom_btn a{
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 12px;
    text-align: center;
    width: 50%;
  }
  
  .sp_bottom_btn a::before{
    background-size: contain;
    content: "";
    display: inline-block;
    margin-right: 5px;
    position: relative;
    vertical-align: middle;
  }
  
  .sp_bottom_btn a.tel{
    background-color: #EE603B;
  }
  .sp_bottom_btn a.tel::before{
    background-image: url("../img/icon_tel.png");
    height: 1.5em;
    width: 1.1em;
    top: -1px;
  }
  
  .sp_bottom_btn a.mail{
    background-color: #0074C0;
  }
  .sp_bottom_btn a.mail::before{
    background-image: url("../img/icon_mail-white.svg");
    height: 1.3em;
    width: 1.5em;
    top: -1px;
  }
}

/*---------------------
MV
---------------------*/
#mainvisual{
  background-image: url("../img/background.jpg");
  background-position: bottom;
  overflow: hidden;
  padding-top: 40px;
  position: relative;
}

#mainvisual .box{
  position: relative;
  bottom: 0;
  left: 52%;
  transform: translateX(-50%);
  width: 100%;
}

#mainvisual .box img{
  margin-left: auto;
  margin-right: auto;
}

#mainvisual .box .sp{
  display: none;
}


/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  #mainvisual{
    padding-top: 14px;
  }
  
  
  #mainvisual .box .pc{
    display: none;
  }
  #mainvisual .box .sp{
    display: block;
  }
}

main section{
  padding-top: 9rem;
  padding-bottom: 5rem;
}

main section h2{
  font-size: clamp(30px,4.88vw,5rem);
  font-weight: 800;
  margin-bottom: 7.5rem;
}

.blue_back{
  background-color: #E5F5FF;
}

.yellow-green_back{
  background-color: #E2EED8;
}

.light-green_back{
  background-color: #E4F4E8;
}

.green_back{
  background-color: #B3DEBE;
}

.white_block{
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 30px;
  padding: 4rem clamp(15px,5.43vw,9rem);
}

.bg-yellow{
  background-color: #FFEE00;
}

ul.normal li{
  padding-left: 2em;
}
ul.normal li::before{
  background-color: #000;
  border-radius: 999px;
  content: "";
  height: 0.4em;
  position: absolute;
  top: 0.5em;
  left: 1em;
  width: 0.4em;
}

/*---------------------
こんなお悩みありませんか？
---------------------*/
.contact_box.first{
  background: none;
  margin-top: -120px;
  padding: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 3;
}

.contact_box.first .white_back{
  box-shadow: 0 0 11.5px 0 rgba(0,0,0,0.18);
  margin-top: 0;
  padding: 4.5rem clamp(15px,3.93vw,5.5rem);
}
.contact_box.first .white_back::before{
  display: none;
}

.contact_box.first .white_back .red{
  margin-bottom: 4rem;
}
.contact_box.first .white_back .red strong{
  text-decoration: underline;
}

.contact_box.first .white_back .link_btn a{
  border-radius: 999px;
}

.contact_box.first .white_back .tel span{
  font-size: clamp(54px,4.14vw,5.8rem);
  font-weight: 800;
}

.contact_box.first .white_back .tel span::before{
  background-size: cover;
  height: 40px;
  width: 62px;
}


/*---  under 1024px  -------------------------------*/
@media screen and (max-width:1024px){
  .contact_box.first{
    background-color: #deedfc;
    margin-top: 0;
    padding: 30px 0;
    position: relative;
    top: 0;
    flex: 0;
  }
  
  .contact_box .white_back .link_btn, 
  .contact_box .white_back .tel{
    margin-bottom: 10px;
    text-align: center;
    width: 100%;
  }
  
  .contact_box.first .white_back .tel span{
    font-size: 35px;
  }
  .contact_box.first .white_back .tel span::before{
    height: 20px;
    width: 32px;
  }
  
}



main{
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  position: relative;
  width: 100%;
}

section#concern{
  padding-top: 0;
}

section#concern .blue_box{
  background-image: linear-gradient(#deedfc, #9cd5f9);
  overflow: hidden;
  padding-top: 27rem;
  padding-bottom: 100px;
  position: relative;
}

section#concern .blue_box::before{
  background-position: bottom;
  background-image: url("../img/bg_shape-lightblue.svg");
  background-size: contain;
  content: "";
  position: absolute;
  height: 163px;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 101%;
  z-index: 1;
}

section#concern .blue_box h2{
  font-size: clamp(25px,3.43vw,4.8rem);
  font-weight: 700;
  margin-bottom: 40px;
}

section#concern .blue_box h2 .marker{
  font-size: clamp(30px,5.29vw,7.4rem);
}

section#concern .blue_box h2 .blue{
  font-size: clamp(40px,7.86vw,11rem);
  font-weight: 900;
  margin: 0 clamp(5px,1.76vw,18px);
}

section#concern .blue_box .ul_box{
  align-items: flex-end;
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 1670px;
  width: 100%;
}

section#concern .blue_box .ul_box img{
  position: relative;
  bottom: -45px;
  z-index: 2;
}

section#concern .blue_box ul{
  gap: 16px 14px;
  margin: 0;
}

section#concern .blue_box ul li{
  background: #fff;
  border-radius: 10px;
  font-size: 2rem;
  font-weight: 700;
  padding: 2rem;
}

section#concern .blue_box ul li::before{
  background-image: url("../img/text_question-mark.svg");
  content: "";
  display: inline-block;
  height: 32px;
  margin-right: 16px;
  vertical-align: middle;
  width: 20px;
}


section#concern .light-blue_box{
  background-color: #E5F5FF;
  padding-top: 7rem;
  padding-bottom: 170px;
  position: relative;
}
section#concern .light-blue_box::before{
  background-image: url("../img/bg_shape-white.svg");
  background-position: bottom;
  background-size: contain;
  content: "";
  height: 163px;
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
}

section#concern .light-blue_box img{
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
  z-index: 1;
}

section#concern .light-blue_box h3{
  font-size: 3rem;
  margin-bottom: 4.5rem;
}

section#concern .light-blue_box h3 .big{
  font-size: 150%;
}

section#concern .light-blue_box ul li{
  background-color: #0074C0;
  border-radius: 10px;
  color: #fff;
  font-size: clamp(18px,2.54vw,2.6rem);
  font-weight: 700;
  padding: 2rem;
  text-align: center;
  width: 24%;
}

section#concern .light-blue_box ul li::before{
  background-image: url("../img/icon_crown.svg");
  content: "";
  height: 36px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 45px;
}

section#concern .light-blue_box ul li .red{
  color: #D00000;
  font-size: 6rem;
  margin: 0 8px;
  -webkit-text-stroke: 0.05em #fff;
  text-stroke: 0.05em #fff;
}

section#concern .white_box{
  padding-top: 90px;
}

section#concern .white_box > div > p.blue{
  display: inline-block;
  position: relative;
}

section#concern .white_box > div > p.blue::before,
section#concern .white_box > div > p.blue::after{
  border-style: solid;
  border-right: 2px solid transparent;
  border-left: 2px solid transparent;
  border-top: 25px solid #0074C0;
  border-bottom: 0;
  content: "";
  position: absolute;
  height: 0;
  width: 0;
}
section#concern .white_box > div > p.blue::before{
  left: -15.5px;
  bottom: 4px;
  transform: rotate(-30deg);
}
section#concern .white_box > div > p.blue::after{
  right: -15.5px;
  bottom: 4px;
  transform: rotate(30deg);
}

section#concern .white_box h3{
  background-color: #0074C0;
  border-radius: 10px;
  color: #fff;
  font-size: clamp(24px,4.49vw,4.6rem);
  margin-top: 18px;
  margin-bottom: 6rem;
  padding: 18px;
}

section#concern .white_box ul{
  gap: 4.5rem;
}

section#concern .white_box ul li{
  border: 2px solid #0074C0;
  border-radius: 10px;
  padding: 3rem;
  padding-bottom: 18px;
  width: 30%;
}

section#concern .white_box ul li p{
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2em;
  margin-top: 1.8rem;
}

/*---  under 1024px  -------------------------------*/
@media screen and (max-width:1024px){
  section#concern .blue_box{
    padding-top: 10rem;
  }
  
  section#concern .blue_box .ul_box{
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    width: 95%;
  }
  
  section#concern .blue_box ul{
    gap: 10px;
    order: 1;
    width: 100%;
  }
  
  section#concern .blue_box ul li{
    align-content: center;
    padding: 10px;
    
  }
  
  section#concern .blue_box ul li::before{
    background-size: contain;
    height: 27px;
    margin-right: 8px;
    width: 15px;
  }
  
  section#concern .blue_box .ul_box img{
    order: 2;
  }
}


/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#concern .light-blue_box h3 .big{
    font-size: 130%;
  }
  
  section#concern .light-blue_box ul li{
    align-content: center;
    margin-top: 30px;
    width: 48%;
  }
  
  section#concern .light-blue_box ul li .red{
    line-height: 1em;
  }
  
  
  section#concern .white_box ul{
    gap: 15px;
  }
  
  section#concern .white_box ul li{
    width: 100%;
  }
  
  section#concern .white_box ul li img{
    margin-left: auto;
    margin-right: auto;
  }
  
}


/*---------------------
設立費用について
---------------------*/
section#cost h3{
  font-size: 3.6rem;
  margin-bottom: 5rem;
}

section#cost h3 .marker{
  background: linear-gradient(transparent 70%, #FFEE00 70%);
}

section#cost table{
  width: 49%;
}

section#cost table thead th:first-child{
  border: none;
}
section#cost table thead th:nth-child(2){
  background-color: #ccc;
}
section#cost table thead th:last-child{
  background-color: #FFEE00;
}

section#cost table thead th{
  align-content: center;
  font-size: 14px;
}

section#cost table tr{
  display: flex;
}

section#cost table th,
section#cost table td{
  border: 1px solid #ccc;
  display: block;
  padding: 8px;
  width: 33.3%;
}

section#cost table tbody th{
  text-align: left;
}

section#cost table tbody td{
  font-weight: 400;
}

section#cost table tbody td:last-child{
  background-color: #FFFCEB;
}

section#cost div.item{
  width: 47%;
}

section#cost div.item .fukidashi{
  background-color: #FFEE00;
  border-radius: 10px;
  font-size: 2.4rem;
  font-weight: 700;
  margin-left: 20px;
  margin-bottom: 26px;
  padding: 3rem;
  position: relative;
  text-align: center;
}

section#cost div.item .fukidashi::before{
   content: "";
  position: absolute;
  top: 50%;
  left: -20px;
  margin-left: -20px;
  border: 20px solid transparent;
  border-right: 20px solid #FFEE00;
  transform: translateY(-50%);
}


section#cost div.item .fukidashi .big{
  font-size: 3.2rem;
  padding: 0 5px;
}

section#cost div.item .fukidashi .big.red{
  font-size: 5rem;
}

section#cost div.item p.bold{
  margin-bottom: 10px;
}

section#cost .white_block.border{
  border: 3px solid #0074C0;
}

section#cost .white_block.border h2{
  margin-bottom: 4.5rem;
}

section#cost .white_block.border .star{
  color: #FFDA07;
  font-size: 4rem;
  letter-spacing: 0.2em;
}

section#cost .white_block.border ol{
  justify-content: flex-start;
  gap: 16px;
}

section#cost .white_block.border ol li{
  align-items: center;
  border: 1px solid #B7B7B7;
  border-radius: 10px;
  box-shadow: 0 3px 4px 0 rgba(0,0,0,0.25);
  display: flex;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2em;
  padding: 16px 3rem;
  width: 31%;
}
section#cost .white_block.border ol li:last-child{
  width: 40%;
}

section#cost .white_block.border ol li::before{
  content: counter(ol_number, decimal-leading-zero);
  counter-increment: ol_number;
  color: #0074C0;
  flex-shrink: 0;
  font-size: 3rem;
  font-weight: 400;
  margin-right: 16px;
}

/*---  under 1024px  -------------------------------*/
@media screen and (max-width:1024px){
  section#cost table,
  section#cost div.item{
    width: 100%;
  }
  
  section#cost table{
    margin-bottom: 30px;
  }
  
  section#cost div.item .fukidashi{
    margin-left: 0;
    padding: 3rem 15px;
  }
  section#cost div.item .fukidashi::before{
    display: none;
  }
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){  
  section#cost table th,
  section#cost table td{
    font-size: 14px;
  }
  
  section#cost div.item .fukidashi .big.red{
    font-size: 35px;
  }
  
  section#cost .white_block.border ol li,
  section#cost .white_block.border ol li:last-child{
    font-size: 18px;
    width: 100%;
  }
  
}


/*---------------------
「最短1日で会社設立」は現実的ではないのか？
---------------------*/
section#column{
  padding-top: 13.5rem;
}

section#column .white_block{
  position: relative;
}

section#column .white_block::before{
  background-color: #fff;
  border-radius: 999px;
  content: "COLUMN";
  color: #9AC716;
  font-size: 2.4rem;
  font-weight: 800;
  height: 194px;
  padding: 40px 15px;
  position: absolute;
  top: -75px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  width: 194px;
}

section#column .h2_wrap{
  align-items: flex-end;
  display: flex;
  justify-content: space-around;
  margin-bottom: 40px;
  position: relative;
}

section#column .h2_wrap h2{
  font-size: clamp(24px,2.57vw,3.6rem);
  font-weight: 700;
  margin-bottom: 0;
}

section#column .h2_wrap h2 .big{
  font-size: 135%;
}


section#column .h2_wrap img{
  margin-top: 10px;
}

section#column h3{
  border-left: 5px solid #10A43C;
  margin-top: 30px;
  margin-bottom: 20px;
  padding-left: 14px;
  text-align: left;
}


/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#column .h2_wrap{
    flex-flow: wrap;
  }
  
  section#column .h2_wrap h2{
    margin-bottom: 20px;
    order: 1;
    width: 100%
  }
  section#column .h2_wrap h2 .big{
  font-size: 110%;
}

  
  section#column .h2_wrap img{
    order: 2;
  }
}


/*---------------------
安くなるのはなぜ？
---------------------*/
section#great-value{
  padding-top: 0;
  padding-bottom: 0;
}

section#great-value .gv_question{
  background-color: #10A43C;
  color: #fff;
  font-weight: 700;
  padding: 5rem 15px;
}

section#great-value .gv_question h2{
  margin-bottom: 0;
}

section#great-value .light-green_back{
  padding: 5rem 0;
}

section#great-value .light-green_back h3{
  font-weight: 500;
  margin-bottom: 36px;
  text-align: left;
}

section#great-value .light-green_back ul.check li{
  background-color: #fff;
  border: 1px solid #D5D5D5;
  border-radius: 10px;
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 12px;
  padding: 3rem;
  padding-left: 65px;
}

section#great-value .light-green_back ul.check li::before{
  background-image: url("../img/icon_check.svg");
  content: "";
  height: 23px;
  position: absolute;
  top: 38px;
  left: 30px;
  width: 24px;
}

section#great-value .bg_white{
  align-items: center;
  flex-wrap: wrap;
  position: relative;
}

section#great-value .bg_white::before{
  background-image: url("../img/img_arrow-red.png");
  background-size: contain;
  content: "";
  height: 72px;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 147px;
  z-index: 1;
}

section#great-value .bg_white .yellow_ball{
  align-content: center;
  background-color: #FFEE00;
  border-radius: 999px;
  box-shadow: 0 4px 1.8px 0 rgba(0,0,0,0.25);
  color: #10A43C;
  height: 15rem;
  font-size: 3.2rem;
  font-weight: 800;
  text-align: center;
  transform: rotate(-20deg);
  width: 15rem;
}

section#great-value .bg_white .little{
  font-size: 108%;
  margin: 0 10px;
}

section#great-value .bg_white .center .big{
  font-weight: 900;
  font-size: 130%;
}

section#great-value .green_back{
  padding: 5.5rem 0;
}

section#great-value .green_back ul li{
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 1.3px rgba(0,0,0,0.25);
  padding: 16px;
  width: 24%;
}

section#great-value .green_back ul li img{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 16px 20px;
  max-width: 150px;
}

section#great-value .green_back ul li .green{
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 15px;
  text-align: center;
}

section#great-value .green_back ul li .green small{
  font-size: 14px;
}

section#great-value .green_back ul li .text{
  font-size: 16px;
  margin-bottom: 8px;
}

/*---  under 1024px  -------------------------------*/
@media screen and (max-width:1024px){
  section#great-value .bg_white{
    display: block;
  }
  
  section#great-value .bg_white .yellow_ball{
    margin-bottom: 20px;
  }
  
  section#great-value .bg_white img{
    margin-left: auto;
    margin-right: 0;
    max-width: 150px;
  }
  
  section#great-value .green_back ul li{
    margin-bottom: 15px;
    width: 100%;
  }
  
}


/*---------------------
なぜ井関公認会計士事務所が選ばれるのか？
---------------------*/
section#reason ol.inner_in{
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(4,23%);
}

section#reason ol.inner_in li a{
  border: 2px solid #A9A9A9;
  border-radius: 10px;
  display: grid;
  flex-flow: column;
  grid-template-rows: subgrid;
  grid-row: span 4;
  height: 100%;
  padding: 8px 18px 6.5rem;
}

section#reason ol.inner_in li img{
  max-height: 70px;
}
  

section#reason ol.inner_in li a:hover{
  background-color: #E4F4E8;
}

section#reason ol.inner_in li a::before{
  content: counter(ol_number, decimal-leading-zero);
  counter-increment: ol_number;
  color: #10A43C;
  font-size: 2.4rem;
  font-weight: 700;
}

section#reason ol.inner_in li a::after{
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 3px #10A43C;
  border-right: solid 3px #10A43C;
  position: absolute;
  bottom: 20px;
  left: calc(50% - 10px);
  transform: rotate(135deg) translateY(-50%);
}

section#reason ol.inner_in li img{
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

section#reason ol.inner_in li p{
  color: #000;
  margin-top: clamp(20px,3.91vw,4rem);
  text-align: center;
}

section#reason ol.inner{
  margin-top: 6.5rem;
}

section#reason ol.inner li{
  align-items: center;
  border: 2px solid #A9A9A9;
  border-radius: 10px;
  counter-increment: ol_number;
  grid-template-rows: subgrid;
  grid-row: span 4;
  margin-bottom: 20px;
  padding: 4.5rem;
  padding-right: 8rem;
}

section#reason ol.inner li .img_box{
  width: 13%;
}

section#reason ol.inner li .img_box img{
  margin-left: auto;
  margin-right: auto;
}

section#reason ol.inner li .text_box{
  width: 85%;
}

section#reason ol.inner li .text_box .head{
  color: #10A43C;
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 20px;
  padding-left: 1.8em;
  position: relative;
}

section#reason ol.inner li .text_box .head::before{
  content: counter(ol_number, decimal-leading-zero);
  font-size: 120%;
  margin-right: 16px;
  position: absolute;
  top: -5px;
  left: 0;
}

section#reason ol.inner li .text_box .text{
  font-weight: 400;
}

section#reason ol.inner li .achievement_box{
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  width: 100%;
}

section#reason ol.inner li .achievement_box > p{
  margin-top: 7rem;
  margin-bottom: 16px;
  width: 100%;
}

section#reason ol.inner li .achievement_box .achievement{
  border: 1px solid #656565;
  font-weight: 700;
  padding: 15px;
  width: 30%;
}

section#reason ol.inner li .achievement_box .achievement .top_block,
section#reason ol.inner li .achievement_box .achievement .bottom_block{
  align-items: center;
  display: flex;
  justify-content: space-between;
}


section#reason ol.inner li .achievement_box .achievement .top_block .company{
  font-size: 16px;
}

section#reason ol.inner li .achievement_box .achievement .top_block .amount{
  font-size: 14px;
}

section#reason ol.inner li .achievement_box .achievement .top_block .amount span{
  font-size: 2rem;
}

section#reason ol.inner li .achievement_box .achievement img{
  margin: 10px auto;
}

section#reason ol.inner li .achievement_box .achievement .bottom_block .border{
  border: 1px solid #707070;
  margin-bottom: 3px;
  padding: 2px 5px;
}

section#reason ol.inner li .achievement_box .achievement .bottom_block .amount{
  font-size: 2.4rem;
}

/*---  over 1025px  -------------------------------*/
@media screen and (min-width:1025px){
  section#reason ol.inner_in li a{
    padding-bottom: 3.5rem;
  }

  section#reason ol.inner_in li p{
    font-size: 2rem;
    font-weight: 600;
    margin-top: 15px;
  }
}

/*---  under 1024px  -------------------------------*/
@media screen and (max-width:1024px){
  section#reason ol.inner_in{
    grid-template-columns: repeat(3,31%);
  }
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#reason ol.inner_in{
    gap: 10px;
    grid-template-columns: repeat(2, 48%);
  }
  
  section#reason ol.inner_in li a{
    padding: 10px;
    padding-bottom: 5rem;
  }
  
  section#reason ol.inner_in li img{
    max-height: 60px;
  }
  
  
  section#reason ol.inner li{
    padding: 3rem 15px;
  }
  
  section#reason ol.inner li .text_box .head{
    margin-top: 20px;
  }
  
  section#reason ol.inner li .img_box,
  section#reason ol.inner li .text_box,
  section#reason ol.inner li .achievement_box .achievement{
    width: 100%;
  }
}


/*---------------------
税務顧問契約のプランはここがすごい
---------------------*/
section#good-point h2 .small{
  font-size: 3rem;
}

section#good-point ul{
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4,24%);
}

section#good-point ul li{
  background-color: #fff;
  border: 1px solid #0074C0;
  border-right-width: 2px;
  border-bottom-width: 2px;
  border-radius: 10px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  padding: 2.6rem 0 2rem;
}

section#good-point ul li .blue{
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 10px;
  padding: 0 10px;
  text-align: center;
}

section#good-point ul li .number{
  align-content: center;
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 20px;
  padding: 0 10px;
  text-align: center;
}

section#good-point ul li .number img{
  display: inline-block;
  margin: 0 7px;
  vertical-align: bottom;
}

section#good-point ul li .text{
  font-size: 16px;
  padding: 0 3rem;
}

/*---  under 1024px  -------------------------------*/
@media screen and (max-width:1024px){
  section#good-point ul{
    grid-template-columns: repeat(3,31%);
  }
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#good-point ul{
    gap: 10px;
    grid-template-columns: repeat(1, 100%);
  }
  
  section#good-point ul li{
    text-align: center;
  }
}


/*---------------------
顧問料
---------------------*/
section#consulting-fee table tr{
  display: flex;
}

section#consulting-fee table th,
section#consulting-fee table td{
  border: 1px solid #ccc;
  display:block;
  padding: 10px 15px;
}

section#consulting-fee table th{
  background-color: #E5F5FF;
  text-align: left;
  width: 30%;
}

section#consulting-fee table tr td:first-of-type{
  width: 15%;
}
section#consulting-fee table tr td:nth-of-type(2){
  width: 22.5%;
}
section#consulting-fee table tr td:nth-of-type(3){
  width: 22.5%;
}
section#consulting-fee table tr td:last-of-type{
  width: 10%;
}


/*---------------------
サービス内容
---------------------*/
section#service .icon_box{
  margin-bottom: 15px;
}

section#service .icon_box .item:first-of-type{
  width: 100%;
}

section#service .icon_box .item .icon{
  align-content: center;
  background-color: #fff;
  border-radius: 999px;
  color: #0074C0;
  font-size: 20px;
  font-weight: 700;
  height: 132px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8px;
  text-align: center;
  width: 132px;
}

section#service .icon_box .item .icon img{
  margin-left: auto;
  margin-right: auto;
}

section#service .icon_box .item .arrow{
  align-items: center;
  display: flex;
}

section#service .contents{
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 45px;
  position: relative;
  width: 48%;
}

section#service .contents .head{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  color: #fff;
  font-size: 20px;
  padding: 20px;
  text-align: center;
  width: 100%;
}

section#service .contents .head.green_box{
  background-color: #10A43C;
}
section#service .contents .head.blue_box{
  background-color: #0074C0;
}
section#service .contents .head.pink_box{
  background-color: #E88B8B;
}


section#service .contents.full{
  width: 100%;
}

section#service .contents.full .half{
  width: 50%;
}

section#service .contents ul{
  padding: 3rem 4rem;
}

section#service .contents .alignment{
  background-color: #D00000;
  color: #fff;
  height: 45px;
  position: absolute;
  top: -45px;
  left: 50%;
  padding: 10px;
  transform: translateX(-50%);
  text-align: center;
}

section#service .photo_box{
  margin-bottom: 7rem;
}

section#service .photo_box .img_box{
  width: 27%;
}

section#service .photo_box .text_box{
  width: 70%;
}

section#service .photo_box .text_box h3{
  font-size: 3rem;
  margin-bottom: 16px;
  text-align: left;
}


/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#service .contents,
  section#service .contents.full .half,
  section#service .photo_box .img_box,
  section#service .photo_box .text_box{
    width: 100%;
  }
  
  section#service .contents ul{
    padding: 15px;
  }
  
  section#service .photo_box .text_box h3{
    margin-top: 15px;
  }
}


/*---------------------
他社にはない強み
---------------------*/
section#strengths table th,
section#strengths table td{
  border: 1px solid #ccc;
  padding: 2rem;
  text-align: center;
}

section#strengths table thead th{
  background-color: #EDEFF8;
}
section#strengths table thead th:first-of-type{
  background-color: transparent;
  border: none;
}

section#strengths table tbody th{
  text-align: left;
}



section#strengths table td{
  font-weight: 400;
}

section#strengths table .mark{
  color: #707070;
  display: block;
  font-size: 25px;
  font-weight: 900;
}

section#strengths table tr > *:nth-child(2){
  border-left: 4px solid #0074C0;
  border-right: 4px solid #0074C0;
  background-color: #E5F5FF;
}
section#strengths table tr > *:nth-child(2) .mark{
  color: #0074C0;
}
section#strengths table thead tr > *:nth-child(2){
  background-color: #0074C0;
  border-top: 4px solid #0074C0;
  color: #fff;
}
section#strengths table tbody tr:last-of-type > *:nth-child(2){
  border-bottom: 4px solid #0074C0;
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#strengths table th,
  section#strengths table td{
    padding: 10px;
  }
  
  section#strengths table td{
    font-size: 14px;
  }
}



/*---------------------
創業融資獲得実績の一部をご紹介
---------------------*/
section#case .item{
  border: 1px solid #ccc;
  border-radius: 10px;
  width: 32%;
}

section#case .item .head{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  color: #fff;
  padding: 18px;
  position: relative;
  text-align: center;
}

section#case .item .head::before{
  background-size: contain;
  content: "";
  display: inline-block;
  height: 82px;
  position: absolute;
  top: -30px;
  left: 20px;
  width: 82px;
}

section#case .item:first-of-type .head::before{
  background-image: url("../img/icon_case_01.png");
}
section#case .item:nth-of-type(2) .head::before{
  background-image: url("../img/icon_case_02.png");
}
section#case .item:nth-of-type(3) .head::before{
  background-image: url("../img/icon_case_03.png");
}

section#case .item:nth-of-type(odd) .head{
  background-color: #0074C0;
}
section#case .item:nth-of-type(even) .head{
  background-color: #10A43C;
}

section#case .item ul{
  font-size: 16px;
  padding: 3rem;
}


/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#case .item{
    margin-bottom: 50px;
    width: 100%;
  }
  
  section#case .item ul{
    padding: 3rem 15px;
  }
}


/*---------------------
会社設立の流れ
---------------------*/
section#company-flow ol li{
  align-items: center;
  background-color: #fff;
  border-radius: 10px;
  counter-increment: ol_number;
  margin-bottom: 30px;
  padding: 30px;
}

section#company-flow ol li:not(:last-child)::before,
section#company-flow ol li:not(:last-child)::after{
  content: '';
  width: 10px;
  height: 10px;
  margin-left: -10px;
  position: absolute;
  left: 50%;
  transform: rotate(135deg) translateX(-50%);
}

section#company-flow ol li::before{
  border-top: solid 2px #8BD3A0;
  border-right: solid 2px #8BD3A0;
  bottom: -15px;
}

section#company-flow ol li::after{
  border-top: solid 2px #10A43C;
  border-right: solid 2px #10A43C;
  bottom: -25px;
}

section#company-flow ol li h3{
  font-size: 3rem;
  text-align: left;
  width: 40%;
}

section#company-flow ol li h3::before{
  color: #10A43C;
  content: counter(ol_number, decimal-leading-zero);
  margin-right: 26px;
}

section#company-flow ol li p{
  font-size: 16px;
  font-weight: 400;
  width: 58%;
}


/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#company-flow ol li h3,
  section#company-flow ol li p{
    width: 100%;
  }
  
  section#company-flow ol li h3{
    margin-bottom: 20px;
  }
}


/*---------------------
無料相談の流れ
---------------------*/
section#consultation-flow {
  counter-reset: ol_number;
}

section#consultation-flow .white_block{
  counter-increment: ol_number;
  margin-bottom: 30px;
  position: relative;
}

section#consultation-flow .white_block .img_box{
  width: 36%;
}

section#consultation-flow .white_block .text_box{
  width: 60%;
}

section#consultation-flow .white_block .text_box h3{
  font-size: 3rem;
  margin-bottom: 20px;
  position: relative;
  text-align: left;
}

section#consultation-flow .white_block .text_box h3::before{
  content: counter(ol_number, decimal-leading-zero);
  margin-right: 15px;
}

section#consultation-flow .white_block .text_box p{
  font-size: 16px;
  font-weight: 400;
}

section#consultation-flow .white_block:not(:last-child)::before,
section#consultation-flow .white_block:not(:last-child)::after{
  content: '';
  width: 10px;
  height: 10px;
  margin-left: -10px;
  position: absolute;
  left: 50%;
  transform: rotate(135deg) translateX(-50%);
}

section#consultation-flow .white_block::before{
  border-top: solid 2px #85BFE5;
  border-right: solid 2px #85BFE5;
  bottom: -15px;
}

section#consultation-flow .white_block::after{
  border-top: solid 2px #0074C0;
  border-right: solid 2px #0074C0;
  bottom: -25px;
}


/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#consultation-flow .white_block .img_box,
  section#consultation-flow .white_block .text_box{
    width: 100%;
  }
  
  section#consultation-flow .white_block .text_box h3{
    margin-top: 20px;
  }
}


/*---------------------
よくある質問
---------------------*/
section#faq{
  padding-bottom: 7.5rem;
}

section#faq .faq_item{
  border-bottom: 1px solid #707070;
  padding: 30px 0;
  position: relative;
}
section#faq .faq_item:first-of-type{
  border-top: 1px solid #707070;
}


section#faq .faq_item .question{
  font-size: clamp(18px,1.95vw,20px);
  font-weight: 700;
  padding-left: 40px;
  padding-right: 35px;
  position: relative;
}

section#faq .faq_item .question::before{
  content: "Q";
  color: #10A43C;
  font-size: 27px;
  position: absolute;
  top: -8px;
  left: 0;
}

section#faq .faq_item .answer{
  padding-top: 15px;
}


/*---------------------
アクセス
---------------------*/
section#access .flex_box{
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
  width: 100%;
}

section#access .access_info{
  display: flex;
  flex-flow: column;
  text-align: left;
  width: 46%;
}

section#access .access_info .map iframe{
  height: 250px;
  width: 100%;
}

section#access .access_info h3{
  border-left: 4px solid #10A43C; 
  margin-top: 20px;
  margin-bottom: 14px;
  padding-left: 7px;
  text-align: left;
}

section#access .access_info a{
  color: #10A43C;
  font-weight: 600;
  margin-top: auto;
  padding-top: 10px;
  padding-right: 20px;
  text-align: right;
  text-decoration: underline;
}

section#access .access_info a::before{
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #10A43C; 
  border-right: solid 2px #10A43C; 
  position: absolute;
  right: 10px;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#access .access_info{
    margin-bottom: 30px;
    width: 100%;
  }
}


/*---------------------
お問い合わせ
---------------------*/
section#contact{
  background-color: #8AD1FF;
  background-image: url("../img/contact_background.webp");
  padding-bottom: 30rem;
}

section#contact.confirm_thanks{
  background-image: url("../img/background.jpg");
  background-position: bottom;
}

section#contact .red{
  color: #EE603B;
}

section#contact:not(.confirm_thanks) h2{
  margin-bottom: 0;
}

section#contact .yellow{
  color: #FFEE00;
  text-shadow: 0 1px 3.4px rgba(0,0,0,0.44);
}

section#contact .tel_box{
  align-items: center;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 4px 0 rgba(0,0,0,0.25);
  position: relative;
  padding: 5rem 9rem;
  padding-left: 12%;
}

section#contact .tel_box::before{
  background-image: url("../img/photo_woman.png");
  background-position: bottom;
  background-size: contain;
  content: "";
  height: 245px;
  position: absolute;
  bottom: 0;
  left: 10px;
  transform: scale(-1, 1);
  width: 205px;
}

section#contact .tel_box h3{
  font-size: clamp(26px,3.52vw,3.6rem);
  width: 49%;
}

section#contact .tel_box .tel{
  color: #0074C0;
  width: 49%;
}

section#contact .tel_box .tel span{
  font-size: clamp(40px,4.57vw,6.4rem);
  font-weight: 700;
  padding-left: 1.1em;
  position: relative;
}

section#contact .tel_box .tel span::before{
  background-image: url("../img/icon_free-dial.svg");
  background-size: cover;
  content: "";
  height: clamp(25px,2.86vw,40px);
  position: absolute;
  top: 0.5em;
  left: 0;
  width: clamp(42px,4.43vw,62px);
}

section#contact .form_box{
  background-color: #fff;
  border-radius: 10px;
  margin-top: 40px;
  padding: 8rem 15px;
}

section#contact .form_box h3{
  font-size: clamp(26px,3.52vw,3.6rem);
  margin-bottom: 6.5rem;
}

section#contact .form_box table{
  margin-bottom: 30px;
}

section#contact .form_box table tr{
  border-top: 1px solid #606060;
  display: flex;
  padding: 3rem;
}

section#contact .form_box table tr:last-child{
  border-bottom: 1px solid #606060;
}

section#contact .form_box table th,
section#contact .form_box table td{
  display: block;
}

section#contact .form_box table th{
  padding-right: 100px;
  position: relative;
  text-align: left;
  width: 35%;
}

section#contact .form_box table th span.hissu,
section#contact .form_box table th span.ninni{
  border: 1px solid;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 700;
  padding: 5px;
  position: absolute;
  top: -4px;
  right: 0;
  text-align: center;
  width: 80px;
}
section#contact .form_box table th span.hissu{
  border-color: #EE6836;
  color: #EE6836;
}
section#contact .form_box table th span.ninni{
  border-color: #B7B7B7;
  color: #B7B7B7;
}

section#contact .form_box table td{
  font-weight: 400;
  padding: 0 20px;
  width: 65%;
}

section#contact .form_box table td p{
  margin-bottom: 10px;
}

section#contact .form_box table td input[type="text"],
section#contact .form_box table td textarea{
  background-color: #fff !important;
  border: 1px solid #DBDBDB;
  padding: 10px;
  width: 100%;
}

section#contact .form_box table td input[type="checkbox"]{
  margin-right: 10px;
}

section#contact .form_box table td p.day input{
  height: 30px;
  margin-right: 2rem;
  width: auto;
}

section#contact .form_box table td p.day select{
  margin-right: 10px;
  height: 30px;
}

section#contact .form_box table td p.day span.small{
  margin-right: 10px;
}

section#contact .form_box table td p.day span.small.blue{
  font-size: 16px;
  display: block;
  margin-top: 5px;
}

section#contact .form_box table td textarea{
  height: 180px !important;
  width: 100% !important;
}

section#contact .form_box .privacy a{
  color: #0074C0;
  text-decoration: underline;
}

section#contact .form_box .link_btn{
  margin-top: 3.5rem;
}


section#contact.thanks .link_btn a::before{
  display: none;
}

/*---  under 1024px  -------------------------------*/
@media screen and (max-width:1024px){
  section#contact{
    padding-bottom: 10rem;
  }
  
  section#contact .tel_box{
    padding: 5rem 15px;
    padding-left: 15px;
    text-align: center;
  }
  
  section#contact .tel_box h3{
    margin-bottom: 3rem;
  }
  
  section#contact .tel_box h3,
  section#contact .tel_box .tel{
    width: 100%;
  }
  
}

/*---  under 767px  -------------------------------*/
@media screen and (max-width:767px){
  section#contact .tel_box::before{
    display: none;
  }
  
  section#contact .form_box table th,
  section#contact .form_box table td{
    width: 100%;
  }
  
  section#contact .form_box table tr{
    display: block;
    padding: 3rem 15px;
  }
  
  section#contact .form_box table th{
    margin-bottom: 20px;
  }
  
  section#contact .form_box table td{
    padding: 0;
  }
}