@charset "utf-8";
html {
  scroll-behavior: smooth;
}

html,
body {
  height: 100%;
  font-size: 62.5%;
  width: 100%;
}

*,
*::after,
*::before {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}
body{
	font-family:"Noto Sans JP", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #333333;
	font-size: 1.6rem;
	background: #fff;
	letter-spacing: 0.05em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
}
@media only screen and (max-width: 768px){
  body,html {
    font-size: 1.4rempx;
  }}
main {
  display: block;
  width: 100%;
  z-index: 1;
  overflow-x: hidden;
}

ul,
li {
  list-style-type: none;
}

a {
  text-decoration: none;
  cursor: pointer;
  color: #333333;
  transition: all 0.3s ease;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
.en{
	 font-family: "Roboto", sans-serif;
	font-style: normal;
  font-variation-settings:"wdth" 100;
}
@media (min-width: 769px){
.header {
  width: 100%;
  height: auto;
  box-sizing: border-box;
  position: fixed;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px 48px;
  transition: padding 375ms cubic-bezier(.215,.61,.355,1);
}}

.header .header_logo {
  margin-left: -12px;
  max-width: 180px;
}
@media (max-width: 768px){
.header .header_logo {
    margin-left: 0;
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 1;
    width: 120px;
}}
.header .header_logo a {
  display: block;
}
@media (max-width: 768px){
  .header .pc_nav{
    display: none;
  }}
.header .pc_nav ul {
  display: flex;
}

.header .pc_nav ul li a,
.header .side_menu ul li a  {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  letter-spacing: .025em;
  font-feature-settings: "palt";
  color: #333333;
  font-size: 16px;
  line-height: 48px;
  text-decoration: none;
  display: block;
  height: 48px;
  padding: 0 20px;
  position: relative;
}

.header .pc_nav ul .header_btn {
  margin-left: 20px;
}

.header .pc_nav ul .header_btn a,
.header .sp_nav ul .header_btn a {
  background: #F5A100;
  color: #fff;
  line-height: 44px;
  text-align: center;
  border-radius: 24px;
  padding: 0 28px;
  border: 2px solid transparent;
  box-sizing: border-box;
}

.header .sp_nav ul .header_btn a {
width: calc(100% - 40px);
margin:auto;
}

.header .pc_nav ul li a,
.header .side_menu ul li a {
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  letter-spacing: .025em;
  font-size: 16px;
  line-height: 48px;
  text-decoration: none;
  display: block;
  height: 48px;
  padding: 0 20px;
  position: relative;
}
.header .side_menu ul li a {
  text-align: left;
}
.header .sp_nav {
  display:none;
}
@media (max-width: 768px){
  .header .sp_nav {
    display:block;
  }}
.header .sp_nav {
  text-align: center;
}
.side_menu {
  padding-top: 100px;
  position: fixed;
  right:calc((100% - 80px) * -1);
  transition: all 0.6s;
  top: 0;
  z-index: 2;
  background-color: #fff;
  width: calc(100% - 80px);
  height: 100%;
  margin-left: 80px;
}
.sidemenu nav {
  height: 100%;
}

.side_menu nav ul{
  display: flex;
      height: 100%;
    flex-direction: column;
    justify-content: center;
}
.side_menu nav ul li {
  padding: 20px;
  height: 100%;
}
.sp_nav .hamburger {
  background-color: #F5A100;
  border-radius: 9999px;
  pointer-events: auto;
  cursor: pointer;
  height: 46px;
  width: 46px;
  position: absolute;
  right: 20px;
  top: 25px;
  z-index: 3;
}
.hamburger span {
  background-color: #fff;
  height: 2px;
  left: 13px;
  position: absolute;
  transition: all 0.6s;
  width: 19px;
}
.line_top {
  top: 16px;
}
.line_center {
  top: 23px;
}
.line_bottom {
  top: 30px;
}

.nav_open .side_menu {
  right:0;
}
.nav_open .line_top {
  top: 23px;
  transform: rotate(45deg);
}

.nav_open .line_center,
.nav_open .line_bottom {
  top: 23px;
  transform: rotate(-45deg);
}
.nav_open .overlay {
  opacity: 0.8;
  visibility: visible;
}

.overlay {
  background-color: rgba(29,29,29,.2);
  cursor: pointer;
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: all 0.6s;
  visibility: hidden;
  width: 100vw;
  z-index: 1;
}
/* mv --------------------------------------------*/
.background_img {
  background-color: #f7f2f2;
  width: 100%;
  position: relative;
  background-attachment: fixed;
  background-image: url("../images/mv_pc.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px){
  .background_img {
    background-image: url("../images/mv_sp.png");
  }
}
.top_mv {
  width: 100%;
  position: relative;
  height: 100vh;
}
.mv_inner{
  width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
}
.mv_inner .mv_catch{
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  font-size: 7.321vw;
  margin-bottom: 30px;
  line-height: 1;
	color:#222222;
}
@media only screen and (max-width: 768px){
  .mv_inner .mv_catch{
    font-size: 12vw;
  }}
.mv_inner .mv_lead{
  font-weight: 500;
  font-size: 20px;
  line-height: 1.5;
		color:#222222;
}
@media only screen and (max-width: 768px){
  .mv_inner .mv_lead{
    font-size: 14px;
  }}
/* top_about -------------------------------------*/
.section_about{
  position: relative;
}
.section_about::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,0.8);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.section_inner {
  position: relative;
  box-sizing: border-box;
  margin:0 auto;
  padding:0 20px;
  width: 100%;
	max-width:1140px;
}
.section_about .section_inner {
  padding-top: 140px;
  padding-bottom: 140px;
}
.section_about .section_contents {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  gap:10%;
}
.section_about .content_item{
  width: 50%;
}
 .heading_ttl h2 {
  position: relative;
  padding-left: 20px;
  font-size: 20px;
  line-height: 1;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  letter-spacing: .025em;
  color:#F5A100;
  margin-left:3px;
}

 .heading_ttl h2::before {
  content: "";
  position: absolute;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #F5A100;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.heading_ttl h3{
  margin-top:20px;
  line-height: 1.2;
  font-feature-settings: "palt" on;
  font-weight: 700;
  font-size: 2.77778vw;
}
.section_about .heading {
  font-size: 40px;
  line-height: 1.7;
  font-weight: bold;
}
.section_about .description {
  line-height: 3;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}
.btn-block{
		text-align:center;
		width:100%;
		margin:50px auto 0 0;
		max-width: 300px;
	}
.button{
  font-family: 'Roboto',"Noto Sans JP", sans-serif;
  font-weight: 500;
  position: relative;
  background-color: #F5A100;
  transition: all .25s cubic-bezier(.4,.1,.3,1);
   -webkit-tap-highlight-color: rgba(0,0,0,0);
   box-sizing: border-box;
	 text-align: center;
    display: block;
    line-height: 64px;
    text-decoration: none;
    color: #ffffff;
    font-size: 1.6rem;
    border-radius: 999px;
    width: 100%;
    height: 64px;
}
.arrow-btn:after {
    content: "";
    width: 24px;
    height: 24px;
    background-image: url(../images/arrow-right.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    transition: all 0.3s;
    display: inline-block;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}
.arrow-btn:hover:after{
    right:20px;
}
@media only screen and (max-width: 768px){
.section_about .section_inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }
	.section_about .section_contents {
    margin-top: 20px;
    flex-direction: column;
  }
	.section_about .content_item{
    width: 100%;
  }
	.heading_ttl h2 {
    font-size: 16px;
    padding-left: 12px;
	}
	.heading_ttl h2::before {
    width: 6px;
    height: 6px;
  }
	.heading_ttl h3{
    margin-top:14px;
    font-size: 24px;
  }
	.section_about .heading {
    font-size:7vw;
  }
	.section_about .description {
    margin-top: 20px;
    line-height: 2;
  }
	.btn-block{
		margin:30px auto 0;
	}
}
/* top_service -----------------------------------*/
.section_service{
  background-color: #F6F7F7;
}
.section_service .section_inner{
padding-top: 140px;
padding-bottom: 140px;
}
@media only screen and (max-width: 768px){
  .section_service .section_inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }}
.section_service .service_list {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top:50px;
  gap:50px;
}

.section_service .service_list .service_item {
  display: flex;
  width: 100%;
  background-color: #fff;
  overflow: hidden;
  border-radius: 0.83333vw;
  gap:8%;
}
@media only screen and (max-width: 768px){
  .section_service .service_list .service_item {
flex-direction: column-reverse;
border-radius: 3.2vw;
align-items: center;
  }}
.section_service .service_list .service_item .service_item_data{
  display: flex;
  flex-direction: column;
  width: 52%;
}
@media only screen and (max-width: 768px){
  .section_service .service_list .service_item .service_item_data{
    width: 75vw;
  }}
.section_service .service_list .service_item .service_item_data .service_item_data_inner{
  margin: 6.18056vw 0;
  margin-left: 4.16667vw;
}
@media only screen and (max-width: 768px){
  .section_service .service_list .service_item .service_item_data .service_item_data_inner{
    margin: 30px 0;
  }}
.section_service .service_list .service_item .service_item_data .service_item_data_inner h3{
  line-height: 1.2;
  font-feature-settings: "palt" on;
  font-weight: 700;
  font-size: 2.3vw;
}
@media only screen and (max-width: 768px){
  .section_service .service_list .service_item .service_item_data .service_item_data_inner h3{
    font-size: 5.5vw;
  }}
.section_service .service_list .service_item .service_item_data .service_item_data_inner p{
  font-feature-settings: "palt" on;
  margin-top:30px;
  line-height: 1.8;
}

.section_service .service_list .service_item .service_item_img{
  position: relative;
  overflow: hidden;
  width: 48%;
}
@media only screen and (max-width: 768px){
  .section_service .service_list .service_item .service_item_img{
    width: 100%;
  }}
.section_service .service_list .service_item .service_item_img img{
  height: 100%;
  object-fit: cover;
}
/* top_company ----------------------------------------*/
.section_company .section_inner{
  padding-top: 100px;
  padding-bottom: 150px;
  }
  @media only screen and (max-width: 768px){
    .section_company .section_inner{
      padding-top: 80px;
      padding-bottom: 80px;
    }}
.section_company .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8%;
}
@media only screen and (max-width: 768px){
  .section_company .wrapper {
flex-direction: column-reverse;
gap:30px;
  }}
.section_company .wrapper .company_date{
  width: 40%;
}
@media only screen and (max-width: 768px){
  .section_company .wrapper .company_date{
    width: 100%;
  }}

.section_company .wrapper .company_date p{
  font-feature-settings: "palt" on;
  margin-top:30px;
  line-height: 1.8;
}
.section_company .wrapper .company_img{
  flex: 1;
  margin-right: calc(50% - 50vw);
  width: 60%;
  border-radius: 20px 0 0 20px;
  overflow: hidden;
}
@media only screen and (max-width: 768px){
  .section_company .wrapper .company_img{
    width: calc(100% + 20px);
    margin-right:-20px;
  }}

.section_company .info_box{
  margin-top: 36px;
  width: 100%;
}
@media only screen and (max-width: 768px){
  .section_company .info_box{
    margin-top: 24px;
  }}
.section_company .info_box .info_item{
display: flex;
align-items: flex-start;
justify-content: flex-start;
border-bottom: 1px solid #d8d8d8;
}
@media only screen and (max-width: 768px){
  .section_company .info_box .info_item{
flex-direction: column;
    }}
.section_company .info_box .last{
  border: none;
  }

  .section_company .info_box dt {
  padding: 20px 0 0 5px;
  font-weight: 600;
  font-size: 16px;
  font-feature-settings: "pkna" on;
  width:30%;
}
@media only screen and (max-width: 768px){
  .section_company .info_box dt {
    padding: 20px 0 0 0;
    font-size: 14px;
    width:100%;
  }}
.section_company .info_box dd {
  padding: 20px 0;
  width: 70%;
  font-feature-settings: "pkna" on;
}
@media only screen and (max-width: 768px){
  .section_company .info_box dd {
    padding:5px 0 20px 0;
    width: 100%;
  }}
.section_company .info_box .last dd{
  padding: 20px 0 0 0;
  }
@media only screen and (max-width: 768px){
	.section_company .info_box .last dd{
		padding:5px 0 20px 0;
	}}
.attention{
	font-size:12px;
	line-height:1;
}
@media only screen and (max-width: 768px){
	.attention{
	font-size:10px;
	}}
/* contact ----------------------------------------*/
.section_contact{
  margin-bottom: 150px;
}
.contact_wrapper {
  position: relative;
  border-radius: 30px;
  background-color:#F5A100;
  padding: 80px 50px;
}
.contact_box {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
}
.contact_box .heading_ttl h2,
.contact_box .heading_ttl h3 {
  color:#fff;
}
.contact_box .heading_ttl h2::before {
  background-color: #fff;
}
.contact_box .heading_ttl p{
  margin-top:20px;
  color:#fff;
}
.contact_box .btn-block{
	margin:0 0 0 auto;
	max-width:250px;
}
.contact_box .button{
  background-color: #fff;
  color: #F5A100;
}
.contact_box .arrow-btn:after{
background-image: url(../images/arrow-orange.svg);
}
@media only screen and (max-width: 768px){
	  .section_contact{
    margin-bottom: 80px;
	}
  .contact_wrapper {
    border-radius: 20px;
    height: auto;
    padding: 40px 20px;
  }
  .contact_box {
    flex-direction: column;
    align-items: flex-start;
  }
	  .contact_box .heading_ttl p{
    margin-top:10px;
  }
.contact_box .btn-block{
	margin:50px auto 0;
}
}
/* footer ----------------------------------------*/
footer {
    width: 100%;
    background-color: #333333;
    color: #fff;
}
  footer .inner {
    max-width: 1040px;
    margin: 0 auto;
    width: 90%;
}

footer .footer_top {
  padding-top: 50px;
  padding-bottom: 20px;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px){
footer .footer_top {
    padding-top: 100px;
    padding-bottom: 60px;
    flex-direction: row;
    justify-content: space-between;
}}

.footer_top .footer_logo_area .footer_logo {
  width: 40%;
}
@media screen and (min-width: 769px){
.footer_top .footer_logo_area .footer_logo {
    max-width: 185px;
    width: 100%;
}}
.footer_top .footer_nav {
  margin:30px 0;
  display: flex;
  flex-direction: column;
  gap:20px;
}
@media screen and (min-width: 769px){
.footer_top .footer_nav {
  flex-direction: row;
  margin:0;
    gap:100px;
}}

  .footer_top .footer_nav li a {
      color:#fff;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      letter-spacing: .025em;
      font-size: 16px;
  }


footer .footer_bottom{
    padding: 30px 0 50px;
    border-top: solid #747679 1px;
    display: flex;
    flex-direction: column-reverse;
    gap:30px;
}
@media screen and (min-width: 769px){
  footer .footer_bottom{
      padding: 30px 0 100px;
      flex-direction: row;
      justify-content: space-between;
      gap:0;
  }}

footer .footer_bottom .copyright {
    font-size: 12px;
}
  footer .footer_bottom .footer_policy {
      display: flex;
      flex-direction: column;
      gap:15px;
  }
@media screen and (min-width: 769px){
footer .footer_bottom .footer_policy {
  flex-direction: row;
}}


  footer .footer_bottom .footer_policy li a {
    font-size: 12px;
    color:#fff;
}
/* page_about -------------------------------------------*/
.page_ttl{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 520px;
  overflow: hidden;
  box-sizing: border-box;
  background-color: #f7f2f2;
  width: 100%;
  background-attachment: fixed;
  background-image: url("../images/mv_pc.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px){
  .page_ttl{
height: auto;
padding-top: 150px;
padding-bottom: 50px;
background-image: url("../images/mv_sp.png");
background-position: right center;
  }}

.page_heading{
  margin-left: 50px;
  padding-left: 50px;
}
@media only screen and (max-width: 768px){
  .page_heading{
    margin-left: 20px;
    padding-left: 0;
  }}
.page_heading h1{
  position: relative;
  font-size: 16px;
  line-height: 1;
  margin:0 0 30px 3px;
  padding-left: 20px;
  font-weight: 400;
  letter-spacing: .025em;
	color:#222222;
}
@media only screen and (max-width: 768px){
  .page_heading h1{
    font-size: 14px;
    margin:0 0 16px 3px;
    padding-left: 12px;
  }}
.page_heading h1::before {
  content: "";
  position: absolute;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #222222;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media only screen and (max-width: 768px){
  .page_heading h1::before {
    width: 6px;
    height: 6px;
  }}
.page_heading p{
  font-size: 64px;
  line-height: 1;
  font-weight: 700;
  font-family: 'Roboto', sans-serif;
	color:#222222;
}
@media only screen and (max-width: 768px){
  .page_heading p{
    font-size: 40px;
  }}
.mission_wrapper{
padding-bottom: 100px;
margin-bottom: 100px;
border-bottom: 1px solid #e3e3e3;
}
@media only screen and (max-width: 768px){
  .mission_wrapper{
    padding-bottom: 80px;
    margin-bottom: 80px;
    }}
.section_company_info{
  margin-bottom: 160px;
  padding: 160px 0 130px;
  width: 100%;
  background: #F6F7F7;
  border-radius: 60px;
}
@media only screen and (max-width: 768px){
  .section_company_info{
    margin-bottom: 80px;
    padding: 80px 0 56px;
    border-radius: 30px;
  }}
.section_company_info .info_box{
  margin-top: 36px;
  width: 100%;
}
@media only screen and (max-width: 768px){
  .section_company_info .info_box{
    margin-top: 24px;
  }}
.section_company_info .info_box .info_item{
display: flex;
align-items: flex-start;
justify-content: flex-start;
border-bottom: 1px solid #d8d8d8;
}
@media only screen and (max-width: 768px){
  .section_company_info .info_box .info_item{
flex-direction: column;
    }}
.section_company_info .info_box .last{
  border: none;
  }
  .section_company_info .info_box dt {
  padding: 30px 0 0 5px;
  font-weight: 600;
  font-size: 16px;
  font-feature-settings: "pkna" on;
  width:25%;
}
@media only screen and (max-width: 768px){
  .section_company_info .info_box dt {
    padding: 24px 0 0 0;
    font-size: 14px;
    width:100%;
  }}
.section_company_info .info_box dd {
  padding: 30px 0;
  width: 75%;
  font-feature-settings: "pkna" on;
}
@media only screen and (max-width: 768px){
  .section_company_info .info_box dd {
    padding:5px 0 24px 0;
    width: 100%;
  }}
.section_company_info .info_box dd .map{
  margin-top: 24px;
    width: 100%;
}
@media only screen and (max-width: 768px){
  .section_company_info .info_box dd .map{
    margin-top: 16px;
  }}
.section_company_info .info_box dd .map iframe {
  width: 100%;
  aspect-ratio: 2.0829268293;
}
@media only screen and (max-width: 768px){
  .section_company_info .info_box dd .map iframe {
    aspect-ratio: 1;
  }}
/* page_services -------------------------------------------*/
.section_all_services{
  background-color: #F6F7F7;
  padding:100px 0 150px;
  margin-bottom:150px;
}
@media only screen and (max-width: 768px){
  .section_all_services{
    padding:80px 0;
    margin-bottom:80px;
  }}
.all_services_list{
  display: flex;
  flex-direction: column;
  gap:50px;
}
@media only screen and (max-width: 768px){
  .all_services_list{
    gap:40px;
  }}
.all_services_item{
  background-color: #fff;
  border-radius: 0.83333vw;
  padding:7% 5%;
}
@media only screen and (max-width: 768px){
  .all_services_item{
    border-radius: 20px;
    padding:40px 20px;
  }}
.services_item_heading .number{
color: #F5A100;
font-weight: 700;
font-family: 'Roboto', sans-serif;
font-size: 24px;
line-height: 1;
}
.services_item_heading h3{
  font-weight: 700;
  font-size: 40px;
  line-height: 1;
  margin:20px 0;
}
@media only screen and (max-width: 768px){
  .services_item_heading h3{
    font-size: 20px;
  }}
.all_services_item .case_unit{
  margin-top:50px ;
  display: flex;
	flex-wrap:wrap;
  gap:50px 20px;
}
@media only screen and (max-width: 768px){
  .all_services_item .case_unit{
flex-direction: column;
gap:50px;
  }}
.all_services_item .case_unit .case_item{
  background-color: #F6F7F7;
  border-radius: 30px;
  position:relative;
  width: calc((100% - (20px*2))/3);
  padding:50px 20px 30px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
	align-items:center;
}
@media only screen and (max-width: 768px){
  .all_services_item .case_unit .case_item{
width: 100%;
border-radius: 20px;
padding:40px 20px 30px;
  }}
.all_services_item .case_unit .case_item h4{
  background-color: #F5A100;
  border-radius: 9999px;
  font-size: 16px;
  color: #fff;
  text-align: center;
  display: inline-block;
	padding:10px 20px;
  line-height: 20px;
  position: absolute;
	width:100%;
	max-width:240px;
	white-space: nowrap;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
@media only screen and (max-width: 768px){
  .all_services_item .case_unit .case_item h4{
    font-size: 16px;
    padding:  8px 20px;
  }}
.all_services_item .case_unit .case_item .case_item_img{
  max-width: 100px;
  margin-bottom:20px;
}
.all_services_item .case_unit .case_item .case_detail{
    padding-left: 1.5rem;
	text-align:left;
}
.all_services_item .case_unit .case_item .case_detail li{
	list-style: disc;
	font-size:14px;
}
.all_services_item .btn-block{
    margin: 50px auto 0 ;
}
/* page_contact ---------------------------------*/
.section_page_contact{
  margin: 100px 0 150px;
}
.contact_input_body {
    display: flex;
    gap: 8%;
    justify-content: space-between;
}

.contact_input_body .contact_input_side{
  width: 34%;
}

.contact_input_body .contact_input_side .attention{
color: #F5A100;
}
.contact_input_body .contact_input_content{
  width: 58%;
}
.c-contact-form__label{
font-weight: 600;
font-size: 16px;
letter-spacing: 0.02em;
line-height: 1.2;
	margin-top:2rem;
}
.label-first{
	margin-top:0;
}
.c-contact-form__label.-require:after {
  color: #F5A100;
  content: "*";
  font-family: Campton-Medium,sans-serif;
  font-size: 1.3125rem;
}
.wpcf7-spinner {
	display:none!important;
}
input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #f6f7f7 inset;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 340px;
}
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color:#B70000;
	font-size:1.4rem;
	line-height:1.5;
}
.wpcf7-response-output{
	font-size:1.4rem;
	padding-top:2rem;
	color:#B70000;
}

:focus-visible {
    outline: none;
}
.button_contact p{
	display:flex;
	align-items:center;
	justify-content:center;
}

.button_contact input{
  font-family: 'Roboto',"Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  min-width: 12rem;
  background-color: #F5A100;
  color: #fff;
  border-radius: 99rem;
  text-align: center;
  transition: all .25s cubic-bezier(.4,.1,.3,1);
   -webkit-tap-highlight-color: rgba(0,0,0,0);
   box-sizing: border-box;
}
.wpcf7-response-output{
	padding:0!important;
	margin:20px 0 0 0!important;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border:none!important;
}
select.wpcf7-form-control.wpcf7-select,
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 1.8rem 2rem;
	margin-top: 1rem;
	border: none;
	border-radius:4px;
	font-size:1.6rem;
	font-weight:500;
	background-color:#f6f7f7;
}
@media only screen and (max-width: 768px){
	  .section_page_contact{
    margin: 80px 0;
  }
  .contact_input_body {
    flex-direction: column;
}
  .contact_input_body .contact_input_side{
    width: 100%;
  }
	  .contact_input_body .contact_input_content{
    margin-top: 50px;
    width: 100%;
  }
	  .c-contact-form__label{
    font-size: 14px;
	}
}
/* 個別ページ ------------------------------------------*/
.section_page{
	padding-top: 140px;
	padding-bottom: 140px;
}
@media only screen and (max-width: 768px){
.section_page{
    padding-top: 80px;
    padding-bottom: 80px;
}}

.wysiwyg p, .wysiwyg ul, .wysiwyg table {
    margin-bottom: 1.5rem;
}
.wysiwyg h3 {
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin-bottom: 1rem;
}
.wysiwyg ul {
    list-style: disc;
    padding-left: 1.5rem;
}
.wysiwyg ul, .wysiwyg li {
    list-style: disc;
}
.wysiwyg tbody tr td {
    border: solid 3px #ffffff;
    background: #fafafa;
}
.wysiwyg tbody tr td, .wysiwyg tbody tr th {
    text-align: left;
    border: solid 3px #ffffff;
    padding: 14px;
}
.wysiwyg tbody tr>*:first-child, .wysiwyg tbody tr th {
    background: #ededed;
    padding: 5px 0;
    text-align: left;
    border: solid 3px #ffffff;
    padding: 14px;
}
/* works ------------------------------------------*/
.section_works_all{
	margin:100px auto 150px;
}
.works-list{
	display:flex;
	flex-wrap:wrap;
	gap:50px 30px;
}
.works-item{
	width:calc((100% - 60px)/3);
}
.works-link:hover{
	opacity:.7;
	transition:.3s;
}
.works-all-category{
    background-color:#F6F7F7;
	padding:5px 10px;
	font-size:12px;
	    line-height: 1;
    font-weight: 700;
	color:#222222;
}
.works-all-title{
	    font-weight: 700;
    font-size: 20px;
    line-height: 1.5;
	color:#222222;
	margin-top:10px;
}
.works-all-image{
	margin-bottom:10px;
}
.works-all-image img{
	width:100%;
	height:100%;
	aspect-ratio:16/9;
	object-fit:contain;
}
.section_works{
	margin:100px auto 150px;
	max-width:900px;
}
.works-category{
    background-color:#F6F7F7;
	padding:5px 10px;
	font-size:16px;
	    line-height: 1;
    font-weight: 700;
}
.works-title{
	    font-weight: 700;
    font-size: 40px;
    line-height: 1.5;
    margin: 10px 0 30px;
}
.works_button{
	text-align:center;
	margin-bottom:100px;
}
.works-img{
	margin-top:50px;
}
.works-img img{
	width:100%;
	height:100%;
	object-fit:contain;
}
.works .btn-block{
	margin:50px auto 0;
}
.back-btn:after {
    right: auto;
	left:30px;
    top: 50%;
    transform:translateY(-50%) rotate(180deg);
}
.back-btn:hover:after{
	left:20px;
}
@media only screen and (max-width: 768px){
	.section_works_all,
	.section_works{
	margin:50px auto 100px;
}
.works-list{
	gap:30px;
}
.works-item{
	width:100%;
}
.works-category{
	font-size:12px;
}
.works-title{
    font-size: 20px;
}
}
/* column ------------------------------------------*/
.column-list{
  display: flex;
  flex-wrap: wrap;
  gap:2rem;
}
.column-item{
  width:calc((100% - 4rem)/3);
  background-color: #fff;
  border-radius: 16px;
  box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.1);
}
.column-item a{
	display:block;
	height:100%;
}
.column-img{
  border-radius: 16px 16px 0 0;
  aspect-ratio: 8 / 5;
  width: 100%;
  height: auto;
  overflow:hidden ;
}
.column-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.3s ease-out;
}
.column-item a:hover .column-img img {
  transform: scale(1.04);
}
.column-info{
  padding:1.2rem 1.6rem 2rem;
	display:flex;
	flex-direction:column;
	flex: 1 1 auto;
	align-items:stretch;
}
.tag-time{
  display: flex;
  gap:1.2rem;
  align-items: center;
}
.tag-time .tag{
  border-radius: 999px;
  border:1px solid #34495E;
  padding:6px;
  font-size:0.8rem;
  color:#34495E;
  line-height: 1;
}
.tag-time .time{
  color:#99A1AC;
  font-size:1.2rem;
  font-weight: 500;
}
.column-ttl{
  font-size:1.6rem;
  font-weight: 700;
  line-height: 1.6;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  margin:1.2rem 0  2rem;
}
.page-width-narrow {
    max-width: 940px;
    padding: 0 20px;
    margin: 0 auto;
}
.single{
	padding:14.2rem 0 ;
}
.single-ttl{
	font-size:3.2rem;
	font-weight:700;
	line-height:1.3;
	margin-bottom:1.6rem;
}
.single .tag-time .time {
    font-size: 1.6rem;
}
.single .tag-time .tag {
    padding: 8px 15px;
    font-size: 1.2rem;
}

.single .thumbnail{
	margin-top:4rem;
}
.single .thumbnail img{
	width:100%;
}
.content{
	margin:6rem 0 12rem;
}
.content h2{
	font-size:2.4rem;
	font-weight:700;
	line-height:1.3;
		background-color:#f5f5f5;
	margin:6rem 0 2.4rem;
	padding:12px 20px;
	border-left:solid 4px #F5A100;
}
.content h3{
	font-size:2rem;
	font-weight:700;
	line-height:1.3;
	margin:6rem 0 2.4rem;
	padding-bottom:1.2rem;
	border-bottom:solid 2px #F5A100;
}
.content h4{
	font-size:1.6rem;
	font-weight:700;
	line-height:1.3;
	margin:6rem 0 2.4rem;
	padding-bottom:1.2rem;
	border-bottom:solid 1px #1D1D1D;
}
.content strong{
	font-weight:700;
	color:#F5A100;
}
.content ul{
	margin:4rem 0 6rem;
}
.content li{
	list-style:disc;
	font-weight:700;
	line-height:1.8;
	margin-left:1.6rem;
}
.content figure{
	text-align:center;
	margin:4rem auto;
}
.content a{
	color:#F5A100;
	text-decoration:underline;
}
.single .btn-block{
	margin:50px auto 0;
}
div#ez-toc-container{
		margin:4rem 0 0 0;
		padding:4rem;
		border-radius:15px;
	}
div#ez-toc-container .ez-toc-list>li>a{
	font-size:1.6rem;
	font-weight:700;
	line-height:1.36;
}
div#ez-toc-container .ez-toc-list>li>ul>li>a{
	font-size:1.4rem;
	font-weight:700;
	line-height:1.24;
}
div#ez-toc-container .ez-toc-list>li>ul>li>ul>li>a{
	font-size:1.4rem;
	font-weight:400;
	line-height:1.24;
	padding:20px 0 0 10px;
}
div#ez-toc-container .ez-toc-list>li>ul>li>ul>li>a::before{
	content:none;
}
#ez-toc-container ul ul,
.ez-toc div.ez-toc-widget-container ul ul {
    margin-left: 20px!important;
}
@media only screen and (max-width: 768px){
	.column-list{
  flex-direction: column;
}
.column-item{
  width:100%;
}
.column-info{
  padding:1.8rem 1.6rem 2rem;
}
.single{
	padding:5rem 0 10rem;
}
.single-ttl{
	font-size:2.4rem;
	margin-bottom:1.2rem;
}
.single .tag-time .time {
    font-size: 1.2rem;
}
.single .tag-time .tag {
    padding: 8px 10px;
    font-size: 0.8rem;
}
.single .thumbnail{
	margin-top:2.4rem;
}
.content{
	margin:4rem 0 8rem;
}
.content h2{
	font-size:2rem;
	margin:4rem 0 2.4rem;
	padding:8px 20px;
}
.content h3{
	font-size:1.6rem;
	margin:4rem 0 2.4rem;
}
.content h4{
	font-size:1.4rem;
	margin:4rem 0 2.4rem;
}
.content ul{
	margin:4rem 0;
}
.content figure{
	margin:4rem auto 2.4rem;
}
	div#ez-toc-container{
		padding:2.4rem 2rem;
	}
div#ez-toc-container .ez-toc-list>li>a{
	font-size:1.4rem;
	padding:20px 0 0 0;
}
div#ez-toc-container .ez-toc-list>li>ul>li>a{
	font-size:1.2rem;
	padding: 12px 0 0 20px;
}
div#ez-toc-container .ez-toc-list>li>ul>li>ul>li>a{
	font-size:1.2rem;
	padding: 12px 0 0 20px;
}
	#ez-toc-container .ez-toc-list>li>ul{
    margin-left: 0 !important;
	}
}