﻿@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,600,700');

/* ===================================
	File Name   : common.css
	Description : Base Layout CSS
	
	Update Description :
	[2024/03/01] 新規作成

====================================== */

/*========== Style Contents ==========

	1. Global Redefinition
	2. Font Redefinition
	3. Box Setting
	4. Form Setting
	5. Common Items Setting
		- Basic Link
	 	- Header Items
		- Header Action
		- Global Navigation
		- Inner Right Navigation
	 	- Footer Items
		- Breadcrumbs
		- Page Top Button
		- Title Items
		- Sub Menu
		- Side Menu
		- cookie Notice
		− Clear Fix

====================================== */



/*===== ■1. Global Redefinition =====*/
body {
	color: #240700;
	line-height: 1.5;
	margin: 0px auto;
}

body:not(.toppage)::before {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url('/img/recruit/img_background.png');
    z-index: -100;
	opacity: 1;
	content:'';
}

article img,
#article img { width: 100%; }

.footer_menu_right img {
	width: 100%;
    object-fit: cover;
    aspect-ratio: 2 / 1;
}

article img.origin,
#article img.origin { width: auto;}
#article img.origin2 { width: auto;}
#article img.origin3 { width: auto;}

#article img.aspect_message {
    object-fit: cover;
    aspect-ratio: 4 / 5;
}

@media only screen and (max-width: 750px){
	article img.origin,
	#article img.origin { width: 100%;}
	#article img.aspect_message {
		object-fit: cover;
		aspect-ratio: 13 / 10;
	}
}
@media only screen and (max-width: 1200px){
	article img.origin3,
	#article img.origin3 { width: 100%;}
}

#visual > #visual-container_pc img, 
#visual > #visual-container_sp img  {
	position: absolute;
}
#visual #visual-container_sp img {
	width: 100%;
	height: 75%;
	object-fit: cover;
}

/* 縦長 */
@media (max-aspect-ratio: 16/9) {
	.visual-container img { height: 100%; }
	.visual-container img.left { left: 0; }
	.visual-container img.right { right: 0; }
	.visual-container img.left_herf { left: 25%; }
	.visual-container img.right_herf { right: 25%; }
	.visual-container img.center {
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	.visual-container img.left,
	.visual-container img.right {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.visual-container img.left_herf, 
	.visual-container img.right_herf {
		right: 25%;
		-webkit-transform: translateX(-25%);
		transform: translateX(-25%);
	}
}

/* 横長  */
@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
	.visual-container img {
		width: 100%;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

@media only screen and (max-width: 750px) {
	.visual-container img {
		height: 75%;
	}
}



/*===== ■2. Font Redefinition =====*/
@font-face {
  font-family: 'icon';
  src:  url('fonts/sanyo.eot?izjl9a');
  src:  url('fonts/sanyo.eot?izjl9a#iefix') format('embedded-opentype'),
    url('fonts/sanyo.ttf?izjl9a') format('truetype'),
    url('fonts/sanyo.woff?izjl9a') format('woff'),
    url('fonts/sanyo.svg?izjl9a#sanyo') format('svg');
  font-weight: normal;
  font-style: normal;
}

i, cite, em, var, address, dfn {
    font-style: italic;
}

[class^="ico-"], [class*=" ico-"] {
	width: 0;
	height: 0;
	text-indent: -9999px;
  	font-family: 'icon' !important;
  	speak: none;
 	color: rgba(99,98,98,1);
  	font-style: normal;
  	font-weight: normal;
 	font-variant: normal;
  	text-transform: none;
  	line-height: 1;
  	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
}

.ico-blank:before { content: "\e900";}
.ico-lang:before { content: "\e901";}
.ico-search:before { content: "\e902";}

.entry-title:after{
    content: '\e901';
    display: inline-block;
    font-family: FontAwesome;
    font-weight: normal;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
	font-size: 62.5%;
}

body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
	font-size: 1.5em;
	font-weight: 400;
	font-family: 'Arial','Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', 'Meiryo','ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

::-webkit-input-placeholder { color: #999;}
::-moz-placeholder { color: #999;}
:-ms-input-placeholder { color: #999;}
:placeholder-shown { color: #999;}


@media only screen and (max-width: 750px){
	html { font-size: calc(100vw / 75); }
	body { font-size: 1.4rem;}
}
@media only screen and (max-width: 640px){
	html { font-size: calc(100vw / 64); }
}
@media only screen and (max-width: 480px){
	html { font-size: calc(100vw / 48); }
}
@media only screen and (max-width: 375px){
	html { font-size: calc(100vw / 45); }
}
@media only screen and (max-width: 260px){
	body { min-width: 260px; }
}



/*===== ■3. Box Setting =====*/
main {
	display: block;
	position: relative;
	z-index: 2;
	margin: 0 auto;
/*	margin: 70px auto 0;  ヘッダーFix分*/
}

article,
#article {
	clear: both;
	display: block;
	position: relative;
	padding: 30px 0px;
}

.outline,
.detail {
	margin: 0 auto;
    width: 100%;
	min-width: 1392px;
	padding: 0 calc((100% - 1104px) / 2);
}

.detail_nopadding {
	padding: 0;
}

.overlap_img {
	position: relative;
	padding: 0;
	margin-bottom: calc(100px + 300px);
}
.overlap_img > .image_set {
	position: absolute;
	width: 100%;
    height: auto;
    max-height: 500px;
	object-fit: cover;
	padding: 0;
	left: 0;
	top: 100%;
	-webkit-transform: translate(0,-40%);
    transform: translate(0,-40%);
	z-index: -1;
}

#title {
	position: relative;
	padding: 110px 0 0 0;
	width: calc(100% - 48px);
	margin: 0px 24px;
}

#main_photo_title {
	position: relative;
	padding: 0 0 0 0;
	width: 100%;
	margin: 0;
	z-index: -1;
}

#main_photo_title_voice {
	position: relative;
	padding: 110px 0 0 0;
	width: calc(100% - 48px);
	margin: 0px 24px;
}

#main_photo {
	clear: both;
	position: relative;
	height: auto;
}
#main_photo #main_photo_visual {
	position: relative;
}
#main_photo #main_photo_visual img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 0;
}

#main_photo #main_photo_visual img.right {
	object-position: 80% 100%;
}
#main_photo #main_photo_visual img.center {
	object-position: initial;
}
#main_photo #main_photo_visual img.left {
	object-position: 0 0;
}

#main_photo_title_voice #main_photo #main_photo_visual img {
	border-radius: 10px;
	aspect-ratio: 10 / 3;
}
.voice_photo img {
	object-fit: cover;
	aspect-ratio: 25 / 14;
}
.voice_white_box img {
	object-fit: cover;
	aspect-ratio: 5 / 3;
}
.voice_photo_message img {
	object-fit: cover;
	aspect-ratio: 8 / 5;
}
#main_photo > h1.head_photo  {
	position: absolute;
    top: 50%;
    left: 8%;
	-webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    color: #fff;
    font-weight: bold;
	font-size: 4.8rem;
	line-height: 1.2;
}
#main_photo_visual > h1.head_photo_voice p {
	position: absolute;
    bottom: 0;
    left: 48px;
	-webkit-transform: translate(0,20%);
    transform: translate(0,20%);
    color: #fff;
    font-weight: bold;
	font-size: 8.0rem;
	line-height: 0.8;
	text-shadow: 1px 1px 1px #999;
}
#main_photo_visual > h1.head_photo_voice span {
	font-size: 4.0rem;
	margin-left: 70%;
	line-height: 1.0;
	display: inline-block;
	text-shadow: none;
}
#main_photo_visual > h1.head_photo_voice span.two_row {
	font-size: 1.5rem;
	font-weight: 600;
	margin-left: 110px;
	line-height: 1.0;
	display: inline-block;
}

.work_interview_list .boxtype_interview {
    width: 50%;
}

.work_interview_list .flexbox2_wide .boxtype_interview {
	width: calc(50% - 40px);
}

#main_photo > .boxtype_interview.voice {
	display: block;
	position: absolute;
	padding: 0;
    top: calc(100% - 190px);
    right: 5%;
	-webkit-transform: translate(0,-50%);
	transform: translate(0,-50%);
}

#main_photo > h1.head_photo span {
	text-shadow: 2px 3px 2px #999;
}
#main_photo > h1.head_photo span.small_txt {
	font-size: 1.8rem;
}
#env_erea div,
#env_erea div a {
	position: relative;
	display: inline-block;
	width: 100%;
	height: 192px;
}
#env_erea div > .photo img,
#env_erea div a > .photo img {
	position: absolute;
	width: 100%;
	height: 192px;
	object-fit: cover;
	aspect-ratio: 25 / 11;
	border-radius: 10px;
}
#env_erea div > .message,
#env_erea div a > .message  {
	position: absolute;
    top: 50%;
    left: 12%;
	-webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    color: #fff;
    font-weight: bold;
}
#env_erea div .message span:first-child {
	font-size: 1.8rem;
}
#env_erea div .message span.erea_name {
	font-size: 3.0rem;
}
#env_erea div .message span:nth-child(3) {
	font-size: 1.5rem;
}
#env_erea div a > .arrow,
#env_erea div > .coming_soon {
	position: absolute;
    bottom: 4%;
    right: 4%;
    font-weight: bold;
	-webkit-transform: translate(0,0);
    transform: translate(0,0);
}
#env_erea div a > .arrow {
	padding-right: 30px;
	font-size: 2.0rem;
    color: #fff;
}
#env_erea div > .coming_soon {
	font-size: 4.0rem;
	color: rgb(255,255,255,0.5);
}
#env_erea div .arrow::before {
    bottom: 50%;
    width: 12px;
    height: 2px;
    background:#240700;
}
#env_erea div .arrow::after {
    bottom: calc(50% - 2px);
    width: 6px;
    height: 6px;
    border-top: 2px solid #240700;
    border-right: 2px solid #240700;
    -webkit-transform: rotate(45deg) translate(0,0);
    transform: translate(0,0) rotate(45deg);
}
#env_erea div .arrow.cl_white::before { 
    background:#fff;
}
#env_erea div .arrow::after { 
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
#env_erea div .arrow::before,
#env_erea div .arrow::after {
	position: absolute;
    right: 4%;
    margin: auto;
    vertical-align: middle;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    content: "";
}
#env_erea .message span,
#env_erea p.arrow  {
	text-shadow: 2px 3px 2px #999;
}
#main_wrapper {
	margin-bottom: 30px;
}
#title .frame {
	position: relative;
    border-radius: 10px;
    border: 1px solid #fff;
    background: #fff;
    height: 240px;
}
#title .frame > h1 span:first-child {
    position: absolute;
    top: 50%;
    left: 70px;
	-webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    font-size: 8.0rem;
    font-weight: 700;
    line-height: 1;
}
#title .frame > h1 span:first-child + span {
    position: absolute;
    top: 100%;
    left: 0;
	-webkit-transform: translate(30%,-50%);
    transform: translate(30%,-50%);
}

#join_us_all {
	position: relative;
    width: calc(100% - 48px);
    margin: 100px 24px 24px 24px;
    text-align: center;
    font-weight: 700;
}
.modal_join_us {
	position: relative;
    width: 100%;
    margin: 100px 0 24px;
    text-align: center;
    font-weight: 700;
}
#join_us_all p,
.modal_join_us p {
    position: relative;
    color: #fff;
	font-size: 14.0rem;
    line-height: 1.2;
}

#join_us_all .speech_bubble,
.modal_join_us .speech_bubble,
#main_menu_voice .speech_bubble {
	position: absolute;
    padding: 20px 15px;
    font-size: 1.5rem;
	font-weight: 600;
    text-align: left;
    line-height: 1.5;
    border-radius: 20px 20px 20px 0px;
    border: 1px solid #707070;
    background: #636262;
    color: #fff;
}
#join_us_all .speech_bubble,
.modal_join_us .speech_bubble {
    top: 0;
    left: calc(50% + 5rem);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
#main_menu_voice .speech_bubble {
    top: 0;
    left: 12%;
    -webkit-transform: translate(0%,-100%);
    transform: translate(0%,-100%);
}


ul.img_lists{
	display: flex;
	justify-content: space-between;
}
li.img_list{
	list-style: none;
	margin-left: 20px;
}

#select-category ul {
    display: table;
    padding: 10px 0;
    font-size: 2.0rem;
    font-weight: 500;
}
#select-category ul li {
    display: table-cell;
    padding: 0 30px 10px 0;
}
#select-category ul li span {
    display: inline-block;
    border-bottom: solid 5px #000;
}

@media only screen and (max-width: 1392px){
	.outline,
	.detail {
		min-width: auto;
		max-width: none;
		padding: 0 calc((100% - 1104px) / 2);
	}
}
@media only screen and (max-width: 1277px){
	.outline,
	.detail {
		padding: 0px 29px;
	}
}

@media only screen and (max-width: 750px){
	
	article, #article {
		clear: both;
	    display: block;
	    position: relative;
	    padding: 32px 0px;
	}

	.outline,
	.detail,
	.overlap_img {
		padding: 0px 29px;
		max-width: none;
	}
	.detail_nopadding {
		padding: 0;
	}

	#title,
	#main_photo_title_voice {
		padding: 72px 0 0 0;
		width: 100%;
		margin: 0 auto;
	}
	#main_photo_title_voice #main_photo #main_photo_visual img {
		border-radius: 0;
		aspect-ratio: 25 / 14;
	}
	#main_photo_title #main_photo #main_photo_visual img {
		margin-top: 72px;
	}
	.voice_photo img {
		aspect-ratio: 25 / 14;
	}
	.voice_white_box img {
		aspect-ratio: 10 / 7;
	}
	.voice_photo_message img {
		aspect-ratio: 10 / 9;
	}
	.overlap_img {
		margin-bottom: calc(100px + 50px);
	}
	#title .frame {
	    border-radius: 0px;
	    height: 192px;
	}
	#title .frame > h1 span:first-child {
		left: 29px;
	    font-size: 4.0rem;
	    font-weight: 700;
	}
	#title .frame > h1 span:first-child + span {
		-webkit-transform: translate(15%,-50%);
	    transform: translate(15%,-50%);
	}
	#join_us_all p,
	.modal_join_us p {
		font-size: 7.5rem;
		line-height: 1.2;
	}
	#join_us_all .speech_bubble,
	.modal_join_us .speech_bubble {
		top: 0;
		left: calc(50% + 5rem);
		padding: 15px 10px;
		font-size: 1.2rem;
		-webkit-transform: translate(-50%, -70%);
		transform: translate(-50%, -70%);
	}
	#main_menu_voice .speech_bubble {
		padding: 15px 10px;
		font-size: 1.2rem;
		top: 0;	
		left: 15%;
	}
	#main_photo_visual > h1.head_photo_voice p {
		left: 24px;
		font-size: 6.0rem;
		line-height: 1.0;
	}
	#main_photo_visual > h1.head_photo_voice span {
		font-size: 2.0rem;
		margin-left: 70%;
		line-height: 1.0;
	}

	.work_interview_list .boxtype_interview,
	.work_interview_list .boxtype_interview {
		width: 100%;
	}
	
	#main_photo > .boxtype_interview.voice {
		position: relative;
		padding: 0 24px;
		bottom: auto;
		right: auto;
		-webkit-transform: none;
		transform: none;
	}
	#env_erea div .message span:first-child {
		font-size: 1.5rem;
	}
	#env_erea div .message span.erea_name {
		font-size: 2.5rem;
	}
	#env_erea div .message span:nth-child(3) {
		font-size: 1.3rem;
	}
	#env_erea div a > .arrow {
		font-size: 2.0rem;
	}
}

/*===== ■4. Form Setting =====*/
/* Brand image Items */
.brand_ditail {
	position: relative;
	text-align: center;
	width: 100%;
	min-height: 900px;
}
.triangle_ditail {
	position: relative;
	text-align: center;
	width: 100%;
}
#article .brande_logo .image img {
	width: 100%;
	height: auto;
}
#article .brande_logo .image .sp img {
    width: auto;
    height: 48px;
}
.brande_logo figure {
	width: 120px;	
}
.brande_logo .text {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
}
.brand_ditail .brande_logo,
.brand_ditail .brande_ditail {
	text-align: left;
}
.brand_ditail::before {
	display: block;
	position: absolute;
	margin: 0 auto;
	top: 255px;
	left: 50%;
	width: 43%;
	/* height: 17%; */
	border-radius: 50%;
	padding-top: 14%;
	border: 8px solid #fff;
	box-sizing: border-box;
	-webkit-transform: rotate(-15deg) translate(-50%,-50%);
	transform: rotate(-15deg) translate(-50%,-50%);
	content: "";
}
.brande_logo {
	width: 300px;
	border-radius: 10px;
	padding: 50px 15px;
	color: #fff;
}
.brand_sc .brande_logo {
	position: relative;
	background-color: #ddb903;
	margin-bottom: 0;
}
.brand_sp .brande_logo {
	position: relative;
	background-color: #B8183F;
	margin-bottom: 20px;
}
.brand_sm .brande_logo {
	position: relative;
	background-color: #395DA9;
	margin-bottom: 20px;
}
.brand_sc .brande_logo::after,
.brand_sp .brande_logo::after,
.brand_sm .brande_logo::after {
	position: absolute;
	display: inline-block;
	width: 48px;
	height: 48px;
    border-radius: 50%;
    border: 8px solid #fff;
    box-sizing: border-box;
    content: "";
}
.brand_sc .brande_logo::after {
	bottom: 0;
	right: 0;
	background-color: #ddb903;
	-webkit-transform: translate(50%,50%);
	transform: translate(50%,50%);
}
.brand_sp .brande_logo::after {
	top: 0;
	right: 0;
	background-color: #B8183F;
	-webkit-transform: translate(50%,-50%);
	transform: translate(50%,-50%);
}
.brand_sm .brande_logo::after {
	top: 0;
	left: 0;
	background-color: #395DA9;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.triangle_ditail > .brand_sc {
	position: absolute;
	top: 150px;
	left: calc(54% - 200px);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.triangle_ditail > .brand_sp {
	position: absolute;
	top: 475px;
	left: calc(28% - 1.4%);
	padding-top: calc(((0.9/ 4)* 100%));
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.triangle_ditail > .brand_sm {
	position: absolute;
	top: 470px;
	left: 82%;
	padding-top: calc(((1 / 10)* 100%));
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.brand_sc > .brande_ditail {
	position: absolute;
	top: 0;
	left: 320px;
	-webkit-transform: translateY(-30%);
	transform: translateY(-30%);
}
.brand_sc .brande_logo > figure,
.brand_sm .brande_logo > figure {
	position: absolute;
	top: 0;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.brand_sp .brande_logo > figure {
	position: absolute;
	bottom: 0;
	right: 0;
	-webkit-transform: translateY(50%);
	transform: translateY(50%);
}
.brande_ditail {
	width: 400px;
	border-radius: 0;
	border: none;
	color: #240700;
}
.brand_sc .brande_ditail {
	background-color: transparent;
	padding: 0 0 0 16px;
	margin-bottom: 10px;
}
.brand_sp .brande_ditail,
.brand_sm .brande_ditail {
	background-color: transparent;
	margin-bottom: 10px;
}
.brande_ditail .title {
	font-size: 1.8rem;
	font-weight: 600;
	color: #240700;
	margin-bottom: 16px;
}
.brande_ditail .text {
	width: 100%;
	font-size: 1.5rem;
	font-weight: 400;
	color: #240700;
}

@media only screen and (max-width: 1279px){
	.triangle_ditail > .brand_sp {
		top: 485px;
	}
	.triangle_ditail > .brand_sm {
		top: 470px;
	}
}
@media only screen and (max-width: 1060px){
	.triangle_ditail > .brand_sm {
		top: 490px;
		left: calc(82% + 1.4%);
	}
	.brand_sp .brande_ditail .text {
		width: 90%;
	}
	.brand_sm .brande_ditail .text {
		width: 90%;
	}
}
@media only screen and (max-width: 1024px){
	.triangle_ditail > .brand_sm {
		top: 495px;
		left: calc(82% + 2.0%);
	}
	.triangle_ditail > .brand_sp {
		top: 485px;
	}
}
@media only screen and (max-width: 899px){
	.triangle_ditail > .brand_sm {
		top: 515px;
		left: calc(82% + 3.0%);
	}
	.triangle_ditail > .brand_sp {
		top: 490px;
	}
	.brand_sp .brande_ditail .text {
		width: 80%;
	}
	.brand_sm .brande_ditail .text {
		width: 80%;
	}
}
@media only screen and (max-width: 750px){
	.brand_ditail,
	.triangle_ditail {
		min-height: auto;
	}
	.brand_ditail::before {
		content: none;
	}
	.brande_logo {
		width: 100%;
		border-radius: 0;
		padding: 0;
		color: #240700;
	}
	.brand_sc .brande_logo,
	.brand_sp .brande_logo,
	.brand_sm .brande_logo {
		margin-bottom: 10px;
		background-color: transparent;
	}
	.brand_sc .brande_logo::after,
	.brand_sp .brande_logo::after,
	.brand_sm .brande_logo::after {
		content: none;
	}
	.brande_logo figure {
		display: inline-block;
		vertical-align: middle;
	}
	.brande_logo .text {
		display: inline-block;
		vertical-align: middle;
		width: calc(100% - 145px);
	}
	.triangle_ditail > .brand_sc,
	.triangle_ditail > .brand_sp,
	.triangle_ditail > .brand_sm {
		position: relative;
		top: 0;
		left: 0;
		-webkit-transform: translate(0,0);
		transform: translate(0,0);
	}
	.brand_sc > .brande_ditail {
		position: relative;
		left: 0;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	.brand_sc .brande_logo > figure,
	.brand_sm .brande_logo > figure {
		position: relative;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	.brand_sp .brande_logo > figure {
		position: relative;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	.brande_ditail {
		width: 100%;
		border-radius: 10px;
		color: #fff;
	}
	.brand_sc .brande_ditail {
		padding: 32px;
		background-color: #ddb903;
		margin-bottom: 32px;
	}
	.brand_sp .brande_ditail {
		padding: 32px;
		background-color: #B8183F;
		margin-bottom: 32px;
	}
	.brand_sm .brande_ditail {
		padding: 32px;
		background-color: #395DA9;
		margin-bottom: 32px;
	}
	.brande_ditail .title {
		color: #fff;
	}
	.brande_ditail .text {
		color: #fff;
	}
}

/*===== ■5. Common Items Setting =====*/
/* Basic Link */
a {
	color: rgba(36,07,00,1);
	text-decoration: none;
	backface-visibility: hidden;
}

#main_wrapper a:not(.button) { text-decoration: none;}

a:visited {
	color: rgba(36,07,00,1);
	text-decoration: underline;
}
a.white:visited {
	color: #fff;
}

a:hover {
	color: #999;
	text-decoration: underline;
}
.op85:hover{
	opacity: 85%;
}

a.icon_white[target="_blank"]:not(.img)::after { 
color:#ebebeb;}

a[target="_blank"]:not(.img)::after {
	margin-left: 5px;
	font-family: 'icon';
	content: "\e900";
}

a[target="_blank"][href$=".pdf"]::after,
a[target="_blank"][href$=".zip"]::after,
a[target="_blank"][href$=".txt"]::after,
a[target="_blank"][href$=".doc"]::after,
a[target="_blank"][href$=".xls"]::after,
a[target="_blank"][href$=".xlsx"]::after {
	display: inline-block;
	position: relative;
	top: 1px;
	width: 16px;
	height: 14px;
	content:'';
}
a[target="_blank"][href$=".pdf"]::after { background: url(/img/common/ico-pdf.png) no-repeat right center / 16px auto;}
a[target="_blank"][href$=".zip"]::after { background: url(/img/common/ico-zip.png) no-repeat right center / 16px auto;}
a[target="_blank"][href$=".txt"]::after { background: url(/img/common/ico-txt.png) no-repeat right center / 16px auto;}
a[target="_blank"][href$=".doc"]::after { background: url(/img/common/ico-word.png) no-repeat right center / 16px auto;}
a[target="_blank"][href$=".xls"]::after,
a[target="_blank"][href$=".xlsx"]::after { background: url(/img/common/ico-excel.png) no-repeat right center / 16px auto;}

a:not(.button) {
	opacity: 1;
	transition: all .2s ease-out;
	text-decoration: none;
}

a.entry_logo {
	padding: 10px 10px 0;
    display: inline-block;
    border: 1px solid #ccc;
}

.hamb {
	position: relative;
	width: 72px;
    height: 72px;
    border-left: 2px solid #e5e5e5;
}

.hamb > span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 24px;
	height: 2px;
	margin-top: -2px;
	background: #240700;
	-webkit-transform: translate(-50%);
	transform: translate(-50%);
}
.hamb > span::before,
.hamb > span::after {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: #240700;
	transition: all .2s;
	content: '';
}
.hamb span::before { margin-top: -8px;}
.hamb span::after { margin-top: 8px;}

.hamb:hover span::before { margin-top: -6px;}
.hamb:hover span::after { margin-top: 6px;}

.hamb:active span {
	opacity: .6;
	backface-visibility: hidden;
}
/*#main_menu_what .outline_text,*/
#main_menu_works .outline_text ,
#main_menu_voice .outline_text ,
#main_menu_works_style .outline_text  {
	margin-bottom: 120px;
}
.outline_more {
	display: inline-block;
	margin-right: 24%;
}
p:has(a.more_circle) {	
	position: relative;
}
.more_circle {
	position: absolute;
	display: inline-block;
	top: -10px;
	right:0;
	width: 144px;
	height: 144px;
	border-radius: 50%;
	border: 1px solid #dcd7d7;
	color: #333344;
	background: #fff;	
}
.more_circle span {
    position: absolute;
    top: calc(50% + 5px);
    left: 50%;
    padding-bottom: 30px;
    font-size: 1.5rem;
    font-weight: 700;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
.more_circle .arrow::before {
    right: 44px;
    width: 12px;
    height: 2px;
    background:#240700;
}
.more_circle .arrow::after {
    right: 45px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #240700;
    border-right: 2px solid #240700;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.more_circle .arrow::before, 
.more_circle .arrow::after {
	position: absolute;
    left: 0;
	right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    vertical-align: middle;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    content: "";
}

.type_dept span.more_circle_override {
    position: absolute;
    right: 0;
    top: 50%;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: 1px solid #dcd7d7;
	color: #333344;
	background: #fff;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
}
.type_dept span.arrow {
    position: absolute;
    right: 30px;
    top: 50%;
	padding-right: 20px;
    font-size: 1.5rem;
    font-weight: 700;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
}
.type_dept span.arrow::before {
    right: 44px;
    width: 12px;
    height: 2px;
    background:#240700;
}
.type_dept span.arrow::after {
    right: 45px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #240700;
    border-right: 2px solid #240700;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.type_dept span.arrow::before, 
.type_dept span.arrow::after {
	position: absolute;
	top: 10%;
	right: 0;
	bottom: 0;
    margin: auto;
    vertical-align: middle;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    content: "";
}

@media only screen and (max-width: 750px){
	.more_circle {
		top: 95%;
		right:0;
		width: 96px;
		height: 96px;
	}
	/*#main_menu_what .outline_text,*/
	#main_menu_works .outline_text ,
	#main_menu_voice .outline_text ,
	#main_menu_works_style .outline_text  {
		margin-bottom: 40px;
	}
		
	.outline_more {
		margin-right: 0;
	}
}

/* Header Items */
body > header {
	position: fixed;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	z-index: 99;
	width: calc(100% - 48px);
	height: 72px;
	margin: 24px;
}

body > header .header_left {
	display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 200px);
    padding: 24px;
    border-radius: 10px;
    border: 1px solid #f0f0f0;
    background: #fff;
    box-shadow: -1px -1px 2px #f6f6f6;
}
body > header .com_logo {
	flex-grow: 2;
}
body > header .com_logo a {
	height: 24px;
}
body > header .com_logo img:first-child {
	vertical-align: middle;
	margin-right: 10px;
	height: 24px;
}
body > header .com_logo img:first-child + span {
	font-size: 1.3rem;
	font-weight: bold;
	padding: 1px 4px;
	color: #240700;
	vertical-align: bottom;
	border: 1px solid #240700;
}
body > header #utility-navi {
	display: flex;
	font-size: 1.5rem;
}
body > header #utility-navi li {
	width: 96px;
	margin-left: 4px;
	padding: 0;
}
body > header #utility-navi li a {
	display: block;
    height: 72px;
    line-height: 72px;
    text-align: center;
    border-radius: 10px;
}
body > header #utility-navi li.recruit a {
	background: #fff;
	border: 1px solid #f0f0f0;
	box-shadow: -1px -1px 2px #f6f6f6;
}
body > header #utility-navi li.entry a {
	color: #fff;
	font-weight: bold;
	background: #636262;
	border: 1px solid #636262;
	box-shadow: -1px -1px 2px #f6f6f6;
}
body > header > .header_left .hamb {
	display: none;
	margin-left: 15px;
}

button.nav_close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	width: 65px;
	height: 65px;
	border: none;
	background: rgba(99,98,98,1);
	font-size: 0;
	line-height: 0;
	text-indent: -9999px;
	transition: all .1s ease-out;
}
button.nav_close { display: none;}
/* button.nav_close:hover { background: rgba(99,98,98,.5);} */
button.nav_close::before,
button.nav_close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60px;
	height: 2px;
	background: #240700;
	content:'';
}
button.nav_close::before {
	-webkit-transform: translate(-50%) rotate(-45deg);
	transform: translate(-50%) rotate(-45deg);
}
button.nav_close::after {
	-webkit-transform: translate(-50%) rotate(45deg);
	transform: translate(-50%) rotate(45deg);
}
@media only screen and (max-width: 1279px){
	body > header {
		position: fixed;
		width: 100%;
		height: 72px;
		margin: 0px;
		padding: 0px;
	}
	body > header .header_left {
		width: 100%;
	    height: 100%;
	    padding: 25px 0 25px 20px;
	    border-radius: 0;
	    border: none;
	    border-bottom: 1px solid #e5e5e5;
	    box-shadow: none;
	}
	body > header .com_logo a, 
	body > header .com_logo img:first-child {
		height: 20px;
	}	
	body > header .com_logo img:first-child + span {
		font-size: 1.3rem;
		padding: 0px 2px;
	}
	body > header > .header_left .hamb { display: block;}
	body > header .com_logo {
		flex-grow: 2;
	}
	button.nav_close {
		position: fixed;
		width: 72px;
		height: 72px;
		background: #fff;
  		border-left: 2px solid #e5e5e5;
		transition: none;
	}
	button.nav_close {
		display: block;
		border-bottom: 1px solid #e5e5e5;
	}
	button.nav_close:hover { background: rgba(99,98,98,1);}
	button.nav_close::before,
	button.nav_close::after {
		width: 24px;
	}
	body > header .header_right {
		display: none;
		position: fixed;
    	top: 434px;
	    right: 0;
	    bottom: 0;
	    left: 0;
	    z-index: 100;
	    padding: 0;
	    background-color: rgba(0,0,0,1);
	}
	body > header #utility-navi {
	    font-size: 1.8rem;
	    font-weight: 600;
	}
	body > header #utility-navi li {
	    width: 50%;
	    margin-left: 0;
	}
	body > header #utility-navi li.recruit {
	    margin: 24px 8px 24px 24px;
	}
	body > header #utility-navi li.entry {
	    margin: 24px 24px 24px 8px;
	}
	body > header #utility-navi li.recruit a {
	    border: 1px solid #fff;
	    box-shadow: none;
	    color: #fff;
	    padding-top: 25%;
	    padding-bottom: 25%;
	    background-color: #000; /*transparent;*/
	}
	body > header #utility-navi li.entry a {
	    border: 1px solid #fff;
	    box-shadow: none;
	    color: #240700;
	    padding-top: 25%;
	    padding-bottom: 25%;
	    background: #fff;
	}
}
/* ロゴ部の為、ブレイクポイント例外 */
/* Header Action */
/* Search */
/* Languages */
/* Global Navigation */
#g_navi {
    padding: 0;
    margin-left: auto;
    font-size: 1.5rem;
	font-weight: normal;
}
#g_navi > ul {
	display: flex;
	padding: 0 8px 0 0;
}
#g_navi > ul > li a {
    display: block;
    margin: 0 48px 0 0;
    /* color: #240700; */
}

@keyframes nav-on-sp {
	100% {
		opacity: 1;
		-webkit-transform: translate(0);
		transform: translate(0);
	}
}

@media only screen and (max-width: 1365px){
	#g_navi > ul > li a {
		display: block;
		margin: 0 30px 0 0;
		/* color: #240700; */
	}
}

@media only screen and (max-width: 1279px){
	/* html.nav_on { overflow: hidden;} */
	html.nav_on #g_navi { display: block; overflow-x: hidden;}
	html.nav_on .header_right { display: block; overflow-x: hidden;}

	#g_navi {
		display: none;
		/* overflow-y: scroll; */
		position: fixed;
		top: 72px;
		right: 0;
		/* bottom: 0; */
		left: 0;
		z-index: 100;
		padding: 0;
		background: #fff;
    	font-size: 1.5rem;
    	font-weight: 600;
	}

	#g_navi > ul {
		flex-direction: column;
		padding: 0;
		opacity: 0;
		/* -webkit-transform: translateX(50%); */
		/* transform: translateX(50%); */
	}
	html.nav_on #g_navi > ul { animation: .5s forwards nav-on-sp;}

	#g_navi > ul > li a {
		flex: 1;
		height: auto;
		padding: 0;
	}
	#g_navi > ul > li a {
		position: relative;
		padding: 25px 24px;
		border-bottom: 1px solid rgb(0,0,0,.2);
	}
	
	#g_navi > ul > li a span::before,
	#g_navi > ul > li a span::after {
		position: absolute;
		top: 50%;
		bottom: 36px;
		margin: auto;
		vertical-align: middle;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		content: "";
	}
	#g_navi > ul > li a span::before {
	    right: 32px;
	    width: 12px;
	    height: 2px;
	    background: #240700;
	}
	#g_navi > ul > li a span::after {
		right: 32px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #240700;
		border-right: 2px solid #240700;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
}


/* Inner Right Navigation */
/* Footer Items */
footer {
	padding: 0px 48px;
	background: rgba(99,98,98,1);
	color: #fff;
}
.footer_menu {
	padding: 95px 0;
}
.footer_menu .com_logo {
	height: 24px;
}
.footer_menu .com_logo img:first-child {
	height: 100%;
	vertical-align: middle;
	margin-right: 10px;
	height: 24px;
}
.footer_menu .com_logo img:first-child + span {
    font-size: 1.3rem;
    font-weight: bold;
    padding: 1px 4px;
    color: #fff;
    vertical-align: bottom;
    border: 1px solid #fff;
}
.footer_menu .comp_name {
	font-size: 1.5rem;
    font-weight: 400;
    line-height: 2;
}
.footer_copyright {
    font-size: 1.5rem;
    font-weight: 300;
	padding: 24px 0 36px 0;
}
.footer_utility-navi_sp {
	display: none;
}


#footer_sitemap {
	padding: 10px 20px;
}


#footer_sitemap ul {
	color: #fff;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}

#footer_sitemap li {
	margin-right: 20px;
}


#footer_sitemap li a {
	display: inline-block;
	position: relative;
	padding-left: 10px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.3;
}
#footer_sitemap li a::before {
	position: absolute;
	top: 5px;
	left: 0;
	border: 4px solid transparent;
	border-left: 5px solid #fff;
	content: '';
}

@media only screen and (max-width: 750px){
	footer { padding: 0px 24px; }
	.footer_menu { padding: 70px 0 40px 0; }
	.footer_menu .com_logo { }
	.footer_menu .com_logo img { }
	.footer_menu .comp_name { margin-bottom: 50px; }
	.footer_copyright {
		font-size: 1.3rem;
		font-weight: 400;
	}
	
	.footer_utility-navi_sp {
	    display: block;
		position: fixed;
	    bottom: 0;
	    right: 0;
	    left: 0;
	    z-index: 100;
	    padding: 0 20px;
	    font-size: 1.5rem;
	    transition: .3s;
		font-weight: 600;
	}
	.footer_utility-navi_sp a {
		display: inline-block;
	    border: 1px solid #a6a6a6;
	    color: #fff;
	    border-radius: 10px 10px 0 0;
	    padding: 12px 0;
	    margin: 0 auto;
	    text-align: center;
	    width: 100%;
	    background: #626161;
	}
	
	#footer_sitemap {
		flex-direction: column;
		padding: 0;
		background: rgba(99,98,98,1);
		font-size: 1.5rem;
	}
}

/* Breadcrumbs */
#footmark {
	align-items: center;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 20px;
}
#main_photo_title #footmark, 
#main_photo_title_voice #footmark {
	align-items: unset;
	position: relative;
	float: right;
	padding: 20px;
}

body#lower #footmark { width: 100%;}
body#lower #footmark::after {display: none;}

#footmark ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
}

#footmark li {
	color: #240700;
	font-size: 1.5rem;
	font-weight: 400;
}

#footmark li:not(:first-child) {
	position: relative;
	margin-left: 10px;
	padding-left: 25px;
}

#footmark li:not(:first-child)::before {
	position: absolute;
	top: 0%;
	left: 0;
	width: 15px;
	height: 0px;
	text-align: center;
	color: #999999;
	content: '\02022';
}

#footmark a {
	color: #065fd4;
	text-decoration: underline;
}
#footmark a:hover {
	color: #065fd4;
}

@media only screen and (max-width: 750px){
	#footmark {
	    left: 0;
	    top: 0;
	}
	#footmark li {
	    font-size: 1.2rem;
	}

	#main_photo_title #footmark, 
	#main_photo_title_voice #footmark {
		float: left;
	}
}

/* recaptcha badge */
a.pagetop {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto;
	padding: 15px;
	box-sizing: content-box;
}

a.pagetop span {
	display: block;
	position: relative;
	width: 32px;
	height: 2px;
	margin: 30px auto 0;
	background: rgba(99,98,98,1);
}
a.pagetop span::before {
	position: absolute;
	top: -20px;
	left: 4px;
	width: 22px;
	height: 22px;
	border-top: 2px solid rgba(99,98,98,1);
	border-right: 2px solid rgba(99,98,98,1);
	opacity: 1;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	transition: all .2s ease-out;
  animation-duration: .2s;
	animation-fill-mode: forwards;
	content: '';
}

a.pagetop:hover span::before {
	top: -15px;
	transition: all .2s ease-out;
}

a.pagetop:active span::before {
	animation-name: top-on;
}

@keyframes top-on {
  100% {
    top: -30px;
    opacity: 0;
  }
}


/* Title Items */
h2 {
    font-size: 3.0rem;
    font-weight: 600;
}
h2.main_title span {
	display: inline-block;
}
h2.main_title span:first-child {	
    font-size: 14.0rem;
    font-weight: 700;
	line-height: 1;
    color: #fff;
}
h2.main_title.fsmall span:first-child {	
    font-size: 8.0rem;
}
/* top work style */
#article #main_menu_works_style h2.main_title {
	width: 100%;
	margin: 0 auto;
}
#main_menu_works_style h2.main_title .top_text  {
	position: relative;
	text-align: center;
}
#main_menu_works_style h2.main_title .bottom_text {
	position: relative;
	text-align: right;
}
#main_menu_works_style h2.main_title span.box_polygon_white.pc {
	display: block;
}
#main_menu_works_style h2.main_title span.box_polygon_white.sp {
	display: none;
}
#main_menu_works_style h2.main_title .top_text img,
#main_menu_works_style h2.main_title .bottom_text img {
	position: relative;
	width: 40%;
	object-fit: cover;
	aspect-ratio: 8 / 5;
}
#main_menu_works_style h2.main_title .top_text p,
#main_menu_works_style h2.main_title .bottom_text p {
	display: inline-block;
	position: relative;
    font-size: 14.0rem;
    font-weight: 700;
	line-height: 1;
	margin-right: 20px;
    color: #fff;
}
#main_menu_works_style h2.main_title .bottom_text p {
	line-height: 0.5;
	margin: 20px 20px 0 0;
    color: #fff;
}
#main_menu_works_style h2.main_title .top_text p {
	vertical-align: bottom;
}
#main_menu_works_style h2.main_title .bottom_text p {
	vertical-align: top;
}
#main_menu_works_style h2.main_title .bottom_text span.box_polygon_white.pc {
	position: relative;
	margin: 60px 75px 0 0;
}

#main_menu_voice h2.main_title {
	position: relative;
}
h2.boder_title{
    text-align: center;
    font-size: 2.5rem;
    font-weight: 600;
}
h2 span.underline {
	display: inline-block;
    border-bottom: 8px solid #240700;
}
h2.bottomspace {
	padding: 80px 0 60px 0;
}
h3 {
    font-size: 2.5rem;
    font-weight: 600;
}
h3.sub_title {
    font-size: 4.0rem;
    font-weight: 600;
}
h3.step_title,
h3.step_title_big {
    position: relative;
}
h3.step_title span:first-child { font-size: 8.0rem; }
h3.step_title_big span:first-child { font-size: 10.0rem; }

h3.step_title span:first-child,
h3.step_title_big span:first-child {
    color: #fff;
    font-weight: 700;
}
h3.step_title span:first-child + span { font-size: 2.5rem; }
h3.step_title_big span:first-child + span { font-size: 4.0rem; }
h3.step_title span:first-child + span,
h3.step_title_big span:first-child + span {
    position: absolute;
    top: 50%;
    left: 0;
    font-weight: 600;
}
h3.step_title > .white_logo{
	position: absolute;
	bottom: -20px;
	right: 35px;
	text-shadow: 1px 1px 1px #999;
}
h3.pickup_title span:first-child {
	display: block;
    font-size: 5.0rem;
    font-weight: 700;
}
h3.pickup_title span:first-child + span {
	display: block;
    font-size: 2.0rem;
    font-weight: 600;
}

h4 {
    font-size: 2.8rem;
    font-weight: bold;
}
h4.sub_title {
    font-size: 4.0rem;
    font-weight: bold;
}
h4.underline {
    text-align: center;
}
h4.underline.left {
    font-size: 3.0rem;
    text-align: left;
}

h4.underline span {
	display: inline-block;
    border-bottom: 8px solid #240700;
}

h5 span.underline {
    text-align: center;
    font-size: 2.8rem;
    font-weight: bold;
	display: inline-block;
    border-bottom: 8px solid #240700;
}
h5 span.text_flash {
    text-align: center;
    font-size: 2.0rem;
    font-weight: bold;
}

.block_title {
	display: inline-block;
    --x-gradient: linear-gradient(90deg, #240700 0 20px, transparent 0 calc(100% - 20px), #240700 calc(100% - 20px));
    --y-gradient: linear-gradient(#240700 0 20px, transparent 0 calc(100% - 20px), #240700 calc(100% - 20px));
	position: relative;
    margin: 0 auto;
	min-width: 50%;
    max-width: 1104px;
    padding: 3rem 5rem;
    margin-bottom: 0.2rem;
    background-image:
        var(--x-gradient),
        var(--y-gradient),
        var(--x-gradient),
        var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
    background-position: top, right, bottom, left;
	text-align: center;
}
.block_title.nonwide {
	min-width: auto;
    max-width: none;
    padding: 1rem 7.2rem;
}
.block_title span.title_nomal {
	display: inline-block;
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 1.5;
}
.block_title span.title_smale {
	display: inline-block;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.5;
}
.block_title span.title_big {
	display: inline-block;
	font-size: 3.5rem;
	font-weight: 500;
	line-height: 1.5;
}

.move_step_title {
    font-size: 2.5rem;
    font-weight: 700;
}

.move_step_title span:first-child {
	margin: 0 0 0 5px;
}

.move_step_title span:last-child {
	position: relative;
	display: inline-block;
	margin: 0;
    padding: 22px 24px;
    border-radius: 5px;
    border: 2px solid #240700;
    background-color: #fff;
    font-size: 2.0rem;
    font-weight: 600;
    line-height: 1;
}

.outline p,
.detail p {
    font-size: 1.5rem;
}
.outline .outline_title,
.detail .detail_title {
    font-size: 2.0rem;
}
#main_photo .main_photo_text {
    display: block;
    font-size: 2.5rem;
    margin-bottom: 100px;
    padding: 0 144px;
}
.outline .outline_text,
.detail .detail_text {
    font-size: 1.5rem;
}
.remarks{
    font-size: 1.3rem;
}
.title_more {
    font-size: 14.0rem;
    font-weight: 700;
    color: #fff;
}

@media only screen and (max-width: 1277px){
	#main_photo .main_photo_text {
		padding: 0px 5px;
	}
}
@media only screen and (max-width: 1170px) {
	#main_menu_works_style h2.main_title .top_text p, 
	#main_menu_works_style h2.main_title .bottom_text p {
		font-size: 12rem;
	}
}
@media only screen and (max-width: 1024px) {
	#main_menu_works_style h2.main_title .top_text p, 
	#main_menu_works_style h2.main_title .bottom_text p {
		font-size: 10.0rem;
	}
}

@media only screen and (max-width: 750px){
	h2 {
	    font-size: 2.5rem;
	}
	#article #main_menu_works_style h2.main_title {
		margin: 0 auto 50px;
	}
	h2.main_title span:first-child,
	h2.main_title.fsmall span:first-child,
	#main_menu_works_style h2.main_title .top_text p,
	#main_menu_works_style h2.main_title .bottom_text p {	
		font-size: 7.5rem;
	}
	h2.main_title span.pc {
		display: none;
	}

	#main_menu_works_style h2.main_title .top_text  {
		text-align: right;
		padding-bottom: 60px;
	}
	#main_menu_works_style h2.main_title .bottom_text  {
		text-align: left;
	}
	#main_menu_works_style h2.main_title .top_text img,
	#main_menu_works_style h2.main_title .bottom_text img {
		width: 70%;
		min-width: 240px;
	}
	#main_menu_works_style h2.main_title .top_text > p {
		position: absolute;
		bottom: 10px;
		left: 30%;
		z-index: 2;
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}
	#main_menu_works_style h2.main_title .bottom_text > p {
		position: absolute;
		top: -45px;
		right: 0.5rem;
		z-index: 2;
		-webkit-transform: translate(-50%,0);
		transform: translate(-50%,0);
	}
	#main_menu_works_style h2.main_title span.box_polygon_white.pc {
		display: none;
	}
	#main_menu_works_style h2.main_title span.box_polygon_white.sp {
		display: block;
	}
	#main_menu_works_style h2.main_title .bottom_text > span.box_polygon_white.sp {
		position: absolute;
		bottom: 10px;
		left: 0;
		z-index: 2;
		-webkit-transform: translateY(50%);
		transform: translateY(50%);
	}

	h2.bottomspace {
		padding: 40px 0 25px 0;
	}
	h3 {
	    font-size: 2.0rem;
	}
		
	h3.step_title span:first-child { font-size: 6.0rem; }
	h3.step_title_big span:first-child { font-size: 4.0rem; }

	h3.step_title span:first-child + span { font-size: 2.0rem; }
	h3.step_title_big span:first-child + span { font-size: 2.5rem; }


	h3.step_title > .white_logo{
		font-size: 6.0rem;
	}
	h3.sub_title {
		font-size: 2.5rem;
	}
	h3.pickup_title span:first-child {
		font-size: 4.0rem;
	}
	h3.pickup_title span:first-child + span {
		font-size: 1.5rem;
		line-height: 1.5;
	}

	h4.sub_title {
		font-size: 2.6rem;
	}
	.move_step_title {
		font-size: 2.0rem;
	}
	.move_step_title span:last-child {
		font-size: 1.8rem;
		padding: 15px 20px;
	}
	.outline p,
	.detail p {
		font-size: 1.5rem;
	}
	.outline .outline_title,
	.detail .detail_title {
		font-size: 1.8rem;
	}
	.pickup_title{
		font-size: 4.0rem;
	}
	.title_more {
		font-size: 6.0rem;
	}
	.block_title {
	    width: 100%;
	}
	.block_title.nonwide {
		padding: 1rem 5.2rem;
		width: auto;
	}
	.block_title span.title_nomal {
		font-size: 1.8rem;
	}
	.block_title span.title_smale {
		font-size: 1.5rem;
	}
	.block_title span.title_big {
		font-size: 2.5rem;
	}
}
@media only screen and (max-width: 1279px){
	.shape_outside_R .block_title.nonwide,
	.shape_outside_L .block_title.nonwide {
		padding: 1rem 5.2rem;
		width: auto;
	}
	.shape_outside_R .block_title span.title_nomal,
	.shape_outside_L .block_title span.title_nomal {
		font-size: 1.8rem;
	}
	.shape_outside_R .block_title span.title_smale,
	.shape_outside_L .block_title span.title_smale {
		font-size: 1.5rem;
	}
	.shape_outside_R .block_title span.title_big,
	.shape_outside_L .block_title span.title_big {
		font-size: 2.5rem;
	}
}

/* Sub Menu */
@media only screen and (max-width: 750px){
	.sp_menu .select_navi {
		display: block;
	}
	.sp_menu .select_navi ul {
		display: flex;
		flex-wrap: wrap;
	}
	.sp_menu .select_navi li {
		position: relative;
		display: block;
		text-align: left;
		margin: 2px;
		width: calc(50% - 4px);
		background-color: #fff;
	}
	.sp_menu .select_navi li a {
		display: block;
		padding-left: 16px;
		padding-right: 45px;
		font-size: 1.5rem;
		height: 48px;
		font-weight: 600;
		line-height: 48px;
	}
	.sp_menu .select_navi li > a:before,
	.sp_menu .select_navi li > a:after {
		position: absolute;
		left: inherit;
		top: 50%;
		right: 24px;
		width: 12px;
		height: 2px;
		border: none;
		background: #636262;
		-webkit-transform: translate(0,-50%);
		transform: translate(0,-50%);
		content: '';
	}
	.sp_menu .select_navi li > a:after {
		right: 30px;
		width: 2px;
		height: 12px;
	}
	#main_photo .main_photo_text {
		margin-bottom: 30px;
		padding: 0 24px;
	}
}

/* Side Menu */
#text_step2 {
	width: 100%;
}
#side_bar.bar_list {
	position: sticky;
	top: 100px;
	box-sizing: border-box;
	width: calc(100% - 60px); /*180px%;*/
	margin: 0;
}
#side_bar.bar_list li {
    position: relative;
	text-align: left;
	font-size: 1.5rem;
	font-weight: 400;
	display: block;
}
#side_bar.bar_list li a {
	display: block;
	padding: 5px 40px 5px 0;
	border-bottom: 1px solid #d8cdc6;
	box-shadow: 0px 1px 0px 0px #fff;
}
#side_bar.bar_list li a span:first-child {
	display: inline-block;
	font-size: 1.3rem;
	font-weight: 600;
	margin-bottom: 5px;
}
#side_bar.bar_list li a::after {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #240700;
    border-left: 1px solid #240700;
    -webkit-transform: translate(-50%,-50%) rotate(-135deg);
    transform: translate(-50%,-50%) rotate(-135deg);
    content: '';
}

@media only screen and (max-width: 750px){
	#side_bar.bar_list {
		width: 100%;
		margin-bottom: 60px;
	}
}

/* cookie Notice */
/* Clear Fix */
