/*-------------------- css --------------------*/
@font-face{
	font-family:'RedHatDisplay-Bold';
	src:url('fonts/RedHatDisplay-Bold.ttf');
}
@font-face{
	font-family:'RedHatDisplay-SemiBold';
	src:url('fonts/RedHatDisplay-SemiBold.ttf');
}
@font-face{
	font-family:'ZenOldMincho-Bold';
	src:url('fonts/ZenOldMincho-Bold.ttf');
}
@font-face{
	font-family:'kozminpro-medium';
	src:url('fonts/kozminpro-medium.otf');
}

.mobile{
	display:none;
}

body, html {
	height:100%;
	margin: 0;
	padding: 0;
	font-family: "ryo-gothic-plusn", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:1.5;
	letter-spacing:1.5px;
	color:#23231e;
	background: #595757;
}
body.loading{
	overflow:hidden !important;
}

h1, h2, h3, h4, h5, h6, p{
	margin:0;
	font-weight:normal;
}
a{
	color: #23231e;
	text-decoration:none;
}
a:link、a:visited{
	color:#0075C2;
}
a:hover{
	color:#3C9DEA;
}

.mb_120{
	margin-bottom:120px !important;
}
.ta_r{
	text-align:right;
}

.main_header {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100px;
	background: #595757;
	z-index: 100;
	transition: height 0.2s ease-out, background 0.5s ease-out, 0.3s;
}
.main_header_logo {
	opacity: 1;
	transition: opacity 0.3s ease-out;
}
.main_header_logo img{
	height:50px;
}

.main_header_hamburger{
	display:none;
}
.main_header_nav{
	display:none;
}

.scrolled .main_header {
	width: 100%;
	opacity: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: transparent;
	height: 120px;
}

.header-left, .header-right {
	width: 50%;
	height: 120px;
	background: #595757;
	transition: width 0.5s ease-out;
}

.scrolled .header-left {
	width: 30%;
}

.scrolled .header-right {
	width: 30%;
}

.top_mv{
	position:relative;
	height:100%;
	z-index:20;
	animation-duration:2.5s;
	animation-iteration-count:1;
	animation-timing-function:ease-out;
	animation-name:top_mv;
}
@keyframes top_mv{
	0%, 99%{
		background-color:#595757;
	}
	100%{
		background:none;
	}
}

.mv_left, .mv_right {
	flex: 1;
	position: fixed;
	top: 0;
	bottom: 0;
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding:100px 0;
	color: white;
	background-color:#595757;
	text-align: center;
	align-items: flex-end;
}
.mv_left {
	left: 0;
}
.mv_right {
	right: 0;
}
.mv_left a, .mv_right a{
	width:100%;
	height:100%;
	background-size: cover;
	background-position: center;
	background-repeat:no-repeat;
}
.mv_left a{
	background-image: url('images/banner1.png');
}
.mv_right a{
	background-image: url('images/banner2.png');
}

.mv_content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 2px;
	position:absolute;
	bottom:100px;
	left:0;
	width:100%;
}
.mv_content .title {
	width: auto;
	height: 120px;
}
.mv_content .title h2 {
	font-family:'RedHatDisplay-Bold';
	letter-spacing: 1px;
	color:#ffffff;
}
.mv_content .title p {
	color:#ffffff;
}
.mv_content .circle {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	position: absolute;
	bottom: -30px;
}
.mv_content .circle.blue {
	background: linear-gradient(to right, #005D9E, #0075C2);
	left: 50%;
	transform: translateX(-50%);
}
.mv_content .circle.red {
	background: linear-gradient(to right, #AF000F, #E60012);
	left: 50%;
	transform: translateX(-50%);
}

.center-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 80px;
	font-weight: 900;
	color: white;
	position: absolute;
	left: 50%;
	top: 50%;
	line-height: 1;
	transform: translate(-50%, -50%);
	transition:0.6s;
}

.scroll-indicator {
	position: fixed;
	left:0;
	bottom:0;
	width:100%;
	transition:0.6s;
}
.triangle {
	width: 0;
	height: 0;
	border-left: 75px solid transparent;
	border-right: 75px solid transparent;
	border-bottom: 130px solid white;
	position: relative;
	left: 50%;
	bottom:0;
	transform: translateX(-50%);
}
.triangle p {
	position: absolute;
	top: 70px;
	left: 50%;
	transform: translate(-50%, -50%) rotate(90deg);
	font-size: 16px;
	color: black;
	letter-spacing: 2px;
	white-space: nowrap;
}

.content-section {
	position:absolute;
	top:0;
	left:50%;
	transform:translateX(-50%);
	/* max-width:50%; */
	margin:0 auto;
	/* padding-top: 200px; */
	background-color: white;
	overflow: visible;
	/* opacity: 0; */
	/* transition:0.6s; */
	z-index:10;
}

.sticky_area{
	/* height:2100px; */
	height:100vw;
}

.sticky_content{
	position:sticky;
	top:15%;
}
.sticky_box{
	position:absolute;
	left:50%;
	transform:translateX(-50%);
}

.content-slogan {
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	gap:50px;
	margin:0 auto;
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 5px;
	line-height: 1.4;
}

.content-slogan p{
	font-family:'ZenOldMincho-Bold';
	font-size: 30px;
	line-height:20px;
}

.content-70th{
	margin-top:50px;
	text-align:center;
}
.content-70th img{
	width:200px;
}

.content-box {
	width: 100%;
	margin-top: 700px;
	text-align: center;
}

.content-box p {
	margin:0;
	font-family:'ZenOldMincho-Bold';
	font-size: 18px;
	/* font-weight: bold; */
	line-height:2.2;
	color: black;
}

.content-gradient{
	height:160px;
	background: linear-gradient(to bottom, #ffffff, #dfe3e3);
}

.content-earth {
	margin: 0 auto;
	background-color:#dfe3e3;
}

.content-earth img{
	display: block;
	width: 150px;
	margin:0 auto;
}

.news-section {
	width: 100%;
	padding: 80px 0 160px;
	background-color:#dfe3e3;
}

.news-title{
	margin-bottom:80px;
}

.news-title .content-oshirase {
	width: 100%;
	font-weight: bold;
	font-size: 25px;
	writing-mode: vertical-rl;
	display: flex;
	justify-content: center;
	align-items: center;
	text-orientation: upright;
	letter-spacing: 5px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
}

.news-title .content-oshirase h2{
	margin:0;
	font-family:'ZenOldMincho-Bold';
	font-size:34px;
}

.news-title h3{
	font-family:'RedHatDisplay-Bold';
	font-size: 20px;
	text-align: center;
	color: #fff;
	margin:50px auto 0;
	letter-spacing:2px;
}

.news-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	/* grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); */
	gap:30px;
	padding:0 30px;
}

.news-item {
	position:relative;
	border-radius: 8px;
}

.news-item a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	transition:0.3s;
}

.news-item a:hover{
	background:rgba(0, 0, 0, 0.3);
}

.news-item .img {
	display:block;
	height:200px;
	overflow:hidden;
}

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

.item-date {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
	margin-top: 15px;
}

.news-date {
	font-size: 16px;
	color: #8696a6;
	margin:0;
	line-height: 1;
}

.news-tag {
	padding: 5px 16px;
	font-size: 14px;
	line-height:1;
	border-radius: 5px;
	color: white;
	cursor: pointer;
	transition: background-color 0.3s ease, transform 0.2s ease;
}
.news-tag.company{
	background-color:#0075c2;
}
.news-tag.product{
	background-color:#e60012;
}
.news-tag.new{
	background-color:#fbb03b;
}
.news-tag.topics{
	background-color:#8696a6;
}


.news-description {
	margin: 15px 0 0;
	font-size: 14px;
	color: black;
}

.news-button {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 80px 0 0;
}

.news-button a {
	width:100%;
	max-width:240px;
	padding: 10px 20px;
	font-size:16px;
	text-align:center;
	text-decoration:none;
	color: white;
	background: #222;
	background-image:url('images/icon.png');
	background-position:center right 15px;
	background-repeat:no-repeat;
	background-size:20px;
	border-radius: 30px;
	cursor: pointer;
	transition: 0.3s;
}

.news-button a:hover{
	opacity:0.7;
}

.site-footer {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width:100%;
	padding:100px 0 30px;
	background-color: #fff;
}

.site-footer img {
	display: block;
	width: 300px;
}

.copyright {
	margin: 40px 0 0;
	font-size: 16px;
	color:#d6d8d6;
	line-height: 1;
}

.top_mv_mobile {
	display: none;
}

.header-mobile {
	display: none;
}


/*---------- animation ----------*/
.mv_title span{
	animation-duration:2s;
	animation-iteration-count:1;
	animation-timing-function:ease-out;
	animation-name:mv_title;
	font-family:'RedHatDisplay-Bold';
}

@keyframes mv_title{
	0%, 20%{
		transform:translateY(50px);
		opacity:0;
	}
	50%, 70%{
		transform:translateY(0);
		opacity:1;
	}
	100%{
		transform:translateY(0);
		opacity:1;
	}
}

.mv_left{
	animation-duration:2.5s;
	animation-iteration-count:1;
	animation-timing-function:ease-out;
	animation-name:mv_left;
}

@keyframes mv_left{
	0%, 40%{
		transform:translateX(-100%);
		opacity:0;
	}
	80%, 100%{
		transform:translateX(0%);
		opacity:1;
	}
}

.mv_left .content{
	animation-duration:2.5s;
	animation-iteration-count:1;
	animation-timing-function:ease-out;
	animation-name:mv_left_content;
}

@keyframes mv_left_content{
	0%, 80%{
		transform:translateY(50%);
		opacity:0;
	}
	100%{
		transform:translateY(0%);
		opacity:1;
	}
}

.mv_right{
	animation-duration:2.5s;
	animation-iteration-count:1;
	animation-timing-function:ease-out;
	animation-name:mv_right;
}

@keyframes mv_right{
	0%, 40%{
		transform:translateX(100%);
		opacity:0;
	}
	80%, 100%{
		transform:translateX(0%);
		opacity:1;
	}
}

.mv_right .content{
	animation-duration:2.5s;
	animation-iteration-count:1;
	animation-timing-function:ease-out;
	animation-name:mv_right_content;
}

@keyframes mv_right_content{
	0%, 80%{
		transform:translateY(50%);
		opacity:0;
	}
	100%{
		transform:translateY(0%);
		opacity:1;
	}
}

.mv_triangle{
	animation-duration:2.5s;
	animation-iteration-count:1;
	animation-timing-function:ease-out;
	animation-name:mv_triangle;
}

@keyframes mv_triangle{
	0%, 70%{
		transform:translate(-50%, 100%);
		opacity:0;
	}
	100%{
		transform:translate(-50%, 0%);
		opacity:1;
	}
}


.header_detail_pc{
	display:none;
	position: absolute;
    top: 140px;
    left: 0;
    width: 100%;
    background-color: #ffffff;
	z-index:100;
}
.header_container{
	display: grid;
	grid-template-columns: 350px 1fr;
	align-items: flex-start;
	max-width: 1200px;
	margin: 0 auto;
	padding: 64px 50px 34px;

	.title{
		display:flex;
		align-items:center;
		gap:24px;
		font-size:24px;

		img{
			width:26px;
		}
	}
	.menu{
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
		gap: 16px 24px;

		a{
			padding:12px 0;
			font-size:16px;
			border-bottom:1px dotted #23231e;
			background-image:url('images/header_right_cursor.png');
			background-position:center right;
			background-repeat:no-repeat;
			background-size:20px;
		}
	}
}
.header_close{
	max-width:1200px;
	margin:0 auto 10px;
	padding:0 50px;
	
	img{
		display:block;
		width:20px;
		margin-left:auto;
		cursor:pointer;
	}
}

/*-------------------- footer --------------------*/
.footer_area{
	background-color:#595757;
}
.footer_wrap{
	position:relative;
	max-width:1100px;
	margin:0 auto;
	padding:40px 50px 20px;
}
.footer_top{
	margin-bottom:10px;
}
.footer_top .return{
	margin-bottom:30px;
	padding-bottom:25px;
	border-bottom:1px solid #ffffff;
}
.footer_top .return a{
	display:inline-block;
}
.footer_top .return a span{
	display:flex;
	align-items:center;
	gap:10px;
	font-family:'RedHatDisplay-SemiBold';
	font-size:18px;
	color:#ffffff;
}
.footer_top .return a span img{
	width:20px;
	transform:rotate(-90deg);
}
.footer_top .nav{
	display:flex;
	justify-content:flex-end;
	gap:30px;
}
.footer_top .nav a{
	font-size:16px;
	color:#ffffff;
}
.footer_bottom{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	margin-bottom:70px;
}
.footer_bottom .logo img{
	width:125px;
}
.footer_bottom .youtube{
	display:flex;
	align-items:center;
	gap:10px;
}
.footer_bottom .youtube p{
	font-size:16px;
	color:#ffffff;
}
.footer_bottom .youtube img{
	width:57px;
}
.footer_copy p{
	font-size:14px;
	text-align:right;
	color:#ffffff;
}
.footer_top_return{
	display:block;
	position:fixed;
	left:50%;
    bottom:80px;
	transform:translateX(-50%);
	width:100%;
    max-width:1270px;
    margin:0 auto;
	opacity:0;
	visibility:hidden;
	transition:0.3s;
	z-index:200;
}
.footer_top_return img{
	position:absolute;
	top:0;
	right:0;
	width:60px;
}


/*-------------------- 共通 --------------------*/
.common_main{
	background-color:#ffffff;
}
.common_wrap{
	max-width:1100px;
	margin:0 auto;
	padding:240px 50px 160px;
}
.common_title{
	margin-bottom:90px;
	padding-bottom:30px;
	border-bottom:2px solid #23231e;
}
.common_title h1{
	font-family:'ZenOldMincho-Bold';
	font-size:38px;
}
.common_container{
	display:grid;
	gap:70px;
}
.common_box .headline{
	margin-bottom:96px;
	font-family:'ZenOldMincho-Bold';
	font-size:28px;
	line-height:2;
}
.common_box > h2{
	margin-bottom:35px;
	font-family:'ZenOldMincho-Bold';
	font-size:28px;
	line-height:2;
}
.common_box > p{
	font-family:'ZenOldMincho-Bold';
	font-size:18px;
	line-height:2;
}
.common_box > ul{
	display:grid;
	gap:10px;
	margin:0;
	padding-left:20px;
}
.common_box > ul li{
	font-family:'ZenOldMincho-Bold';
	font-size:18px;
	line-height:2;
}
.common_box > ol{
	display:grid;
	gap:30px;
	margin:0;
	padding-left:20px;
}
.common_box > ol li{
	font-family:'ZenOldMincho-Bold';
	font-size:18px;
	line-height:2;
}
.common_box .list{
	display:grid;
	gap:30px;
	margin-top:30px;
}
.common_box .list h3{
	margin-bottom:15px;
	padding-bottom:10px;
	font-family:'kozminpro-medium';
	font-size:20px;
	line-height:2;
	border-bottom:2px dotted #23231e;
}
.common_box .list p{
	font-family:'kozminpro-medium';
	font-size:18px;
	line-height:2;
}
.common_box .list ul{
	margin:0;
	padding-left:20px;
}
.common_box .list ul li{
	margin-top:10px;
	font-family:'kozminpro-medium';
	font-size:18px;
}
.common_box .line{
	margin-top:30px;
	padding:20px 0;
	font-family:'kozminpro-medium';
	font-size:18px;
	text-decoration:underline;
	border-top:2px dotted #23231e;
	border-bottom:2px dotted #23231e;
}
.common_box .line ul{
	display:grid;
	gap:20px;
	margin:0;
	padding:0;
}
.common_box .line ul li{
	list-style:none;
}
.common_box .cookie{
	display:grid;
	gap:55px;
	margin-top:55px;
}
.common_box .cookie h3{
	display:flex;
	align-items:center;
	gap:20px;
	margin-bottom:30px;
	font-family:'kozminpro-medium';
	font-size:20px;
}
.common_box .cookie h3 span{
	display:flex;
	justify-content:center;
	align-items:center;
	width:36px;
	height:36px;
	font-family:'ZenOldMincho-Bold';
	font-size:18px;
	color:#ffffff;
	background-color:#23231e;
}
.common_box .cookie p{
	font-family:'kozminpro-medium';
	font-size:18px;
	line-height:40px;
}
.common_box .cookie ul{
	margin:30px 0 0;
	padding:0;
	border-top:2px dotted #23231e;
}
.common_box .cookie ul li{
	padding:20px 0;
	font-family:'kozminpro-medium';
	font-size:18px;
	border-bottom:2px dotted #23231e;
	list-style:none;
}

.common_memo{
	margin-top:60px;
}
.common_memo p{
	font-family:'kozminpro-medium';
	font-size:18px;
	line-height:2;
}
.privacy_common_memo{
	margin-top:20px;
	font-family:'kozminpro-medium';
	font-size:18px;
	line-height:2;
	text-align:right;
}
.common_link_container{
	display:grid;
	gap:40px;
	padding-bottom:40px;
	border-bottom:2px dotted #23231e;
}
.common_link{

}
.common_link h2{
	margin-bottom:20px;
	padding:10px 20px;
	font-family:'kozminpro-medium';
	font-size:18px;
	line-height:2;
	color:#ffffff;
	background-color:#23231e;
}
.common_link a{
	font-family:'kozminpro-medium';
	font-size:18px;
	line-height:2;
	color:#0075c2;
	text-decoration:underline;
}
.mynumber_copy_box {
	font-family: 'kozminpro-medium';
    font-size: 18px;
    line-height: 2;
	display: flex;
    gap: 10px;
	margin-bottom: 18px;
}
.mynumber_copy_box button {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #0075C2;
	border-radius: 20px;
	color: white;
	width: 100px;
	height: 40px;
	min-height: 40px;
	font-family: 'kozminpro-medium';
	letter-spacing: 3px;
	font-size: 18px;
	border: none;
	cursor: pointer;
}

/*-------------------- news --------------------*/
.news_main{
	background-color:#ffffff;
}
.news_wrap{
	max-width:1100px;
	margin:0 auto;
	padding:240px 50px 160px;
}
.news_section{
	padding-bottom:80px;
}
.news_title{
	margin-bottom:240px;
}
.news_title h1{
	margin-bottom:60px;
	font-family:'RedHatDisplay-Bold';
	font-size:180px;
	line-height:1;
}
.news_title p{
	font-family:'ZenOldMincho-Bold';
	font-size:40px;
	letter-spacing:5px;
	line-height:1;
}
.news_category{
	display:flex;
	flex-wrap:wrap;
	gap:24px;
	margin-bottom:75px;
}
.news_category a{
	display:block;
	width:160px;
	padding:10px;
	font-size:18px;
	text-align:center;
	text-decoration:none;
	border:1px solid #23231e;
	border-radius:50px;
}
.news_category a.active{
	color:#ffffff;
	background-color:#23231e;
}
.news_lists{
	margin-bottom:160px;
}
.news_box{
	position:relative;
	padding:30px 50px 50px 0;
	border-bottom:1px solid #dfe3e3;
}
.news_box > img{
	position:absolute;
	top:50%;
	right:0;
	transform:translateY(-50%);
	width:50px;
}
.news_box > a{
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}
.news_content .info{
	display:flex;
	align-items:center;
	gap:20px;
	margin-bottom:20px;
}
.news_content .info time{
	font-size:18px;
	color:#8696a6;
}
.news_content .info .category{
	width:120px;
	padding:5px;
	font-size:16px;
	text-align:center;
	color:#ffffff;
	background-color:#8696a6;
	border-radius:5px;
}
.news_content .info .category.company{
	background-color:#0075c2;
}
.news_content .info .category.product{
	background-color:#e60012;
}
.news_content .info .category.new{
	background-color:#fbb03b;
}
.news_content .info .category.topics{
	background-color:#8696a6;
}
.news_content h2{
	font-size:18px;
}
.news_paginate{
	display:flex;
	justify-content:center;
	gap:15px;
}
.news_paginate a{
	display:block;
	padding:10px 15px;
	font-size:16px;
	color:#ffffff;
	background-color:#dfe3e3;
}
.news_paginate span{
	display:block;
	padding:10px 15px;
	font-size:16px;
	color:#ffffff;
	background-color:#23231e;
}
.news_return{
	display:flex;
	justify-content:flex-end;
}
.news_return a{
	display:block;
	position:relative;
	width:300px;
	padding:7px;
	font-size:18px;
	text-align:center;
	color:#ffffff;
	background-color:#23231e;
	border-radius:40px;
}
.news_return a img{
	position:absolute;
	top:50%;
	right:10px;
	transform:translateY(-50%) rotate(-90deg);
	width:20px;
}
.news_contact_wrap{
	max-width:1100px;
	margin:0 auto;
	padding:0 50px 200px;
}
.news_contact_box{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	height:200px;
	text-align:center;
	border:2px solid #23231e;
	border-radius:150px;
}
.news_contact_box .icon{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0;
	left:0;
	width:200px;
	height:200px;
	background-color:#23231e;
	border-radius:50%;
}
.news_contact_box .icon img{
	width:60px;
}
.news_contact_box .title{
	display:flex;
	align-items:center;
	gap:40px;
}
.news_contact_box .title h3{
	font-family:'RedHatDisplay-Bold';
	font-size:55px;
	letter-spacing:3px;
}
.news_contact_box .title p{
	font-size:24px;
	letter-spacing:3px;
}


/*-------------------- お知らせ記事 --------------------*/
.news_detail_article{
	margin-bottom:80px;
	border-bottom:1px solid #dfe3e3;
}
.news_detail_head{
	margin-bottom:72px;
	padding-bottom:52px;
	border-bottom:1px solid #dfe3e3;
}
.news_detail_head .date{
	display:flex;
	align-items:center;
	gap:13px;
	margin-bottom:52px;
}
.news_detail_head .date time{
	font-size:18px;
	color:#8696a6;
}
.news_detail_head .date .category{
	padding:5px 30px;
	font-size:16px;
	color:#ffffff;
	background-color:#8696a6;
	border-radius:4px;
}
.news_detail_head .date .category.company{
	background-color:#0075c2;
}
.news_detail_head .date .category.product{
	background-color:#e60012;
}
.news_detail_head .date .category.new{
	background-color:#fbb03b;
}
.news_detail_head .date .category.topics{
	background-color:#8696a6;
}

.news_detail_head h1{
	font-size:28px;
	line-height:49px;
	font-weight:500;
}
.news_detail_body{
	margin-bottom:128px;
}
.news_detail_body p{
	margin-bottom:52px;
	font-size:18px;
	font-weight:normal;
	line-height:40px;
}
.news_detail_body figure{
	margin:0;
}
.news_detail_body img{
	max-width:100%;
	height:auto;
	margin-bottom:52px;
}

/*-------------------- パンくずリスト --------------------*/
.breadcrumb{
	display:flex;
	align-items:center;
	max-width:1200px;
	margin:0 auto;
	padding:25px 50px 0;
}
.product_main .breadcrumb{
	padding:25px 0 0;
	border-top:1px solid #d2d2d2;
}
.company_breadcrumb{
	background-color:#dfe3e3;
}
.breadcrumb a{
	font-size:14px;
	color:#8696a6;
}
.breadcrumb span{
	padding-left:8px;
	font-size:14px;
	color:#8696a6;
}
.breadcrumb a.active{
	text-decoration:underline;
	color:#0075c2;
}


/*---------- contact-list ----------*/
.contact_list{
	max-width:1100px;
	margin:0 auto;
	padding:0 50px;
	
	.box{
		margin-bottom:42px;
		
		&.first{
			margin-bottom:80px;
		}
		&:last-child{
			margin:0;
		}
		p{
			margin-bottom:20px;
			font-family:'ZenOldMincho-Bold';
			font-size:18px;
			
			&:before{
				content:'⚫︎';
				color:#0075c2;
			}
		}
		a{
			display:block;
			position:relative;
			padding:50px 80px;
			font-family:'ZenOldMincho-Bold';
			font-size:34px;
			line-height:1;
			background-image:url('images/company/contact_cursor2.png');
			background-position:center right 60px;
			background-repeat:no-repeat;
			background-size:54px;
			border:2px solid #23231e;
			border-radius:70px;
			
			&:hover{
				color:#ffffff;
				background-color:#23231e;
				background-image:url('images/company/contact_cursor1.png');
			}
		}
	}
}

/*---------- contact-form ----------*/
.screen-reader-response{
	display:none;
}
.wpcf7-response-output{
	margin-bottom:50px;
}

.contact_field{
	max-width:1100px;
	margin:0 auto;
	padding:0 50px;
	
	form{
		margin:0
	}
}
.contact_area{
	.check{
		margin-bottom:160px;
		
		dl{
			margin:0 0 48px;
			padding-bottom:48px;
			border-bottom:2px dotted #23231e;
			
			dt{
				p{
					display:flex;
					justify-content:space-between;
					align-items:center;
					margin-bottom:48px;
					
					.title{
						padding:10px 16px;
						font-family:'kozminpro-medium';
						font-size:22px;
						line-height:28px;
						border-left:8px solid #0075c2;
					}
					.kome{
						font-family:'kozminpro-medium';
						font-size:18px;
					}	
				}
			}
			dd{
				margin:0;
				
				.wpcf7-checkbox{
					display:grid;
					grid-template-columns:repeat(4, 1fr);
					gap:32px 0;
					
					label{
						display:flex;
						align-items:center;
						gap:10px;
						font-family:'kozminpro-medium';
						font-size:18px;
						line-height:28px;
						
						input{
							margin:0;
							width:24px;
							height:24px;
						}
					}
				}
				.wpcf7-not-valid-tip{
					display:block;
					margin-top:20px;
					color:#e60012;
				}
			}
		}
	}
	.form{
		margin-bottom:48px;
		padding-bottom:96px;
		border-bottom:2px dotted #23231e;
		
		dl{
			margin:0 0 40px;
			
			&:last-child{
				margin:0;
			}
			dt{
				margin-bottom:15px;
				
				p{
					display:flex;
					justify-content:space-between;
					align-items:center;
					font-family:'kozminpro-medium';
					font-size:20px;
					
					span{
						padding:8px 12px;
						font-size:16px;
						line-height:1;
						color:#ffffff;
						
						&.r_red{
							background-color:#e60012;
						}
						&.r_gray{
							background-color:#595757;
						}
					}
				}
			}
			dd{
				margin:0;
				
				input[type="text"], input[type="email"], input[type="tel"]{
					width:100%;
					padding:20px;
					font-size:16px;
					background-color:#f0f0f0;
					border:none;
					border-radius:6px;
				}
				textarea{
					width:100%;
					padding:20px;
					font-size:18px;
					line-height:1.5;
					background-color:#f0f0f0;
					border:none;
					border-radius:6px;
					resize:vertical;
				}
				.file_area{
					padding:25px;
					background-color:#f0f0f0;
					border-radius:6px;
				}
				.memo{
					margin-top:20px;
					font-family:'kozminpro-medium';
					font-size:18px;
					line-height:36px;
				}
				.wpcf7-not-valid-tip{
					display:block;
					margin-top:10px;
					color:#e60012;
				}
			}
		}
	}
	.text{
		margin-bottom:48px;
		padding-bottom:48px;
		border-bottom:2px dotted #23231e;
		
		h3{
			margin-bottom:32px;
			font-family:'kozminpro-medium';
			font-size:20px;
			line-height:36px;
			text-align:center;
		}
		ol{
			margin:0;
			
			li{
				margin-bottom:15px;
				font-family:'kozminpro-medium';
				font-size:18px;
				line-height:36px;
			}
		}
		.tx{
			max-width:800px;
			margin:0 auto;
			font-family:'kozminpro-medium';
			font-size:18px;
			line-height:36px;
			
			a{
				text-decoration:underline;
			}
		}
	}
	.post{
		.check{
			margin-bottom:48px;
			
			label{
				display:flex;
				justify-content:center;
				align-items:center;
				gap:20px;
				font-family:'kozminpro-medium';
				font-size:18px;
				line-height:36px;
				
				input{
					margin:0;
					width:24px;
					height:24px;
				}
			}
		}
		.btn{
			text-align:center;
			
			input{
				width:340px;
				height:60px;
				font-family:'kozminpro-medium';
				font-size:18px;
				line-height:36px;
				text-align:center;
				color:#ffffff;
				background-color:#23231e;
				cursor:pointer;
				
				&:hover{
					opacity:0.8;
				}
			}
		}
	}
}

.text_r{
	text-align:right !important;
}
.text_l{
	text-align:left !important;
}