@charset "utf-8";
.top .mainvisual {
    position: relative;
}
.video_area {
	position: relative;
	top: 0;
	left: 0;
	height: 800px;
	width: 100%;
	overflow: hidden;
}
.video_area::before {
    display: block;
    content: " ";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
	z-index: 1;
}
.video_area > iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: calc(100vw * 9 / 16);
	min-width: 1422px;
	min-height: 800px;
	transform: translate(-50%, -50%);
}
/*========== copy ==========*/
.copy {
    position: absolute;
    top: 13%;
    left: 19%;
    writing-mode: tb-rl;
    font-size: 2.7rem;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1.2rem;
}
.copy .bg_w {
	padding: 10px 14px 0;
}
.copy .bg_w:nth-child(2) {
	padding: 10px 18px 10px 13px;
}
.copy [data-ruby]:before {
    top: 8px;
    left: auto;
    right: -1.2em;
    height: 80%;
    font-size: 0.35em;
    letter-spacing: 0.5rem;
}
.sub_copy {
	position: absolute;
	bottom: -80px;
	left: 50px;
	color: #eee9e2;
	font-family: "Noto Serif JP", serif;
	font-size: 18rem;
	letter-spacing: 0.5rem;
	line-height: 1;
}

/*========== commitment ==========*/
.commitment_area {
	position: relative;
	z-index: 1;
	padding: 90px 0 220px;
	background: url("../images/bg_commitment.png") no-repeat bottom center;
	background-size: 100% auto;
}
.commitment_area .inner {
	width: 80%;
    margin: 0;
    display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: auto auto;
	grid-column-gap: 20px;
	grid-row-gap: 20px;
}
.commitment_area .inner .text_wrap {
	grid-area: 1 / 2 / 2 / 3;
	writing-mode: tb-rl;
	width: fit-content;
    margin-left: auto;
}
.commitment_area .inner .text_wrap h2 a {
	text-decoration: none;
}
.commitment_area .inner .text_wrap h2 a .en{
	position: relative;
	display: block;
	height: fit-content;
	font-family: "Alan Sans", sans-serif;
	font-weight: 500;
	font-size: 1.2rem;
	padding: 30px 0;
	letter-spacing: 0.05rem;
}
.commitment_area .inner .text_wrap h2 a .en:before,
.commitment_area .inner .text_wrap h2 a .en:after{
	position: absolute;
	display: block;
	content: "（";
	top: 0;
	left: -4px;
	font-weight: 700;
	font-size: 1.5rem;
}
.commitment_area .inner .text_wrap h2 a .en:after {
	content: "）";
	top: auto;
	bottom: 0;
}
.commitment_area .inner .text_wrap h2 a .jp {
	display: block;
	font-family: "Noto Serif JP", serif;
	color: #3c342f;
	font-weight: 600;
	font-size: 4rem;
    letter-spacing: 0.7rem;
    margin: 30px 15px 0 50px;
}
.commitment_area .inner .text_wrap h2 a .jp [data-ruby]:before {
    top: 12px;
    left: auto;
    right: -0.3em;
    height: 80%;
    font-size: 0.3em;
    letter-spacing: 0.2rem;
}
.commitment_area .inner .text_wrap p {
    margin-top: 80px;
	letter-spacing: 0.2rem;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 2;
}
.commitment_area .inner .text_wrap p [data-ruby]:before {
    top: 2px;
    left: auto;
    right: -0.6em;
    height: 100%;
    font-size: 0.5em;
    letter-spacing: normal;
}
.commitment_area .inner .btn_area {
	grid-area: 2 / 2 / 3 / 3;
	height: fit-content;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.commitment_area .inner .btn_area .btn01 {
	width: calc((100% - 15px) / 2);
}
.commitment_area .inner .btn_area .btn01:nth-child(3) {
	width: 100%;
	margin-bottom: 15px;
}
.commitment_area .inner .image_wrap {
	grid-area: 1 / 1 / 3 / 2;
	margin-top: auto;
    width: 50vw;
	position: relative;
    border: solid 10px #fff;
    border-left: none;
    border-radius: 0 30px 30px 0;
}
.commitment_area .inner .image_wrap:before {
	position: absolute;
    display: block;
    content: "";
    top: -35px;
    right: -105px;
    width: 200px;
    height: 200px;
    background: url(../images/logo_bunabuta.svg) no-repeat;
    background-size: contain;
}
.commitment_area .inner .image_wrap img {
	border-radius: 0 20px 20px 0;
}
/*========== recruit ==========*/
.recruit_area {
	position: relative;
	z-index: 2;
    background: linear-gradient(to bottom, rgba(248, 246, 243, 1) 40% , rgba(245, 242, 236, 1) 40%);
    border-radius: 0 0 200px 200px;
}
.recruit_area h2 {
    position: absolute;
    top: -75px;
    left: 50%;
    transform: translateX(-50%);
	line-height: 1;
}
.recruit_area h2 a {
	font-family: "Alan Sans", sans-serif;
	color: #fff;
	font-weight: 600;
	font-size: 15rem;
	-webkit-text-stroke: 2px #298948;
	text-stroke: 2px #298948;
	paint-order: stroke;
	text-decoration: none;
	letter-spacing: 0.1rem;
}
.recruit_area .inner {
	padding: 200px 0 100px;
	background: url("../images/buta01.png") no-repeat top 30px right 165px /105px auto ,url("../images/buta02.png") no-repeat bottom 80px left 150px /105px auto;
}
.recruit_area .recruit_main {
	position: relative;
	margin-bottom: 120px;
}
.recruit_area .recruit_main .catch {
	position: absolute;
	top: -90px;
    left: 17%;
	writing-mode: tb-rl;
	color: #298948;
	letter-spacing: 0.35rem;
}
.recruit_area .recruit_main img {
    border-radius: 30px;
}
.recruit_area .recruit_main .btn_intern {
	position: absolute;
	bottom: 0;
    left: 50%;
	transform: translateX(-50%);
    text-align: center;
    background: #f5f2ec;
    padding: 35px 40px 0;
    border-radius: 65px 65px 0 0;
	box-sizing: border-box;
}
.recruit_area .recruit_main .btn_intern a {
	text-decoration: none;
	display: block;
	background: url("../images/icon/icon_arrow_w.svg") no-repeat right 30px center,url("../images/btn_intern.png") no-repeat;
	background-size: 15px auto,400px auto;
	width: 400px;
	line-height: 75px;
	margin: 0 auto;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 600;
}
.voice_wrap h3 {
	text-align: center;
    width: fit-content;
    margin: 0 auto 50px;
    position: relative;
    padding: 0 50px;
}
.voice_wrap h3:before,
.voice_wrap h3:after {
    position: absolute;
    display: block;
    content: "";
    width: 20px;
    height: 55%;
    border-left: solid 1px #298948;
    bottom: 14px;
    left: 0px;
    transform: rotate(-30deg);
}
.voice_wrap h3:after {
	border-left: none;
	border-right: solid 1px #298948;
    left: auto;
	right: 0;
    transform: rotate(30deg);
}
.voice_wrap h3 a {
	text-decoration: none;
	color: #3c342f;
	font-size: 3rem;
	letter-spacing: 0.3rem;
}
.voice_wrap h3 a span {
	display: block;
    color: #298948;
    font-family: "Alan Sans", sans-serif;
    font-size: 1.4rem;
	font-weight: 500;
    letter-spacing: 0.1rem;
    line-height: 1;
}
.voice_wrap ul {
    width: 1100px;
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
    gap: 25px;
    margin: 0 auto 80px;
}
.voice_wrap ul li {
    width: 255px;
}
.voice_wrap ul li:nth-child(even) {
	margin-top: 40px;
}
.voice_wrap ul li a {
	position: relative;
	text-decoration: none;
}
.voice_wrap ul li a img {
	border-radius: 10px 140px 140px 140px;
}
.voice_wrap ul li:nth-child(even) a img {
	border-radius: 140px 10px 140px 140px;
}
.voice_wrap ul li a .num {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 94px;
	height: 65px;
	left: 0;
	bottom: 0;
	background: url("../images/voice_num.svg") no-repeat top left;
	background-size: contain;
	font-family: "Alan Sans", sans-serif;
	font-size: 1.3rem;
	color: #fff;
	text-decoration: none;
	line-height: 1;
	z-index: 2;
}
.voice_wrap ul li a .num span {
    line-height: 1;
    font-size: 2.5rem;
    letter-spacing: 0.2rem;
}
.voice_wrap ul li a .type {
	position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
	top: -27px;
    left: 65px;
    padding: 5px 25px 5px 40px;
    background: #fff;
    border-radius: 40px;
    font-weight: 500;
    border: solid 1px #298948;
	box-sizing: border-box;
	z-index: 1;
}
.btn_schedule,
.btn_faq {
	display: block;
    padding: 12px 0;
    border: solid 1px #298948;
    width: 300px;
    text-align: center;
    border-radius: 50px;
	background: #fff;
}
.btn_schedule a,
.btn_faq a{
    padding-left: 30px;
	text-decoration: none;
	font-weight: 500;
	background: url(../images/icon/icon_schedule.svg) no-repeat left center;
    background-size: auto 21px;
}
.btn_faq a{
	background: url("../images/icon/icon_qa.svg") no-repeat left center;
    background-size: auto 21px;
}

/*========== guide_area ==========*/
.guide_area {
	background: linear-gradient(to bottom, rgba(248, 246, 243, 0) 45% ,rgba(248, 246, 243, 0.95) 60% , rgba(248, 246, 243, 1)) , url("../images/bg_farm.png") no-repeat top center / 100% auto;
	padding: 150px 0 80px;
}
.guide_area .text_wrap {
	width: 700px;
	margin: 0 auto 250px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.guide_area .text_wrap h2 a {
    text-decoration: none;
	writing-mode: tb-rl;
}
.guide_area .text_wrap h2 a .en {
    position: relative;
    display: block;
    height: fit-content;
    font-family: "Alan Sans", sans-serif;
    font-weight: 500;
    font-size: 1.2rem;
    padding: 30px 0px;
    letter-spacing: 0.05rem;
}
.guide_area .text_wrap h2 a .en:before,
.guide_area .text_wrap h2 a .en:after {
    position: absolute;
    display: block;
    content: "（";
    top: 0;
    left: -4px;
    font-weight: 700;
    font-size: 1.5rem;
}
.guide_area .text_wrap h2 a .en:after {
    content: "）";
    top: auto;
    bottom: 0;
}
.guide_area .text_wrap h2 a .jp {
    display: block;
    font-family: "Noto Serif JP", serif;
    color: #3c342f;
    font-weight: 600;
    font-size: 4rem;
    letter-spacing: 0.7rem;
    margin: 5px 15px 0 0;
}
.guide_area .text_wrap p {
	letter-spacing: 0.2rem;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 2;
}
.guide_area ul {
	width: 1000px;
	margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.guide_area ul li {
    width: calc((100% - 60px) / 3);
}
.guide_area ul li a {
    text-decoration: none;
}
.guide_area ul li img {
    border-radius: 190px 190px 10px 190px;
}
.guide_area ul li span {
    display: block;
    padding: 20px 0 20px 65px;
    font-weight: 600;
    font-size: 2rem;
    background: url(../images/icon/icon_arrow.svg) no-repeat left 10px bottom 16px / 40px auto, radial-gradient(circle, #298948 29%, transparent 32%) repeat-x bottom left / 10px 5px;
}

/*========== csr ==========*/
.csr_area {
    background: #f8f6f3;
    padding-bottom: 120px;
}
.csr_area .inner {
    width: 1000px;
    margin: 0 auto;
	background: #fff;
	border-radius: 35px;
}
.csr_area a {
	display: flex;
    align-items: center;
	text-decoration: none;
	color: #3c342f;
	position: relative;
}
.csr_area .inner .text_wrap {
    width: 50%;
	padding-left: 50px;
	font-weight: 500;
}
.csr_area .inner .text_wrap h2 {
	margin-bottom: 25px;
	position: relative;
}
.csr_area .inner .text_wrap h2 .jp {
	position: relative;
    font-family: "Noto Serif JP", serif;
    font-size: 2.5rem;
	font-weight: 500;
    letter-spacing: 0.5rem;
	z-index: 2;
}
.csr_area .inner .text_wrap h2 .en {
	position: absolute;
    top: -77px;
    left: -61px;
    font-size: 13rem;
    font-weight: 500;
    font-family: "Alan Sans", sans-serif;
    letter-spacing: 0.1rem;
    color: #f8f6f3;
    line-height: 1;
    z-index: 1;
}
.csr_area .inner .image_wrap {
	width: 50%;
}
.csr_area .inner .image_wrap img {
	border-radius: 0 30px 30px 0;
}
.csr_area .inner .csr_btn {
    position: absolute;
    bottom: 0;
    right: 0;
    background: #298948 url("../images/icon/icon_arrow_w.svg") no-repeat right 15px center;
	background-size: 12px auto;
    font-family: "Alan Sans", sans-serif;
	font-size: 1.4rem;
	font-weight: 300;
    color: #fff;
    padding: 12px 40px 10px 30px;
    border-radius: 33px 0 33px 0;
}

/*========== company ==========*/
.company_area {
	padding: 20% 0 0;
	background: url("../images/bg_company01.jpg") no-repeat left top / 50% auto, url("../images/bg_company02.jpg") no-repeat right top / 50% auto, #f8f6f3;
}
.company_area .inner {
	width: 80%;
	margin: 0;
	padding: 50px 50px 50px 100px;
	border-radius: 0 30px 0 0;
	background: #f8f6f3;
	display: flex;
	gap: 130px;
	justify-content: center;
}
.company_area h2 a {
    text-decoration: none;
    writing-mode: tb-rl;
}
.company_area h2 a .en {
    position: relative;
    display: block;
    height: fit-content;
    font-family: "Alan Sans", sans-serif;
    font-weight: 500;
    font-size: 1.2rem;
    padding: 30px 0px;
    letter-spacing: 0.05rem;
}
.company_area h2 a .en:before, .company_area h2 a .en:after {
    position: absolute;
    display: block;
    content: "（";
    top: 0;
    left: -4px;
    font-weight: 700;
    font-size: 1.5rem;
}
.company_area h2 a .en:after {
    content: "）";
    top: auto;
    bottom: 0;
}
.company_area h2 a .jp {
    display: block;
    font-family: "Noto Serif JP", serif;
    color: #3c342f;
    font-weight: 600;
    font-size: 4rem;
    letter-spacing: 0.7rem;
    margin: 5px 15px 0;
}
.company_area p {
	font-weight: 500;
	margin: 50px 0;
}
.company_area ul {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.company_area ul li {
	width: calc((100% - 20px) / 3);
}

/*========== instagram ==========*/
.instagram_area {
	background: #f8f6f3;
	padding: 50px 0;
	position: relative;
}
.instagram_area:before {
	position: absolute;
	display: block;
	content: '';
	top: -100px;
	left: 0;
	background: url("../images/deco_company.png") no-repeat top center / 100% auto;
	width: 300px;
	height: 258px;
	z-index: 2;
}
.instagram_area .inner {
	background: #fff;
	padding: 100px;
}
.instagram_area h2 a {
	text-decoration: none;
	display: block;
	width: fit-content;
	margin: 0 auto 30px;
	padding: 30px 10px 10px;
    font-family: "Alan Sans", sans-serif;
    color: #3c342f;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: 1;
    background: url(../images/icon/icon_insta.svg) no-repeat top center / 25px auto, radial-gradient(circle, #3c342f 20%, transparent 25%) repeat-x bottom left / 8px 3px;
}
.instagram_area p {
	font-weight: 500;
}

/*========== news ==========*/
.news_area{
	padding: 50px 0 150px;
	background: #f8f6f3;
}
.news_area .inner {
	display: flex;
	flex-direction: column;
}
.news_area a.no_link {
	pointer-events: none!important;
}
.news_area h2 {
	order: 1;
}
.news_area h2 a {
	position: relative;
	display: block;
	height: 120px;
	text-decoration: none;
}
.news_area h2 a span.jp {
	position: absolute;
    top: 50%;
    left: 50px;
    transform: translateY(-50%);
    font-family: "Noto Serif JP", serif;
    color: #3c342f;
    z-index: 2;
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: 0.5rem;
}
.news_area h2 a span.en {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 12rem;
	font-weight: 500;
	font-family: "Alan Sans", sans-serif;
	letter-spacing: 0.5rem;
	color: #fff;
	line-height: 1;
	z-index: 1;
}
.news_area h2 a span.en span {
	font-size: 10rem;
}
.news_area .btn {
    width: fit-content;
    order: 2;
    margin-left: auto;
}
.news_area .btn a {
    text-decoration: none;
    font-family: "Alan Sans", sans-serif;
    padding: 15px 60px 15px 40px;
    background: radial-gradient(circle, rgb(41, 137, 72) 25%, transparent 30%) left bottom / 7px 4px repeat-x, radial-gradient(circle, rgb(41, 137, 72) 25%, transparent 30%) left top / 7px 4px repeat-x, url("../images/icon/icon_arrow_g.svg") no-repeat right 20px center;
}
.news_area dl {
    width: 1000px;
    margin: 50px auto 0;
    order: 3;
}
.news_area dl .wrap a {
    position: relative;
    display: flex;
    padding: 20px;
    margin-bottom: 15px;
    text-decoration: none;
    border-bottom: solid 1px #dad5cf;
    box-sizing: border-box;
}
.news_area dl .wrap a dt {
	width: 20%;
	font-family: "Alan Sans", sans-serif;
	font-weight: 500;
}
.news_area dl .wrap a dd {
	width: 80%;
	color: #3c342f;
}
.news_area dl .wrap a.no-link {
    pointer-events: none;
}
.instagram_area a.feed-powered-by-es.feed-powered-by-es-slider-img.es-widget-branding.noicon {
	display: none!important;
}
/*========== tablet ==========*/
@media screen and (max-width: 1366px) {
	.commitment_area .inner {
		width: 88%;
	}
	.copy {
		left: 16%;
	}
	.bg_w {
		margin: 8px;
	}
}

@media  print, screen and (max-width: 767px) {
	.top .mainvisual {
	    margin-top: 60px;
		height: 200px;
	}
	.top .mainvisual_wrap img {
		height: 200px;
		width: auto;
		object-fit: cover;
	}
	.video_area {
		height: 200px;
	}
	.video_area > iframe {
		width: 100%;
		min-width: 356px;
		min-height: 200px;
		transform: translate(-50%, -50%) scale(1.9);
	}
	.copy {
		font-size: 1.7rem;
		letter-spacing: normal;
		top: 50%;
		transform: translateY(-50%);
		left: 10px;
		height: max-content;
	}
	.copy .bg_w {
		padding: 5px 8px;
	}
	.copy .bg_w:nth-child(2) {
		padding: 5px 10px 5px 8px;
	}
	.copy [data-ruby]:before {
		top: 2px;
		height: 100%;
		letter-spacing: 0.1rem;
	}
	.sub_copy {
		font-size: 3.5rem;
		left: auto;
		right: 0;
		bottom: -15px;
	}
	
	/*========== commitment_area ==========*/
	.commitment_area {
		padding: 50px 0 100px;
		background-size: auto 50%;
	}
	.commitment_area .inner {
		width: 100%;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
	}
	.commitment_area .inner .image_wrap {
		width: 70%;
		border: none;
		border-radius: 0;
		order: 1;
	}
	.commitment_area .inner .image_wrap:before {
		width: 70px;
		height: 70px;
		top: -20px;
		right: -30px;
	}
	.commitment_area .inner .text_wrap {
		position: static;
		right: 15px;
		padding-right: 15px;
		order: 2;
	}
	.commitment_area .inner .text_wrap h2 a .jp {
		font-size: 2.2rem;
		letter-spacing: 0.2rem;
		margin: 30px 5px 0;
	}
	.commitment_area .inner p {
		order: 3;
		padding: 0 15px;
		font-size: 1.5rem;
	}
	.commitment_area .inner .btn_area {
		order: 4;
		width: 100%;
		padding: 0 15px
	}
	.btn01 [data-ruby]:before {
		top: -1em;
		left: 2px;
	}
	
	/*========== recruit ==========*/
	.recruit_area {
		border-radius: 0 0 60px 60px;
		background: linear-gradient(to bottom, rgba(248, 246, 243, 1) 15%, rgba(245, 242, 236, 1) 15%);
	}
	.recruit_area .inner {
		padding: 50px 15px 30px;
        background-position: top 5px right 20px, bottom 155px left 30px;
        background-size: 60px auto;
	}
	.recruit_area h2 a {
		font-size: 6rem;
	}
	.recruit_area h2 {
		top: -30px;
	}
	.recruit_area .recruit_main {
		margin-bottom: 70px;
	}
	.recruit_area .recruit_main img {
		border-radius: 15px;
	}
	.recruit_area .recruit_main .btn_intern {
		position: static;
        transform: none;
        padding: 0;
        border-radius: 0;
        background: none;
        margin: 15px auto 0;
        width: 80%;
	}
	.recruit_area .recruit_main .btn_intern a {
		width: 100%;
		line-height: 50px;
		background-size: 12px auto, auto 50px;
		background-position: right 10% center, center center;
		font-size: 1.6rem;
	}
	.recruit_area .recruit_main .catch {
		position: static;
		letter-spacing: 0.02rem;
		writing-mode: horizontal-tb;
	}
	.voice_wrap h3 {
		margin-bottom: 30px;
	}
	.voice_wrap h3 a {
		font-size: 2rem;
	}
	.voice_wrap ul {
		width: 100%;
		gap: 0 15px;
		margin-bottom: 50px;
	}
	.voice_wrap ul li {
		width: calc((100% - 15px) / 2);
	}
	.voice_wrap ul li a .num {
		width: 75px;
		height: 52px;
		font-size: 1rem;
	}
	.voice_wrap ul li a .num span {
		font-size: 2rem;
	}
	.voice_wrap ul li a .type {
		top: -22px;
		left: 40px;
		padding: 5px 18px 5px 40px;
	}
	.btn_schedule, .btn_faq {
		width: 100%;
		margin: 0 auto;
	}
	/*========== guide_area =========*/
	.guide_area {
		background: linear-gradient(to bottom, rgba(248, 246, 243, 0) 45%, rgba(248, 246, 243, 0.95) 60%, rgba(248, 246, 243, 1)), url(../images/bg_farm.png) no-repeat top 95px center / 100% auto;
		padding: 50px 0;
	}
	.guide_area .text_wrap {
		width: 100%;
		margin-bottom: 100px;
	}
	.guide_area .text_wrap h2 {
		width: 15%;
	}
	.guide_area .text_wrap h2 a .jp {
		font-size: 2.2rem;
		margin: 23px 5px 0;
		letter-spacing: 0.2rem;
	}
	.guide_area .text_wrap p {
		width: 80%;
		letter-spacing: 0.02rem;
		font-size: 1.5rem;
		line-height: 1.6;
	}
	.guide_area ul {
		width: 100%;
		flex-wrap: wrap;
		gap: 20px 15px;
		justify-content: center;
	}
	.guide_area ul li {
		width: calc((100% - 15px) / 2);
	}
	.guide_area ul li span {
		padding: 10px 0 10px 40px;
		font-size: 1.6rem;
		background-size: 25px auto, 10px 3px;
		background-position: left 5px bottom 11px, left bottom;
	}
	
	/*========== csr ==========*/
	.csr_area {
		padding-bottom: 50px;
	}
	.csr_area .inner {
		width: 90%;
		padding: 0;
		border-radius: 15px;
	}
	.csr_area a {
		flex-direction: column-reverse;
	}
	.csr_area .inner .text_wrap {
		width: 100%;
		padding: 15px;
	}
	.csr_area .inner .text_wrap h2 {
		margin-bottom: 15px;
	}
	.csr_area .inner .text_wrap h2 .jp {
		font-size: 2.2rem;
	}
	.csr_area .inner .text_wrap h2 .en {
		font-size: 7rem;
		top: -25px;
		left: -19px;
	}
	.csr_area .inner .text_wrap p {
		margin-bottom: 3rem;
	}
	.csr_area .inner .image_wrap {
		width: 100%;
	}
	.csr_area .inner .image_wrap img {
		border-radius: 15px 15px 0 0;
	}
	.csr_area .inner .csr_btn {
		padding: 10px 40px 10px 25px;
	}
	
	/*========== company_area ==========*/
	.company_area {
		padding: 22% 0 0;
	}
	.company_area .inner {
		width: 95%;
		border-radius: 0 20px 0 0;
		padding: 30px 15px 10px 15px;
		gap: 15px;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.company_area h2 {
		width: calc(20% - 15px);
	}
	.company_area h2 a .jp {
		font-size: 2.2rem;
		margin: 14px 0;
		letter-spacing: 0.2rem;
	}
	.company_area p {
		font-size: 1.5rem;
		width: calc(80% - 15px);
		margin: 0;
	}
	.company_area .wrap {
		width: 100%;
	}
	.company_area ul li {
		width: calc((100% - 10px) / 2);
	}
	
	/*========== instagram ==========*/
	.instagram_area:before {
        left: auto;
        right: 0;
        width: 172px;
        height: 150px;
        top: -5px;
	}
	.instagram_area .inner {
		padding: 50px 15px;
	}
	.instagram_area h2 a {
		font-size: 2.5rem;
		margin-bottom: 15px;
	}
	
	/*========== news_area ==========*/
	.news_area {
	    padding: 0 0 50px;
	}
	.news_area .inner {
	    width: 100%;
	    padding: 0 15px;
	    display: block;
	}
	.news_area h2 a {
		height: 45px;
	}
	.news_area h2 a span.jp {
		font-size: 2.2rem;
		letter-spacing: 0.2rem;
		left: 15px;
	}
	.news_area h2 a span.en {
		font-size: 4.5rem;
		letter-spacing: 0.1rem;
	}
	.news_area h2 a span.en span {
		font-size: 4rem;
	}
	.news_area dl {
	    width: 100%;
	    margin: 0 auto 40px;
	}
	.news_area dl .wrap a {
	    padding: 10px 23px 10px 10px;
	    gap: 10px;
	}
	.news_area dl .wrap a:before {
	    width: 30px;
	    height: 30px;
	    background-size: contain;
	}
	.news_area dl .wrap a dt {
		width: 30%;
	}
	.news_area dl .wrap a dd {
		width: 70%;
	}

}