/*------------------------------------------------------------------------------
  PC or ALL 
------------------------------------------------------------------------------*/
/* ----common---- */
body.home .page-content {
	margin-bottom: 0;
	letter-spacing:0.1em;
	max-width: calc(1168px + 8vmin);
}
.pt_120 {
	padding-top: 10.3%!important;	
}
.pb_120 {
	padding-bottom: 10.3%!important;
}
@media screen and (min-width: 600px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .pc-only02 {
    display: none !important;
  }
}
@media screen and (max-width: 599px) {
  .pc-only {
    display: none !important;
  }
	.reverse {
		flex-direction: column-reverse;
	}
	body.home .image-text-type03 .text, .image-text-type03.right .text {
		padding: 30px 20px;
	}
}

/* h2 */
.box.title-type04 {
	padding-bottom: 8px;
	margin-bottom: 20px;
}
.box.title-type04 h2.box-h2 {
	font-size: 8rem;
	color:#212121;
	letter-spacing:0.1em;
}
.title-type02:before, .title-type04:before {
	height: 2px;
	width: 200px;
}
.h2_sub {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.6;
	letter-spacing:0.1em;
    text-align: center;
	margin-bottom: 5.5%;
}
@media screen and (max-width: 1024px) {
	.box.title-type04 h2.box-h2 {
		font-size: 5rem;
	}
	.h2_sub {
		font-size: 2rem;
	}
}
@media screen and (max-width: 599px) {
	.box.title-type04 h2.box-h2 {
		font-size: 3rem;
	}
	.h2_sub {
		font-size: 1.6rem;
	}
}
/* button */
body.home .box .btn a,body.home .btn02 a {
	min-width:220px;
	border-radius:0;
	color:#212121;
	font-weight: 400;
	padding:6px 30px;
	border: 1px solid #212121;
	text-align:center;
	background: #fff;
}
.box .btn a,.btn01 a,.btn02 a,.btn03 a,.form-btn input {
	border-radius:0;
	color:#212121;
	font-weight: 400;
	padding:6px 30px;
	border: 1px solid #212121;
	background: #fff;
	justify-content: center;
}
.box .btn a:after,.btn01 a:after, .btn02 a:after, .btn03 a:after {
	content:'';
	width: 13px;
	height: 4px;
	background: url(/mwp/wp-content/uploads/2024/04/Vector.webp)no-repeat;
	background-size: contain;
	top:50%;
	right:9px;
	transform:translateY(-50%);
	transition: 0.2s;
}
.box .btn a:hover:after,.btn01 a:hover:after, .btn02 a:hover:after, .btn03 a:hover:after {
	right: 6px;
}
/* ----header---- */
.header-nav > ul > li > a span {
	font-weight: 400;
}
@media screen and (min-width: 600px) {
	.header-logo {
		width:298px;
	}
}
@media screen and (max-width: 1040px) {
	.header-nav {
		display: none;
	}
}
/* ----mainvisual---- */
.mainvisual {
	margin-bottom:0;
}
@media screen and (min-width: 1025px) {
	.mainvisual {
		max-height: 750px;
	}
	.mainvisual-catch {
		bottom: 22vh;
		left: 17.9vw;
	}
}
/* ----footer---- */
/* fixed */
.sns-icon-list li a {
	border: 1px solid #fff;
}
.fixed-footer {
	background: #212121;
	color:#fff;
}
.fixed-footer p {
	font-size:2.4rem;
	letter-spacing:0.1em;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	letter-spacing:0.1em;
}
.fixed-footer .tel.en {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
}
.fixed-footer .tel a {
	letter-spacing:0.1em;
}
@media screen and (min-width: 1025px) {
	.fixed-footer .tel a {
		font-size:4rem;
		margin:0 50px 0 30px;
	}
}
.fixed-footer .tel a:before {
	color:#fff;
}
.fixed-footer .contact a {
	color: #212121;
	justify-content:center;
    font-size: 1.6rem;
    font-weight: 400;
    background: #fff;
	padding:2px 30px;
	min-width: 200px;
}
.fixed-footer .contact a:before {
	content:none;
}
/* pagetop */
.pagetop {
	z-index:2;
}
.pagetop a {
	background:#B9B9B9;
	border: 1px solid #fff;
	color: #fff;
	width: 65px;
	height: 65px;
	line-height: 65px;
}
/* under */
.footer {
	padding-top:74px;
}
.footer-main {
	margin: 0 0 34px 0;
    padding: 0 0 31px 0;
}
.footer-main:after {
	background:#555555;
}
.footer-main .nav {
	margin: 0 0 33px 0;
}
.footer-main .nav ul li,.footer-sub .copyright {
	font-size:1.4rem;
	letter-spacing:0.1em;
}
.footer-main .logo {
	margin-bottom:31px;
}
.about{
	font-size:1.4rem;
	letter-spacing:0.1em;
	line-height:2.14;
}
.footer-sub .copyright {
	margin-bottom:22px;
}
@media screen and (min-width: 600px) {
	.footer-main .logo {
		width: 298px;
	}
}
@media screen and (max-width: 599px) {
	.footer-main .nav ul {
		flex-direction:column;
	}
	.about{
		line-height:2;
	}
}
/* ----sec_concept---- */
.sec_concept.box-wrap.xl {
	margin-bottom: 0;
}
.sec_concept .box.title-type04 h2.box-h2 {
	color:#fff;
}
.sec_concept .title-type04,.sec_concept .h2_sub {
	margin-bottom: 3.7%;
}
.sec_concept .title-type04:before {
	background: #fff;
}
.sec_concept p {
	line-height:2.5;
}
@media screen and (min-width: 1025px) {
	.image-bg-type02 .text {
		max-width: 968px;
		padding-top: 110px;
		padding-bottom:122px;
	}
	.sec_concept .title-type04 {
		padding-bottom: 20px;
	}
	.sec_concept .btn.en {
		margin: 3.2vh 0 0 0;
	}
}
@media screen and (max-width: 1024px) {
	.sec_concept p {
		text-align: left;
	}
	.image-bg-type02 .text {
		max-width: calc(600px + 8vmin);
		padding-left:4vmin;
		padding-right:4vmin;
	}
}
@media screen and (max-width: 599px) {
	.sec_concept p {
		line-height:2;
	}
}
/* ----sec_about---- */
.sec_about .box.image-text-type03.left {
	max-width : 1520px;
}
.sec_about {
	margin-bottom: 0;
}
.sec_about .image-text-type03 .image {
	max-width: 900px;
}
.sec_about .box.title-type04 {
	text-align:left;
}
.sec_about .title-type04:before {
	left: 0;
    transform: none;
}
.sec_about .h2_sub{
	text-align: left;
    line-height: 2.08;
	margin-top: 4%;
	margin-bottom: 0;
}
@media screen and (min-width: 600px) {
	.sec_about p {
		line-height: 2.5;
		margin: 4.2% 0!important;
		max-width:511px!important; 
	}
	.sec_about .btn.en {
		margin:0;
	}
}
@media screen and (min-width: 1025px) {
	.sec_about {
		padding-bottom: 9.7% !important;
	}
	.sec_about .image-text-type03 .image,.sec_about .image-text-type03 .image img {
		height:718px;
	}
	.sec_about .image-text-type03 .text {
		padding: 0;
    	top: 119px;
		height: 100%;
		width:41%;
    	padding: 67px 82px 60px 27px;
	}
	.sec_about .image-text-type03 .text:before {
		width: calc(100% + 60px );
		height: 100%;
		top: 0;
	}
}
@media screen and (max-width: 599px) {
	.sec_about p {
		line-height: 2;
	}
}
/* ----sec_movie---- */

/* ----sec_case---- */
.sec_case  {
	margin-bottom:0;
	padding-bottom:8%!important;
}
.sec_case.box-wrap.bg:before {
	background: url(/mwp/wp-content/uploads/2024/04/bg_image004.webp) no-repeat center;
    background-size: cover;
}
.sec_case .h2_sub {
	margin-bottom:3.2%;
}
.sec_case .box.banner-type03 {
	max-width:calc(1568px + 4%);
	margin-bottom: 3.2%;
}
.sec_case span.btn02 {
    display: flex;
    justify-content: center;
}
@media screen and (min-width: 600px) {
	.sec_case .box.banner-type03 {
		padding: 0 4vmin;
	}
}
@media screen and (min-width: 1025px) {
	.sec_case .banner-type03 ul:has(> :nth-child(3)) {
		grid-template-columns: repeat(4, 1fr);
	}
	.sec_case .banner-type03 ul {
		gap:60px 32px;
	}
}
@media screen and (max-width: 599px) {
	.banner-type03 ul:has(> :nth-child(3)) {
		grid-template-columns: repeat(2, 1fr);
	}
	.sec_case .banner-type03 ul:has(> :nth-child(3)) li .image {
		width: 100%;
	}
}
/* ----sec_bnr_area---- */
.sec_bnr_area {
	margin-bottom:0;
}
.sec_bnr_area .banner-type01 ul li a span {
	font-weight: 700;
	letter-spacing:0.1em;
}
.sec_bnr_area .banner-type01 ul li a span.en {
	font-size: 5rem;
	line-height:1.5;
}
@media screen and (min-width: 600px) {
	.sec_bnr_area .banner-type01 ul{
		flex-wrap: wrap;
		justify-content: center;
	}
	.sec_bnr_area  .banner-type01 ul li {
		width: calc((100% / 2 ) - 15px);
		max-width: 550px;
	}
	.sec_bnr_area  .banner-type01 ul li .text {
		height: 100%;
	}
	.sec_bnr_area  .banner-type01 ul li a {
		height: 100%;
		text-align: center;
		line-height: 2.2;
	}
	.sec_bnr_area .banner-type01 ul li a {
		padding: 95px 25px;
	}
}
@media screen and (min-width: 1240px) {
	.sec_bnr_area .banner-type01 ul{
		gap: 46px 68px;
	}
}
@media screen and (min-width: 1025px) {
	.sec_bnr_area  .banner-type01 ul li {
		height: 340px;
	}
}
@media screen and (max-width: 1024px) {
	.banner-type01 ul li a span {
		display: block;
		font-size: 2.5rem;
	}
	.sec_bnr_area .banner-type01 ul li a span.en {
		font-size: 4rem;
	}
}
@media screen and (max-width: 599px) {
	.banner-type01 ul li a span {
		display: block;
		font-size: 2rem;
	}
	.sec_bnr_area .banner-type01 ul li a span.en {
		font-size: 3rem;
	}
}
/* ----sec_other---- */
.sec_other .box.image-text-type03.left,.sec_other .box.image-text-type03.right {
	max-width : calc(1520px + 8vmin);
	padding-left:4vmin;
	padding-right:4vmin;
}
.sec_other.box-wrap.bg:before {
	background: url(/mwp/wp-content/uploads/2024/04/bg_image003.webp);
}
.sec_other.box-wrap.lg {
	margin-bottom:0;
}
.sec_other .h2_sub {
	margin-bottom:3.3%;
}
.sec_other .image-text-type03 .text:before {
	background: #fff;
}
.sec_other h3.box-h3 {
	position:relative;
	font-size:3.6rem;
	line-height:1.5;
	letter-spacing:0.1em;
	text-align: center;
	padding-bottom: 23px;
}
.sec_other h3.box-h3:before {
	content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 200px;
    height: 2px;
    background: var(--main-color);
    transform: translateX(-50%);
}
.sec_other .image-text-type03 .text {
	line-height: 2.5;
}
.sec_other .box.image-text-type03 p {
	margin:3.6% auto;
	max-width: 510px;
	letter-spacing:0.05em;
}
.sec_other .btn.en {
    text-align: center;
	margin-top:0;
}
.sec_other .btn.en {
	line-height: 1.6;
}
@media screen and (min-width: 600px) {
	.sec_other .box.image-text-type03.left {
		margin-bottom: 5.3%;
	}
	.sec_other .image-text-type03 .text:before {
		top:48px;
		left: -66px;
		height: calc(100% - 96px);
		width: calc(100% + 70px);
	}
	.sec_other .image-text-type03.right .text:before {
		left:auto;
		right: -66px;
	}
}
@media screen and (min-width: 1025px) {
	.sec_other .image-text-type03 .image {
		max-width: 900px;
		height: 652px;
	}
	.sec_other .image-text-type03 .text {
		padding: 105px 60px 105px 0;
	}
	.sec_other .image-text-type03.right .text {
		padding: 129px 0 129px 60px;
	}
	.sec_other .image-text-type03.right .text:before {
		top: 69px;
    	height: calc(100% - 138px);
	}
}
@media screen and (max-width: 1024px) {
	.sec_other .image-text-type03 .text {
		line-height: 2;
	}
	.sec_other h3.box-h3 {
		font-size:2.8rem;
	}
}
@media screen and (max-width: 599px) {
	.sec_other .box.image-text-type03.left {
		margin-bottom:calc((var(--box-margin)) / 2 )!important;
	}
	.sec_other .image-text-type03 .text {
		background: #fff;
	}
	.sec_other h3.box-h3 {
		font-size:2rem;
	}
}
/* ----sec_contact---- */
.contact-type02 {
	padding-left: 2vmin;
	padding-right: 2vmin;
}
.sec_contact .box.title-type04 {
	padding-bottom: 17px;
    margin-bottom: 9%;
}
.sec_contact .contact-type02 .title span {
	font-size: inherit;
	color:#fff;
	font-weight: 900;
}
.sec_contact .title-type04:before{
	background:#fff;
	width:100px;
}
.sec_contact .contact-type02 .text .tel{
	font-size:6rem;
	letter-spacing:0.1em;
	justify-content: center;
}
.sec_contact .contact-type02 .text .tel:before {
	margin:0;
}
.sec_contact .contact-type02 .text .datetime {
	letter-spacing:0.1em;
	text-align: center;
	margin:0;
	margin-left: 4%;
	padding-top: 26px;
}
.contact-type02 .text .btn {
	justify-content: center;
	margin:0;
	margin-left: 6%;
	padding-top:49px;
}
.contact-type01 .text .btn div a:after, .contact-type02 .text .btn div a:after {
	content: none;
}
@media screen and (min-width: 1025px) {
	.sec_contact .contact-type02 {
		height: 609px;
	}
	.sec_contact .contact-type02 .title {
		top:7px;
	}
	.sec_contact .contact-type02 .text {
		left: 0.3%;
		top: -15px;
	}
	.sec_contact .contact-type02 .text .datetime {
		margin-left: 4%;
	}
	.contact-type02 .text .btn {
		margin-left: 6%;
	}
}
@media screen and (min-width: 1200px) {
	.sec_contact .contact-type02 {
		gap: 140px;
	}
	.sec_contact .contact-type02 .title {
		padding:0;
	}
}
@media screen and (max-width: 1024px) {
	.sec_contact .contact-type02 .text .tel{
		font-size:3.5rem;
	}
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
	.sec_contact .contact-type02 .title {
		padding: 0 30px 0 0;
	}
}
@media screen and (max-width: 599px) {
}
/*------------------------------------------------------------------------------
  under
------------------------------------------------------------------------------*/
/* common */
.blog-content h2:not([class]), .page-content h2:not([class]),
.blog-content h3:not([class]), .page-content h3:not([class]),
.blog-content h4:not([class]), .page-content h4:not([class]) {
  margin: var(--text-margin) 0 calc(var(--text-margin) / 2);
}
/* h2,h3 */
.page-content h2:not([class]) {
	font-size:4rem;
}
.page-content h3:not([class]) {
	font-size:3rem;
}
.blog-content h4:not([class]), .page-content h4:not([class]),.accordion-type01 ul li h3.box-h3 {
	font-size:2rem;
}
@media screen and (max-width: 1024px) {
	.page-content h2:not([class]) {
		font-size:3rem;
	}
	.page-content h3:not([class]) {
		font-size:2.5rem;
	}
	.blog-content h4:not([class]), .page-content h4:not([class]),.accordion-type01 ul li h3.box-h3 {
		font-size:1.8rem;
	}
}
@media screen and (max-width: 599px) {
	.page-content h2:not([class]) {
		font-size:2.8rem;
	}
	.page-content h3:not([class]) {
		font-size:2rem;
	}
}
/* buton */
.btn_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.box-wrap.btn_wrap span.btn02 {
  margin: 0;
  width: calc((100% / 4) - 20px );
  min-width: 0;
}
@media screen and (max-width: 1024px) {
	.box-wrap.btn_wrap span.btn02 {
	  width: calc((100% / 2) - 20px );
	}
}
@media screen and (max-width: 599px) {
	.box-wrap.btn_wrap span.btn02 {
	  width: 100%;
	}
}
.box-wrap.btn_wrap span.btn02 a {
  display: inline-flex;
  height: 100%;
  width: 100%;
  align-items: center;
}
/* grid */
.grid {
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}
@media screen and (max-width: 599px) {
	.grid {
		gap: 15px;
	}
}
.grid_2fr {
    grid-column: 1 / 3;
	width:100%;
}
/* image-TYPE01 */
@media screen and (min-width: 600px) {
	body:not(.home) .image-text-type01.right .image,body:not(.home) .image-text-type01.left .image {
		width: 50%;
	}
}
/* list-number type02 wrap */
body:not(.home) .list-number-type02 ol li .text h3 {
	font-size: 2.8rem;
}
@media screen and (min-width: 600px) {
	body:not(.home) .list-number-type02 ol {
		flex-wrap: wrap;
		justify-content: center;
	}
	body:not(.home) .list-number-type02 ol li {
		width: calc((100% / 3.333) - 15px);
	}
}
@media screen and (max-width: 1024px) {
	body:not(.home) .list-number-type02 ol li .text h3 {
		font-size: 2rem;
	}
}
@media screen and (max-width: 599px) {
	body:not(.home) .list-number-type02 ol li .text h3 {
		font-size: 1.8rem;
		text-align: center;
	}
}
/* image-bg-type01 */
@media screen and (min-width: 1025px) {
	body:not(.home) .image-bg-type01 .image {
		height: 650px;
	}
	body:not(.home) .box-wrap.xl.lead .text {
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 1024px) {
	body:not(.home) .box.image-bg-type02 .text p {
		text-align: left;
	}
}
/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
}
