@charset "utf-8";
/*
Theme Name: Capaway
Author:takashi aoyama
Description:リベンジャーズHP用のデザイン
Version:1.0
*/

:root {
	--red: #C70025;
	--back: #F3F5F9;
}

/* common */
.main > h1 {
 display:none;
}

html {
	font-size: 62.5%;
}

body {
	font-size: 1.5rem;
	font-family: 'Roboto','Helvetica Neue','Arial','Noto Sans JP','ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN','メイリオ',sans-serif;
	font-weight: 300;
	color: #516570;
	letter-spacing: 1px;
}

.max-w {
	max-width: 1000px;
	margin: 0 auto;
}

.heading {
	font-size: 6.8rem;
	font-weight: 200;
	letter-spacing: 10px;
}
f
.ruby {
	color: #24a368;
	font-size: 2rem;
	letter-spacing: 2px;
}

.button, .wpcf7-submit {
	display: block;
	color: #4C6671;
	font-size: 1.3rem;
	width: 250px;
	padding: 20px;
	border: 1px solid #4C6671;
	border-radius: 3px;
	text-align: center;
	position: relative;
	overflow: hidden;
	transition: all 0.2s ease;
}

.button::before, .send_btn::before {
	content: "";
	width: calc(100% + 2px);
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	border-left: 56px solid transparent;
	border-bottom: 56px solid #24a368;
	transform: translateX(100%);
	transition: all 0.4s ease;
}

.button:hover, .wpcf7-submit:hover {
	border: 1px solid #24a368;
	color: #fff;
}

.button:hover::before, .send_btn:hover::before {
	transform: translateX(0);
}

.wpcf7-submit:hover {
	border: 1px solid #24a368;
	color: #fff;
}

.send_btn {
	position: relative;
	text-align: center;
	margin: 0 auto;
	margin-top: 80px;
	width: 250px;
	height: 56px;
	border-radius: 3px;
	overflow: hidden;
}

.wpcf7-submit {
	margin: 0 auto;
}

.arrow {
	position: absolute;
	top: 23px;
	right: 20px;
	display: inline-block;
	width: 18px;
	height: 5px;
	border-right: 1px solid #4C6671;
	border-bottom: 1px solid #4C6671;
	transform: skew(45deg);
}

.send_btn .arrow {
	right: 20px;
	transition: all 0.2s ease;
}

.button:hover .arrow,
.send_btn:hover .arrow {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.wpcf7-spinner {
	display: none;
}

.headingLine {
	display: flex;
	align-items: baseline;
}

.pr-55 {
	padding-right: 55px;
}

.pl-60 {
	padding-left: 60px;
}

.mt-15 {
	margin-top: 15px;
}

.mt-30 {
	margin-top: 30px;
}

.mt-60 {
	margin-top: 60px;
}

.mt-130 {
	margin-top: 130px;
}

.mr-40 {
	margin-right: 40px;
}

.mr-100 {
	margin-right: 100px;
}

.ml-80 {
	margin-left: 80px;
}

.border-b {
	border-bottom: 1px solid #C8C8C8;
}

.bg_gray {
	background-color: var(--back);
}

.bg_red {
	color: #fff;
	background-color: #24a368;
}

.red {
	color: #24a368;
	font-weight: 100;
}

.none_pc {
	display: none;
}

.none_sp {
	display: block;
}

.none_tablet {
	display: block;
}

/* head */
.head {
	color: #fff;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 65%;
	width: 100vw;
	height: 500px;
	display: table-cell;
	vertical-align: middle;
}

.newhead {
	position: relative;
}
.newhead img {
	width: 100%;
}
.newhead .title {
	color: #fff;
	position: absolute;
	top: 50%;
	left: 5vw;
	right: 0;
	margin: auto;
    transform: translateY(-50%);
	text-align: left;
}

.about {
	background-image: url("../img/about_main.jpg");
}

.message {
	background-image: url("../img/message_main.jpg");
	background-position: 50% 30%;
	position: relative;
	z-index: -1;
}

.message::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: inherit;
	filter: brightness(65%);
	z-index: -10;
}

.policy {
	background-image: url("../img/policy_main.jpg");
}

.business {
	background-image: url("../img/business_main.jpg");
}

.news {
	background-image: url("../img/news_main.jpg");
}

.contact {
	background-image: url("../img/contact_main.jpg");
}

.title h1 {
	font-size: 7.5rem;
	font-weight: 200;
	letter-spacing: 6px;
	padding-bottom: 10px;
}

.title span {
	font-size: 2.7rem;
	letter-spacing: 3px;
}

/* top */
.top {
	color: #fff;
	background-image: url("../img/img.jpg");
	background-size: cover;
	position: relative;
	z-index: -1;
	width: 100%;
	height: 1000px;
	margin-top: 0;
}

.top::before {
	content: "";
	/* position: absolute; */
	width: 100%;
	height: 100%;
	background: inherit;
	filter: brightness(65%);
	z-index: -10;
    background-position: center right;
}

.top img {
	width: 80vw;
	max-width: 60rem;
	position: absolute;
	top: 50%;
	left: 130px;
	transform: translateY(-50%);
}

.content_top {
	position: relative;
	padding: 70px 0 180px 0;
}

.content_top::before,
.content_top::after,
.business_links::before,
.business_links::after {
	content: "";
	width: 0;
	height: 0;
	position: absolute;
}

.content_top::before {
	border-left: calc(100vw + 10px) solid transparent;
	border-bottom: 210px solid #f3f5f9;
	top: -207px;
	right: 0;
}

.content_top::after {
	border-right: 90vw solid transparent;
	border-bottom: 210px solid #24a368;
	top: -208px;
	left: 0;
	z-index: -1;
}

.box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.text_box {
	max-width: 540px;
	line-height: 35px;
	position: relative;
	z-index: 5;
}

.pictures {
	display: flex;
	position: absolute;
	right: 0;
}

.picture {
	/* width: 190px; */
	/* height: 450px; */
	width: 380px;
	height: auto;
}

.picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.picture1 {
	margin-top: 40px;
}

.picture1 img {
	object-position: 36% 50%;
}

.picture2 {
	margin-left: 20px;
}

.picture2 img {
	object-position: 75% 50%;
}

.content_news {
	padding: 120px 0;
}

.content_head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
	position: relative;
	z-index: 1;
}

.content_head a {
	margin-top: 7px;
}

.news_list {
	display: grid;
	grid-template-columns: 20% 20% 1fr;
	align-items: center;
	padding: 22px 0;
}

.news_list span {
	font-size: 1.4rem;
}

.border_dot {
	border-bottom: 2px dotted #969696;
}

.border_dot:last-child {
	border-bottom: none;
}

.business_links {
	margin-top: 90px;
	padding-bottom: 180px;
	position: relative;
	z-index: 0;
}

.business_links::before {
	border-right: calc(100vw - 15px) solid transparent;
	border-bottom: 210px solid var(--back);
	top: -210px;
	left: 0;
}

.business_links::after {
	border-left: 40vw solid transparent;
	border-bottom: 80px solid #24a368;
	bottom: 0;
	right: 0;
}

.business_detail {
	display: grid;
	grid-template-columns: 1fr 500px;
	align-items: center;
}

.business_detail.business2 {
	grid-template-columns: 500px 1fr;
	margin-top: 100px;
}

.business_pictures {
	max-width: 1366px;
	margin: 0 auto;
	position: relative;
}

.business_picture {
	position: relative;
	height: 450px;
}

.business_top_img {
	position: absolute;
	top: 0;
	right: 0;
	background-image: url("../img/top_business_picture_1.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	width: calc(((100vw - 1000px) / 2) + 100% - 8px);
	max-width: 700px;
	height: 450px;
}

.business2 .business_top_img {
	background-image: url("../img/top_business_picture_2_20221124.jpg");
	top: 0;
	left: 0;
}

.business_picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.business_text.right {
	padding-left: 70px;
}

.business_text.business2 {
	padding-right: 70px;
}

.business_text > span {
	font-size: 2rem;
	font-family: 'Noto Sans JP';
	font-weight: 300;
	letter-spacing: 3px;
	position: relative;
}

.business_text > span::before {
	content: "";
	width: 44px;
	height: 1px;
	background-color: #24a368;
	position: absolute;
    top: 15px;
    left: 130px;
}

.business_text > span::after {
	/* content: "01"; */
	margin-left: 70px;
}

.business_text.business2 > span::after {
	content: "02";
}

.business_text h1 {
	font-size: 3.2rem;
	padding: 8px 0 35px 0;
}

.business_text h2 {
	font-size: 2.2rem;
	line-height: 35px;
	padding-bottom: 20px;
}

.business_text p {
	line-height: 32px;
	margin-bottom: 35px;
}

.content_contact {
	background-image: url("../img/top_contact.jpg?123");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 65%;
	padding: 120px 0;
}

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

.contact_link {
	width: 100%;
	background-color: rgba(256, 256, 256, 0.8);
	padding: 70px 0;
	text-align: center;
	position: relative;
    z-index: 0;
}

.contact_link h1 {
	font-size: 4.5rem;
	padding-bottom: 5px;
}

.contact_link a {
	margin: 0 auto;
	margin-top: 30px;
}

/* about */
.catch {
	background-color: var(--back);
	padding: 100px;
	margin: 0 auto;
	text-align: center;
}

.text_box h1, .catch h2 {
	position: relative;
	font-size: 4.4rem;
	font-weight: 100;
	line-height: 65px;
}

.catch h2::after {
	content: "";
	position: absolute;
	width: 50px;
	height: 1px;
	background-color: #24a368;
	bottom: -35px;
	left: 50%;
	transform: translateX(-50%);
}

.catch p {
	line-height: 42px;
	margin-top: 80px;
}

.aboutLink {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.about_message {
	margin-top: 150px;
}

.about_message::after {
	content: "";
	width: 481px;
	height: 291px;
	background-color: var(--back);
	position: absolute;
	bottom: -50px;
	left: 190px;
	z-index: -2;
}

.messageImg {
	width: 536px;
	height: 423px;
}

.messageImg > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 25% 50%;
}

.ourPolicy {
	margin-top: 250px;
}

.ourPolicy::after {
	content: "";
	width: 387px;
	height: 351px;
	background-color: var(--back);
	position: absolute;
	bottom: -25px;
	right: 0;
	z-index: -2;
}

.policyImg {
	max-width: 442px;
	max-height: 515px;
	overflow: hidden;
}

.policyImg > img {
	width: 846px;
	height: 100%;
	transform: translateX(-20%);
}

.profile {
	margin-top: 250px;
}

.profileTable {
	padding: 50px 0 100px 0;
}

.tr {
	display: grid;
	grid-template-columns: 20% 1fr;
	padding: 40px 0;
}

.th {
	grid-column: 1 / 2;
}

.td {
	grid-column: 2 / 3;
}

.line-h {
	line-height: 55px;
    margin-bottom: -20px;
    display: block;
}

/* message */
.message_contents {
	padding: 125px 0 120px 0;
}

.message_info {
	position: relative;
}

.message_img {
	width: 100%;
	height: auto;
}

.message_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.message_names {
	position: absolute;
	top: 70px;
	right: -50px;
	color: #fff;
}

.message_names h1 {
	width: 430px;
	background-color: #fff;
	font-size: 3.2rem;
	padding: 10px 15px;
	margin-bottom: 15px;
}

.message_names h2 {
	font-size: 2.7rem;
	font-weight: 100;
	padding: 20px 0;
}

/* .message_names h2::after {
	content: "";
	font-weight: 300;
	margin-left: 30px;
} */

.message_names h2::after,
.message_names p,
.name span {
	font-size: 1.4rem;
	line-height: 22px;
}

.message_names .belong_image {
	display: flex;
}

.message_names .belong_image .person_image {
	width: 150px;
	position: absolute;
	right: 100px;
    object-fit: cover;
}

.message_sentence {
	max-width: 920px;
	background-color: #fff;
	padding: 80px 65px 50px 65px;
	margin: 0 auto;
   margin-top: max(-150px, -15vw);
	position: relative;
	z-index: 10;
}

.message_sentence p {
	line-height: 34px;
	letter-spacing: 0;
}

.name {
	text-align: right;
	font-size: 2rem;
}

.name h2 {
	margin-top: 5px;
}

/* our policy */
.policy_main {
	position: relative;
	padding: 110px 0;
}

.policy_main::before,
.policy_main::after{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	z-index: -10;
}

.policy_main::before {
	border-width: 160px 75vw 0 0;
	border-color: var(--back) transparent transparent transparent;
	top: 0;
	left: 0;
}

.policy_main::after {
	border-width: 0 0 160px 75vw;
	border-color: transparent transparent var(--back) transparent;
	bottom: 0;
	right: 0;
}

.policy_all {
	padding: 0 80px;
	transition: all 0.3s ease;
}

.policy_content{
	display: flex;
	align-items: center;
	padding: 80px 0;
}

.policy_number {
	font-size: 10rem;
	transition: all 0.3s ease;
}

.policy_number::before {
	content: "POLICY";
	display: block;
	font-family: "Noto Sans JP";
	font-size: 2.5rem;
	text-align: center;
	font-weight: 300;
	letter-spacing: 4px;
}

.policy_sentence {
	margin-left: 130px;
	transition: all 0.3s ease;
}

.policy_sentence h2 {
	font-size: 8rem;
	font-weight: 100;
	transition: all 0.3s ease;
}

.policy_sentence p {
	font-size: 2.2rem;
	margin-top: 30px;
	transition: all 0.3s ease;
}

/* business */
.business_main {
	padding: 120px 0 150px 0;
}

.business_head {
	text-align: center;
}

.business_head span {
	display: inline-block;
	font-size: 8rem;
	padding-bottom: 15px;
	border-bottom: 1px solid #24a368;
}

.business_head h1 {
	font-size: 4rem;
	padding-top: 30px;
}

.business_content {
	display: flex;
	justify-content: space-between;
	margin-top: 80px;
}

.business_article {
	width: 460px;
	min-width: 460px;
}

.business_article h2 {
	font-size: 2.7rem;
	line-height: 47px;
	padding-bottom: 20px;
}

.business_article p {
	line-height: 31px;
}

.business_img {
	height: 363px;
	overflow: hidden;
}

.business_img.business2 {
	width: calc(100vw - ((100vw - 1000px) / 2 - 460px));
}

.business_img.link:hover {
	box-shadow: 0 7px 10px 0 rgba(0,0,0,0.1);
	transform: scale(1.05);
}

.business_img img {
	width: 100%;
	height: auto;
}

.business_img.business2 > img {
	width: 100%;
	height:  100%;
	object-fit: cover;
}

.business_board {
	padding: 166px 0 122px 0;
	text-align: center;
	margin-top: -90px;
}

.business_board img {
	width: 100%;
	height: auto;
}

/* news */
.news_main {
	padding: 125px 0;
}

.news_category {
	display: flex;
	justify-content: space-between;
	margin: 0 -7px;
}

.news_category a {
	display: block;
	width: 100%;
	margin: 7px;
	padding: 20px;
	font-size: 1.8rem;
	text-align: center;
}

.news_contents {
	margin-top: 95px;
}

.news_title {
	border-bottom: 1px solid #c8c8c8;
}

.news_label label {
	font-size: 1.4rem;
}

.news_label {
	display: flex;
	align-items: center;
}

.news_label span {
	font-size: 1.1rem;
	display: inline-block;
	padding: 5px 7px;
	border-radius: 3px;
	margin-left: 10px;
}

.news_title h2 {
	font-size: 2.4rem;
	padding: 20px 0;
}

.news_sentence {
	padding-top: 30px;
	line-height: 35px;
}

.news_sentence > p > img {
	max-width: 100%;
	height: 100%;
}

.wp-block-image img {
	height: 100%;
}

/* contact */
.contact_main {
	padding: 125px 0;
}

.contact_head {
	text-align: center;
}

.contact_head h2 {
	font-size: 4.5rem;
	font-weight: 100;
	padding-bottom: 30px;
}

.contact_head h2::before {
	content: "お問い合わせフォーム";
	color: #24a368;
	font-size: 2rem;
	display: block;
	margin-bottom: 15px;
}

.contact_head p {
	line-height: 35px;
}

.forms {
	padding-top: 70px;
}

.forms button {
	margin: 0 auto;
	margin-top: 70px;
}

.contact_form {
	display: grid;
	grid-template-columns: 200px 1fr;
	align-items: center;
	padding: 30px 0;
}

.contact_form.textarea {
	align-items: flex-start;
}

.contact_form.textarea .form_label {
	padding-top: 20px;
}

.form_label {
	font-size: 1.4rem;
}

.form_label span {
	display: inline-block;
	margin-left: 5px;
}

.wpcf7-text, .wpcf7-select, .wpcf7-textarea {
	width: 100%;
	background-color: var(--back);
	padding: 20px 30px;
}

::placeholder {
	color: #B5C4CA;
}

/* lg */
@media (max-width:1080px) {
	/* head */
	.max-w {
		max-width: none;
		margin-left: 40px;
		margin-right: 40px;
	}

	.title h1 {
		font-size: 7.5rem;
		font-weight: 200;
		letter-spacing: 6px;
		padding-bottom: 10px;
	}

	.title span {
		font-size: 2.7rem;
		letter-spacing: 3px;
	}

	.business_top_img {
		width: calc(100% + 40px);
	}

	.policy_all {
		padding: 0 4rem;
	}

	.policy_number {
		font-size: 8rem;
	}

	.policy_sentence {
		margin-left: 10vw;
	}

	.policy_sentence h2 {
		font-size: 6rem;
	}

	.policy_sentence p {
		margin-top: 10px;
	}
}

/* sp */
@media (max-width:768px) {
	/* common */
	.none_pc {
		display: block;
	}

	.none_sp {
		display: none;
	}

	.none_tablet {
		display: none;
	}

	.max-w {
		margin-right: 0;
		margin-left: 0;
	}

	.heading {
		font-size: 4.4rem;
		letter-spacing: 5px;
	}

	.headingLine {
		display: block;
	}

	.ruby {
		font-size: 1.6rem;
		letter-spacing: 1px;
	}

	.button, .wpcf7-submit {
		font-size: 1.6rem;
		width: 100%;
		padding: 25px;
	}

	.button::before, .send_btn::before {
		border-left: 70px solid transparent;
		border-bottom: 70px solid #24a368;
	}

	.send_btn {
		margin-top: 20px;
		width: 100%;
		height: 70px;
	}

	.arrow {
		top: 28px;
		width: 25px;
		height: 7px;
	}

	.mr-40 {
		margin-right: 20px;
	}

	/* head */
	.head {
		height: 485px;
		text-align: center;
	}

	.newhead {
		margin-top: 9rem;
	}
	.newhead .title {
		text-align: center;
	}

	.title h1 {
		font-size: 5rem;
		/* padding-top: 40px; */
	}

	.title span {
		font-size: 1.8rem;
		letter-spacing: 1px;
	}

	.message {
		background-position: 72% 50%;
	}

	/* top */
	.top {
		width: 100%;
		height: 640px;
	}

	.top img {
		top: 60%;
		left: 20px;
	}

	.content_top::before {
		border-bottom: 60px solid #f3f5f9;
		top: -59px;
		right: 0;
	}

	.content_top::after {
		border-bottom: 60px solid #24a368;
		top: -59px;
		left: 0;
	}

	.content_top {
		padding: 40px 20px 65px 20px;
	}

	.box, .business_detail, .contact_links {
		display: block;
	}

	.text_box {
		max-width: none;
	}

	.text_box p {
		margin-top: 15px;
	}

	.pictures {
		position: unset;
		margin-left: 0;
		margin-top: 20px;
	}

	.picture {
		width: 100%;
		/* height: 250px; */
	}

	.picture1 {
		margin-top: 0;
	}
	
	.content_news {
		padding: 50px 20px 85px 20px; 
	}

	.content_news .button {
		margin-top: 10px; 
	}
	
	.content_head.top_news {
		border-bottom: 1px solid #969696;
		margin-bottom: 0;
	}

	.headingLine.flex {
		display: flex;
	}

	.news_list {
		display: block;
		padding: 25px 0;
	}

	.news_list span {
		display: inline-block;
		margin-right: 50px;
		margin-bottom: 10px;
	}

	.content_business .content_head {
		padding: 0 20px;
	}

	.business_links {
		margin-top: 30px;
		padding-bottom: 65px;
	}

	.business_links::before {
		border-bottom: 65px solid var(--back);
		top: -65px;
	}

	.business_links::after {
		border-left: 60vw solid transparent;
		border-bottom: 50px solid #24a368;
	}

	.business_detail {
		display: none;
	}

	.business_detail_sp {
		padding: 0 20px;
	}

	.business_detail_sp.business2 {
		margin-top: 65px;
	}

	.business_picture {
		width: 100%;
		height: 50vw;
		max-height: 245px;
		margin-left: 0;
	}

	.business_picture img {
		object-position: 50% 21%;
	}

	.business_picture.business2 {
		margin-right: 0;
	}

	.business_text {
		max-width: none;
		margin-left: 0;
	}

	.business_text.business2 {
		max-width: none;
		padding-right: 0;
	}

	.business_text span {
		font-size: 1.8rem;
	}

	.business_text span::before {
		left: 119px;
	}

	.business_text h1 {
		font-size: 2.7rem;
		padding: 8px 0 20px 0;
	}

	.business_text h2 {
		font-size: 2rem;
		padding: 20px 0;
	}

	.business_text p {
		margin-bottom: 25px;
	}

	.content_contact {
		background-position: 65% 65%;
		padding: 50px 20px;
	}

	.contact_link {
		padding: 45px 20px;
	}

	.contact_link:first-child {
		margin-bottom: 25px;
	}

	.contact_link h1 {
		font-size: 3.5rem;
	}

	/* about */
	.catch {
		padding: 80px 20px;
		text-align: left;
	}

	.text_box h1, .catch h2, .message_names_sp h1 {
		font-size: 2.7rem;
		line-height: 42px;
	}

	.message_names_sp h1 {
		font-size: min(6.2vw, 30px);
		line-height: min(10vw, 50px);
	}

	.catch h2::after {
		left: 0;
		bottom: -30px;
		transform: translateX(0%);
	}

	.catch p {
		font-size: 1.4rem;
		line-height: 32px;
		margin-top: 60px;
	}

	.aboutLink_sp {
		align-items: center;
		padding: 95px 20px;
	}

	.messageImg_sp {
		width: calc(100vw - 40px);
		height: 58vw;
	}

	.messageImg_sp > img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.link_sp {
		background-color: var(--back);
		padding: 50px 30px;
	}
	
	.link_sp > .button {
		z-index:  0;
	}

	.profile {
		margin-top: 0;
		padding: 0 20px;
	}

	.profileTable {
		padding: 35px 0 65px 0;
		font-size: 1.4rem;
	}

	.tr {
		grid-template-columns: 40% 1fr;
		padding: 20px 0;
	}

	.tr_sp {
		padding: 20px 0;
	}

	.td_sp {
		padding-top: 15px;
		line-height: 30px;
	}

	/* message */
	.message_contents {
		padding: 50px 20px;
	}

	.message_names_sp h1 {
		background-color: #fff;
		padding: 3px 10px;
		margin-bottom: 10px;
	}

	.message_names_sp .belong_image {
		display: flex;
		margin-bottom: 10px;
		justify-content: space-between;
	}
	
	.message_names_sp .belong_image .person_image {
		width: 100px;
		object-fit: cover;
	}

	.message_names_sp p,
	.message_names_sp h2::after {
		font-size: 1.3rem;
	}

	.message_names_sp p {
		padding-top: 5px;
		margin-left: 5px;
	}

	.message_names_sp h2 {
		font-size: 2rem;
		padding-top: 5px;
		padding-bottom: 40px;
		margin-left: 5px;
	}

	.message_names_sp h2::after {
		/* content: "MASAHIRO IIDA"; */
		margin-left: 10px;
	}

	.message_sentence {
		padding: 40px 20px 50px 20px;
		margin-top: 0px;
		font-size: 1.4rem;
	}

	.message_sentence p {
		line-height: 30px;
		letter-spacing: 0;
	}

	.name {
		padding-top: 47px;
		text-align: left;
		font-size: 1.8rem;
	}

	/* our policy */
	.policy_main {
		padding: 40px 0;
	}

	.policy_main::before {
		border-width: 70px 100vw 0 0;
	}

	.policy_main::after {
		border-width: 0 0 70px 100vw;
	}

	.policy_all {
		padding: 0 20px;
	}

	.policy_content{
		display: block;
		text-align: center;
		padding: 40px 0;
	}

	.policy_number {
		font-size: 3.5rem;
	}

	.policy_number::before {
		font-size: 1rem;
		letter-spacing: 2px;
	}

	.policy_sentence {
		margin-left: 0;
	}

	.policy_sentence h2 {
		font-size: 4rem;
		margin-top: 10px;
	}

	.policy_sentence p {
		font-size: 1.6rem;
		line-height: 30px;
		margin-top: 15px;
	}

	/* business */
	.business_main {
		padding: 75px 0 85px 0;
	}

	.business_head span {
		font-size: 5rem;
	}

	.business_head h1 {
		font-size: 2.5rem;
	}

	.business_content {
		display: block;
		padding: 0 20px;
		margin-top: 30px;
	}

	.business_article h2 {
		font-size: 2.3rem;
		line-height: 33px;
		padding-top: 30px;
		padding-bottom: 20px;
	}

	.business_article {
		width: 100%;
		min-width: unset;
		padding-right: 0;
	}


	.business_img {
		min-width: unset;
		width: calc(100vw - 40px) !important;
		height: 50vw;
		overflow: hidden;
	}

	.business_img_sp {
		width: calc(100vw - 40px);
		height: 50vw;
		overflow: hidden;
		transition: all 0.4s ease;
	}

	.business_img_sp:hover {
		transform: scale(1.05);
		box-shadow: 0 7px 10px 0 rgba(0,0,0,0.1);
	}

	.business_img_sp img {
		width: 100%;
		height: auto;
	}

	.business_board {
		padding: 500px 20px 75px 20px;
		margin-top: -465px;
	}

	.mt-130 {
		margin-top: 80px;
	}

	.pl-60 {
		padding-left: 0;
	}

	/* news */
	.news_main {
		padding: 75px 20px 85px 20px;
	}

	.news_category {
		margin: 0 -3px;
	}

	.news_category a {
		width: 100%;
		margin: 0 3px;
		padding: 15px;
		font-size: 1.6rem;
	}

	.news_contents {
		margin-top: 65px;
	}

	.news_label span {
		padding: 3px 7px 2px 7px;
	}

	.news_title h2 {
		font-size: 1.8rem;
		padding: 15px 0;
	}

	.news_sentence {
		display: block;
		justify-content: space-between;
		padding-top: 20px;
		line-height: 30px;
		font-size: 1.4rem;
	}

	.news_img_box_sp {
		width: 100%;
		height: auto;
		margin-bottom: 15px;
	}

	.news_img_sp {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* contact */
	.contact_main {
		padding: 75px 20px;
	}

	.contact_head h2 {
		font-size: 3.5rem;
		padding-bottom: 15px;
	}

	.contact_head h2::before {
		font-size: 1.4rem;
		margin-bottom: 10px;
	}

	.contact_head p {
		font-size: 1.4rem;
		line-height: 30px;
	}

	.forms {
		padding-top: 30px;
	}

	.forms button {
		margin-top: 15px;
	}

	.contact_form {
		display: block;
		padding: 25px 0;
	}

	.contact_form.textarea .form_label {
		padding-top: 0;
	}

	.form_label {
		margin-bottom: 10px;
	}

	.input {
		width: 100%;
		background-color: var(--back);
		padding: 15px;
	}

	::placeholder {
		color: #B5C4CA;
	}
}

@media (max-width:600px) {
	.none_tablet {
		display: block;
	}
}

.newtop {
	position: relative;
	margin-top: 0;
}
.newtop img {
	width: 100%;
	height: 100%;
}
.newtop .text-img {
    width: 80vw;
    max-width: 60rem;
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
}

@media (max-width:600px) {
	.newtop {
		margin-top: 12vw;
	}
}

@media (max-width:768px) {
	.top img {
		top: 60%;
		left: 20px;
	}
	.newtop {
		margin-top: 16vw;
	}
}
