/*
Theme Name: 1osMC
Theme URI: https://web.1os.co.jp/
Author: One OS inc.
Author URI: https://1os.co.jp/
Description: このテーマは株式会社ワンオーエス(サービス名：クオリティWebデザイン)によって作成されました。高品質でカスタマイズ可能なデザインを提供し、ユーザーに素晴らしいエクスペリエンスをもたらします。
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 1os_mc
Tags: レスポンシブ, マルチ, 1カラム, 2カラム, 翻訳対応
*/

/**********  カスタマイズCSS **********/

/* ヘッダー：背景 */
#header_wrapper::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	pointer-events:none;
	background:linear-gradient(to bottom,rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
}
#header_wrapper::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	pointer-events:none;
	background:rgba(255,255,255,.8);
	opacity:0;
	transition:opacity .5s ease;
}
.scroll #header_wrapper::after{
	opacity:1;
}
#header_title_logo{
	max-width:204px;
}

#mainview_wrap {
	background:#fff;
}
#mainview_slider .slide_img_wrap{
	isolation:isolate;
}
#mainview_slider .slide_img_wrap::after,
#page_title_wrapper::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:10;
	pointer-events:none;
	background-image:radial-gradient(rgba(255,255,255,.8) 1px,transparent 1px);
	background-size:3px 3px;
}
.slide_caption_main h2,
#page_main_title{
	text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff, 0 0 5px rgba(0, 0, 0, .5);
}
.slide_caption_main p{
	padding-left:.4em;
	text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff, 1px 1px 3px rgba(0, 0, 0, .4);
}
.slide_caption_eng{
	bottom:4em;
	right:0;
	opacity:.8
}
#page_title_container{z-index:12}
#page_title_block{
	margin-top:3em;
}
#breadcrumb_wrapper{
	border-bottom:1px solid #ccc;
}

#global_nav .menu_span::before{
	content:' - ';
	margin-left:.4em;
}

.title_h2{
	font-size:1.4em;
}
.title_h3{
	font-size:1.2em;
}
@media(min-width:1024px){
	.title_h2{
		font-size:1.6em;
	}
	.title_h3{
		font-size:1.3em;
	}
}

/* ==================================================
   共通：セクション区切り（曲線）
================================================== */
.section_curve{
	position:relative;
	--curve-next-bg:#f5f7fa;
	--curve-height:48px;
	padding-bottom:calc(3rem + var(--curve-height))!important;
}
.section_curve::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height:var(--curve-height);
	background:var(--curve-next-bg);
	clip-path:ellipse(75% 100% at 50% 100%);
	pointer-events:none;
}
@media(min-width:768px){
	.section_curve{
		--curve-height:80px;
	}
}
@media(min-width:1024px){
	.section_curve{
		--curve-height:110px;
	}
}

/* ==================================================
   共通：セクション区切り（斜め）
================================================== */
.section_diagonal{
	position:relative;
	--diagonal-next-bg:#fff;
	--diagonal-height:50px;
	padding-bottom:calc(3rem + var(--diagonal-height))!important;
}
.section_diagonal::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height:var(--diagonal-height);
	background:var(--diagonal-next-bg);
	clip-path:polygon(0 100%,100% 0,100% 100%);
	pointer-events:none;
}
@media(min-width:768px){
	.section_diagonal{
		--diagonal-height:80px;
	}
}
@media(min-width:1024px){
	.section_diagonal{
		--diagonal-height:110px;
	}
}

@media (min-width: 1024px) {
    #global_nav > .menu-item-has-children > .menu_link {
        padding-right: 24px;
    }
    #global_nav > .menu-item-has-children > .menu_link::after {
		width:24px;
		height:24px;
        mask-size: 0.7em auto;
    }
}

.top_service_items .arrow-right_bottom::after{
	right: .4em;
	bottom: .4em;
	width: 2em;
	height: 2em;
	opacity:.2;
}

/* ==================================================
   TOP：ABOUT US / サービス画像
================================================== */
.service_wrapper_01 .top_service_item img{
	transition:transform .4s ease;
}
.service_wrapper_01 .top_service_item:nth-child(5n+1) img{
	border-radius:12% 38% 18% 30% / 18% 16% 35% 30%;
}
.service_wrapper_01 .top_service_item:nth-child(5n+2) img{
	border-radius:38% 12% 32% 16% / 22% 35% 15% 30%;
}
.service_wrapper_01 .top_service_item:nth-child(5n+3) img{
	border-radius:16% 35% 10% 42% / 36% 16% 34% 14%;
}
.service_wrapper_01 .top_service_item:nth-child(5n+4) img{
	border-radius:32% 16% 40% 12% / 16% 38% 18% 36%;
}
.service_wrapper_01 .top_service_item:nth-child(5n) img{
	border-radius:10% 42% 18% 36% / 30% 14% 40% 18%;
}
@media(hover:hover) and (pointer:fine){
	.service_wrapper_01 .top_service_item a:hover img{
		transform:scale(1.06);
	}
}

/* ==================================================
   TOP：SERVICES
================================================== */
#top_services{
	background:#f5f7fa;
}
#top_services .top_service_items{
	align-items:stretch;
}
#top_services .top_service_item{
	display:flex;
}
#top_services .top_service_link{
	position:relative;
	width:100%;
	height:100%;
	min-height:180px;
	border:1px solid #e2e9f0;
	border-radius:8px;
	background:#fff;
	color:#344255;
	gap:1rem;
	transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,transform .35s ease;
	overflow:hidden;
}
#top_services .top_service_no{
	position:absolute;
	left:20px;
	bottom:.18em;
	z-index:0;
	width:auto;
	font-size:7rem;
	line-height:1;
	opacity:.15;
	pointer-events:none;
}
#top_services .top_service_link>span:not(.top_service_no){
	position:relative;
	z-index:1;
}
#top_services .top_service_link .title_h3{
	color:#273b51;
	line-height:1.5;
}
#top_services .top_service_link .std{
	color:#65788a;
	line-height:1.9;
}
/* TOP：SERVICES（768px～） */
@media(min-width:768px){
	#top_services .top_service_link{
		gap:1.5rem;
		min-height:200px;
		padding:2rem!important;
	}
	#top_services .top_service_no{
		left:30px;
		font-size:8rem;
	}
}

/* TOP：SERVICES（1024px～） */
@media(min-width:1024px){
	#top_services .top_service_link{
		min-height:230px;
	}
	#top_services .top_service_item:first-child .top_service_link{
		min-height:190px;
	}
	#top_services .top_service_no{
		font-size:9rem;
	}
}
/* TOP：SERVICES / ホバー */
@media(hover:hover) and (pointer:fine){
	#top_services .top_service_link:hover{
		background:#fff;
		border-color:#b8ccdd;
		box-shadow:0 12px 30px rgba(45,75,105,.1);
		transform:translateY(-4px);
	}
}

/* ==================================================
   TOP：OUR STRENGTHS
================================================== */
#top_strengths{
	background:#fff;
}
#top_strengths .top_strength_items{
	align-items:stretch;
}
#top_strengths .top_strength_item{
	display:flex;
}
#top_strengths .top_strength_item>div{
	position:relative;
	width:100%;
	border-top:2px solid #c2d3e1;
	background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%);
}
#top_strengths .top_strength_item .title_en{
	margin-bottom:1.5rem;
	font-size:4.5rem;
	line-height:1;
	opacity:.2;
}
#top_strengths .top_strength_item .title_h3{
	margin-bottom:1.5rem;
	line-height:1.7;
}
#top_strengths .top_strength_item .std{
	margin-bottom:0;
	line-height:2;
}
#top_strengths .top_strength_item>div::after{
	content:"";
	position:absolute;
	top:-2px;
	left:0;
	width:35%;
	height:2px;
	background:#b4c8d9;
}
/* TOP：OUR STRENGTHS（768px～） */
@media(min-width:768px){
	#top_strengths .top_strength_item>div{
		padding:3rem 2rem;
	}
	#top_strengths .top_strength_item .title_en{
		font-size:5.5rem;
	}
}
/* TOP：OUR STRENGTHS（1024px～） */
@media(min-width:1024px){
	#top_strengths .top_strength_item>div{
		padding:3rem 1.5rem;
	}
	#top_strengths .top_strength_item .title_en{
		font-size:6rem;
	}
}

/* ==================================================
   TOP：WORKS / ホームページ制作
================================================== */
#top_works{
	background:#f5f7fa;
}
.top_works_image{
	overflow:hidden;
	aspect-ratio:16/9;
	border:4px solid #777;
	background:#f1f4f8;
}
#top_works .top_works_other_image{
	border:1px solid #aaa;
}
#top_works .top_works_image img{
	width:100%;
	height:100%;
	object-fit:contain;
	transition:transform .4s ease;
}
@media(hover:hover) and (pointer:fine){
	#top_works .top_works_link:hover img{
		transform:scale(1.04);
	}
}

/* ==================================================
   TOP：COMPANY
================================================== */
#top_company{
	background:#fff;
	overflow:hidden;
}
#top_company .top_company_contents{
	position:relative;
}
#top_company .top_company_visual{
	position:relative;
}
#top_company .top_company_visual_inner{
	position:relative;
	padding:1rem .75rem .75rem 0;
}
#top_company .top_company_visual_inner::before{
	content:"";
	position:absolute;
	top:0;
	right:0;
	width:78%;
	height:88%;
	background:linear-gradient(135deg,#eef4fa 0%,#f7fafc 100%);
	border-radius:2rem;
}
#top_company .top_company_visual_inner::after{
	content:"";
	position:absolute;
	left:1rem;
	bottom:0;
	width:100%;
	height:100%;
	border:1px solid #d9e4ee;
	border-radius:1.5rem;
	pointer-events:none;
}
#top_company .top_company_figure{
	position:relative;
	z-index:1;
	overflow:hidden;
	margin:0;
	aspect-ratio:4/3;
	border-radius:1.25rem;
	background:#f3f6fa;
	box-shadow:0 18px 40px rgba(39,59,81,.08);
}
#top_company .top_company_figure img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:50% 50%;
	transition:transform .5s ease;
}
#top_company .top_company_text{
	position:relative;
	background:#fff;
	border:1px solid #e3ebf2;
	border-radius:1.25rem;
	box-shadow:0 10px 30px rgba(39,59,81,.05);
	padding:1.5rem!important;
}
#top_company .top_company_text::before{
	content:"";
	position:absolute;
	top:-1px;
	left:1.5rem;
	width:56px;
	height:1px;
	background:#4d6f96;
}
#top_company .top_company_text .title_h3{
	line-height:1.6;
}
#top_company .top_company_text .std{
	line-height:2;
}
#top_company .top_company_text .std + .std{
	margin-top:1rem;
}
#top_company.section_curve{
	padding-bottom:calc(5rem + var(--curve-height))!important;
}
@media(min-width:768px){
	#top_company{
		padding-top:5rem!important;
		padding-bottom:5rem!important;
	}
	#top_company .top_company_visual_inner{
		padding:1.5rem 1.5rem 1.5rem 0;
	}
	#top_company .top_company_visual_inner::before{
		width:80%;
		height:86%;
		border-radius:2.5rem;
	}
	#top_company .top_company_visual_inner::after{
		left:1.5rem;
		border-radius:1.75rem;
	}
	#top_company .top_company_figure{
		border-radius:1.5rem;
	}
	#top_company .top_company_text{
		padding:2rem!important;
		border-radius:1.5rem;
	}
}
@media(min-width:1024px){
	#top_company .top_company_visual_inner{
		padding:1.75rem 2rem 1.5rem 0;
	}
	#top_company .top_company_figure{
		aspect-ratio:5/4;
	}
	#top_company .top_company_text{
		margin-left:-2rem;
	}
}
@media(hover:hover) and (pointer:fine){
	#top_company .top_company_visual:hover .top_company_figure img{
		transform:scale(1.04);
	}
}

/* ==================================================
   TOP：NEWS
================================================== */
#top_news{
	background:#f5f7fa;
}
#top_news .top_news_item{
	border-bottom:1px solid #dce5ed;
}
#top_news .top_news_item:first-child{
	border-top:1px solid #dce5ed;
}
#top_news .top_news_link{
	color:inherit;
	transition:background .3s ease;
}
#top_news .top_news_date{
	font-size:.85rem;
	white-space:nowrap;
}
#top_news .top_news_category{
	padding:.35em .8em;
	border:1px solid #c5d5e3;
	border-radius:4px;
	font-size:.75rem;
	text-align:center;
}
#top_news .top_news_title{
	line-height:1.7;
}
#top_news .top_news_arrow{
	transition:transform .3s ease;
}
@media(max-width:767px){
	#top_news .top_news_link{
		flex-wrap:wrap;
		gap:.5rem 1rem;
	}
	#top_news .top_news_title{
		flex-basis:100%;
	}
	#top_news .top_news_arrow{
		display:none;
	}
}
@media(hover:hover) and (pointer:fine){
	#top_news .top_news_link:hover{
		background:rgba(255,255,255,.7);
	}
	#top_news .top_news_link:hover .top_news_arrow{
		transform:translate(3px,-3px);
	}
}

/* ==================================================
   TOP：CONTACT
================================================== */
#top_contact{
	background:#eaf2f9;
}
#top_contact .top_contact_action{
	display:flex;
}
#top_contact .top_contact_action a{
	width:100%;
	min-height:120px;
	border:1px solid #cbdce9;
	border-radius:12px;
	background:#fff;
	color:#344c67;
	transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
}
#top_contact .top_contact_action .svg_icon{
	font-size:3rem;
}
@media(min-width:768px){
	#top_contact .top_contact_action a{
		min-height:128px;
	}
}
@media(hover:hover) and (pointer:fine){
	#top_contact .top_contact_action a:hover{
		border-color:#92b5d0;
		box-shadow:0 12px 30px rgba(45,75,105,.1);
		transform:translateY(-4px);
	}
}

/* ==================================================
   SERVICE：各事業共通
================================================== */
.service_item{
	position:relative;
}
.service_item .container{
	max-width:1200px;
}
.service_item_visual{
	position:relative;
}
.service_item_visual::before{
	content:"";
	position:absolute;
	top:0;
	right:0;
	width:65%;
	height:75%;
	border-radius:30% 12% 25% 15%;
	background:#e5edf5;
	pointer-events:none;
}
.service_item_visual img{
	position:relative;
	display:block;
	width:100%;
	max-width:420px;
	height:auto;
	aspect-ratio:1;
	object-fit:cover;
	margin:auto;
	border-radius:14% 35% 12% 28% / 25% 14% 32% 16%;
	box-shadow:0 18px 45px rgba(39,59,81,.1);
}
.service_item_text{
	position:relative;
}
.service_item .title_en{
	opacity:.65;
}
.service_item .title_h3{
	line-height:1.7;
	margin-bottom:1.5rem;
}
.service_item .std{
	line-height:2;
}
/* ==================================================
   SERVICE：背景色
================================================== */
.service_item:nth-of-type(odd){
	background:#fff;
}
.service_item:nth-of-type(even){
	background:#f5f7fa;
}
/* ==================================================
   SERVICE：画像の切り抜きバリエーション
================================================== */
#service_song .service_item_visual img{
	border-radius:32% 12% 28% 16% / 18% 35% 14% 30%;
}
#service_movie .service_item_visual img{
	border-radius:12% 30% 16% 38% / 32% 15% 28% 12%;
}
#service_system .service_item_visual img{
	border-radius:28% 16% 35% 12% / 15% 30% 12% 36%;
}
#service_print .service_item_visual img{
	border-radius:16% 38% 12% 28% / 35% 12% 30% 15%;
}
/* ==================================================
   SERVICE：PCレイアウト
================================================== */
@media(min-width:1024px){
	#service_song .service_item_visual,
	#service_system .service_item_visual{
		order:2;
	}
	#service_song .service_item_text,
	#service_system .service_item_text{
		order:1;
	}
	.service_item_text{
		padding:2rem!important;
	}
}

/* ==================================================
   WEB：INTRO
================================================== */
#web_intro .container{
	max-width:1000px;
}
#web_intro .title_h2{
	line-height:1.6;
}
#web_intro .std{
	line-height:2;
}
/* ==================================================
   WEB：CONCEPT
================================================== */
#web_concept .container{
	max-width:1000px;
}
#web_concept .title_h2{
	line-height:1.6;
}
#web_concept .std{
	line-height:2;
}
/* ==================================================
   WEB：FEATURES
================================================== */
#web_features .web_feature_item{
	height:100%;
	box-sizing:border-box;
	background:#f5f7fa;
	border-radius:20px;
}
#web_features .web_feature_item .title_en{
	opacity:.55;
}
#web_features .web_feature_item .std{
	line-height:1.9;
}
/* ==================================================
   WEB：QUALITY WEB DESIGN
================================================== */
#web_quality{
	position:relative;
	background:#fff;
}
#web_quality .web_quality_inner{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:clamp(2rem,5vw,4rem)!important;
	border:4px solid transparent;
	border-radius:30px;
	background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#a91e36,#e85b62 55%,#b5223a) border-box;
	box-shadow:0 20px 55px rgba(150,30,55,.16);
}
#web_quality .web_quality_inner::before{
	content:"";
	position:absolute;
	z-index:-1;
	top:-90px;
	right:-90px;
	width:240px;
	height:240px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(232,91,98,.15),transparent 70%);
	pointer-events:none;
}
#web_quality .web_quality_inner .title_en{
	color:#b32640;
	letter-spacing:.15em;
}
#web_quality .web_quality_inner .title_h2{
	color:#333;
	line-height:1.6;
}
#web_quality .web_quality_inner .std{
	line-height:1.9;
}
#web_quality .web_quality_inner .more_link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:1rem 2rem;
	border-radius:50px;
	background:#b32640;
	color:#fff;
	box-shadow:0 8px 22px rgba(150,30,55,.2);
	transition:background .3s,transform .3s,box-shadow .3s;
}
@media(hover:hover){
	#web_quality .web_quality_inner .more_link:hover{
		background:#8e1d33;
		color:#111;
		transform:translateY(-3px);
		box-shadow:0 12px 28px rgba(150,30,55,.3);
	}
}
@media(max-width:767px){
	#web_quality .web_quality_inner{
		border-width:3px;
		border-radius:20px;
	}
	#web_quality .web_quality_inner .more_link{
		width:100%;
		box-sizing:border-box;
		padding:1rem;
	}
}
/* ==================================================
   WEB：境界装飾との重なり調整
================================================== */
#web_intro .container,
#web_concept .container,
#web_features .container,
#web_works .container,
#web_quality .container{
	position:relative;
	z-index:1;
}

/* ==================================================
   SONG：INTRO
================================================== */
#song_intro{
	background:#fff;
}
#song_intro .container{
	max-width:1000px;
}
#song_intro .title_h2{
	line-height:1.6;
}
/* ==================================================
   SONG：CONCEPT
================================================== */
#song_concept .container{
	max-width:1000px;
}
#song_concept .title_h2{
	line-height:1.6;
}
/* ==================================================
   SONG：SCENES
================================================== */
#song_scenes{
	background:#fff;
}
.song_scene_item{
	position:relative;
	height:100%;
	box-sizing:border-box;
	overflow:hidden;
	background:#f5f7fa;
	border:1px solid #e6ebf0;
	border-radius:.2em;
	transition:box-shadow .3s,border-color .3s;
}
.song_scene_item::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:rgb(105,135,158);
}
.song_scene_item .title_en{
	color:#b32640;
	opacity:.75;
}
.song_scene_item .title_h3{
	line-height:1.6;
}
.song_scene_item p:last-child{
	line-height:1.9;
}
/* ==================================================
   SONG：MUSIC
================================================== */
#song_music .song_music_item{
	position:relative;
	height:100%;
	box-sizing:border-box;
	background:#fff;
	border:1px solid #e8dce0;
	border-radius:20px;
	box-shadow:0 10px 30px rgba(90,40,50,.06);
}
#song_music .song_music_no{
	margin:0 0 1rem;
	color:#b32640;
	font-size:.8rem;
	font-weight:bold;
	letter-spacing:.15em;
}
#song_music .song_music_item .title_h3{
	line-height:1.5;
	margin-bottom:1.5rem;
}
#song_music .song_music_artist{
	margin:0 0 1.5rem;
	color:#777;
	font-size:.85rem;
	letter-spacing:.05em;
}
#song_music .song_audio_player{
	display:block;
	width:100%;
	max-width:100%;
	margin-top:1.5rem;
	accent-color:#b32640;
}
/* ==================================================
   SONG：STUDIO RMD
================================================== */
#song_contact{
	background:#fff;
}
#song_contact .song_contact_inner{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:clamp(2rem,5vw,4rem)!important;
	border:4px solid transparent;
	border-radius:30px;
	background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#235a91,#6bb5e6 55%,#245c99) border-box;
	box-shadow:0 20px 55px rgba(30,85,145,.16);
}
#song_contact .song_contact_inner::before{
	content:"";
	position:absolute;
	z-index:-1;
	top:-90px;
	right:-90px;
	width:240px;
	height:240px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(75,160,220,.16),transparent 70%);
	pointer-events:none;
}
#song_contact .song_contact_inner .title_en{
	color:#286da5;
	letter-spacing:.15em;
}
#song_contact .song_contact_inner .title_h2{
	color:#2b4055;
	line-height:1.6;
}
#song_contact .song_contact_inner img{
	display:block;
	width:100%;
	max-width:580px;
	height:auto;
	margin:0 auto;
}
#song_contact .song_contact_inner .more_link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:1rem 2rem;
	border-radius:50px;
	background:#245c99;
	color:#fff;
	box-shadow:0 8px 22px rgba(30,85,145,.22);
	transition:background .3s,transform .3s,box-shadow .3s;
}
@media(hover:hover){
	#song_contact .song_contact_inner .more_link:hover{
		background:#174575;
		color:#222;
		transform:translateY(-3px);
		box-shadow:0 12px 28px rgba(30,85,145,.3);
	}
}
@media(max-width:767px){
	#song_contact .song_contact_inner{
		border-width:3px;
		border-radius:20px;
	}
	#song_contact .song_contact_inner .more_link{
		width:100%;
		box-sizing:border-box;
		padding:1rem;
	}
}

/* ==================================================
   SONG：境界装飾との重なり調整
================================================== */
#song_intro .container,
#song_concept .container,
#song_scenes .container,
#song_music .container,
#song_contact .container{
	position:relative;
	z-index:1;
}

/* ==================================================
   PRINT：ITEMS
================================================== */
#print_items .print_item{
	position:relative;
	height:100%;
	box-sizing:border-box;
	overflow:hidden;
	background:#f5f7fa;
	border:1px solid #f0dfda;
	box-shadow:0 8px 25px rgba(100,55,45,.04);
}
#print_items .print_item::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:4px;
	background:linear-gradient(90deg,#b73448,#ef906a);
}


/* ==================================================
   PRINT：FEATURES
================================================== */
#print_features .print_feature_item{
	position:relative;
	height:100%;
	box-sizing:border-box;
	background:#fff;
	border:1px solid #f0dfda;
	box-shadow:0 10px 30px rgba(100,55,45,.05);
}
#print_features .print_feature_item .title_en{
	color:#b73448;
	opacity:.85;
}
#print_features .print_feature_item .title_h3{
	line-height:1.6;
}
#print_features .print_feature_item p:last-child{
	line-height:1.9;
}
/* ==================================================
   PRINT：CONTACT
================================================== */
#print_contact .print_contact_inner{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:clamp(2rem,5vw,4rem)!important;
	border:4px solid transparent;
	background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#b73448,#ef906a 55%,#b73448) border-box;
	box-shadow:0 20px 55px rgba(183,52,72,.16);
}
#print_contact .print_contact_inner::before{
	content:"";
	position:absolute;
	z-index:-1;
	top:-90px;
	right:-90px;
	width:240px;
	height:240px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(239,144,106,.17),transparent 70%);
	pointer-events:none;
}
#print_contact .print_contact_inner .more_link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:1rem 2rem;
	border-radius:50px;
	background:#b73448;
	color:#fff;
	box-shadow:0 8px 22px rgba(183,52,72,.22);
	transition:background .3s,transform .3s,box-shadow .3s;
}
/* ==================================================
   PRINT：境界装飾との重なり調整
================================================== */
#print_intro .container,
#print_concept .container,
#print_items .container,
#print_features .container,
#print_contact .container{
	position:relative;
	z-index:1;
}
/* ==================================================
   PRINT：ホバー
================================================== */
@media(hover:hover){
	#print_contact .print_contact_inner .more_link:hover{
		background:#932339;
		color:#222;
		transform:translateY(-3px);
		box-shadow:0 12px 28px rgba(183,52,72,.3);
	}
}
/* ==================================================
   PRINT：スマートフォン
================================================== */
@media(max-width:767px){
	#print_items .print_item,
	#print_features .print_feature_item{
		border-radius:16px;
	}
	#print_contact .print_contact_inner{
		border-width:3px;
		border-radius:20px;
	}
	#print_contact .print_contact_inner .more_link{
		width:100%;
		box-sizing:border-box;
		padding:1rem;
	}
}

/* ==================================================
   ABOUT：INTRO
================================================== */
#about_intro{
	background:#fff;
}
#about_intro .container{
	max-width:1000px;
}
#about_intro .title_h2{
	line-height:1.6;
}
#about_intro p:not(.title_en):not(.title_h2){
	line-height:2;
}
/* ==================================================
   ABOUT：PHILOSOPHY
================================================== */
#about_philosophy .container{
	max-width:1000px;
}
#about_philosophy .about_philosophy_inner{
	max-width:900px;
}
#about_philosophy .about_philosophy_inner p{
	line-height:2;
}
#about_philosophy .about_philosophy_message{
	font-size:clamp(1.5rem,3vw,2.25rem);
	letter-spacing:.1em;
}
/* ==================================================
   ABOUT：PROFILE
================================================== */
#about_profile{
	background:#fff;
}
#about_profile .about_profile_inner{
	max-width:1000px;
	border-top:3px solid #b32640;
}
#about_profile .about_profile_row{
	margin:0;
	border-bottom:1px solid #e2e7ed;
}
#about_profile .about_profile_row dt,
#about_profile .about_profile_row dd{
	box-sizing:border-box;
	padding:1.25rem 1.5rem;
	margin:0;
	line-height:1.9;
}
#about_profile .about_profile_row dt{
	width:100%;
	background:#f5f7fa;
	font-weight:bold;
}
#about_profile .about_profile_row dd{
	width:100%;
}
#about_profile .about_profile_row a{
	color:#285d91;
	text-decoration:underline;
	text-underline-offset:3px;
}
/* ==================================================
   ABOUT：HISTORY
================================================== */
#about_history .about_history_list{
	position:relative;
	max-width:850px;
	padding-left:2rem;
	border-left:2px solid #d4dce5;
}
#about_history .about_history_item{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	gap:.5rem 1.5rem;
	padding:0 0 2rem;
}
#about_history .about_history_item:last-child{
	padding-bottom:0;
}
#about_history .about_history_item::before{
	content:"";
	position:absolute;
	left:calc(-2rem - 7px);
	top:.5rem;
	width:12px;
	height:12px;
	box-sizing:border-box;
	border:3px solid #b32640;
	border-radius:50%;
	background:#fff;
	box-shadow:0 0 0 4px #f5f7fa;
}
#about_history .about_history_item time{
	width:100%;
	color:#b32640;
	font-weight:bold;
	letter-spacing:.05em;
}
#about_history .about_history_content{
	flex:1;
	line-height:1.9;
}
/* ==================================================
   ABOUT：ACCESS
================================================== */
#about_access{
	background:#fff;
}
#about_access .about_access_inner{
	box-sizing:border-box;
	border:1px solid #e2e7ed;
	background:#f5f7fa;
}
#about_access .about_access_inner a:not(.more_link){
	color:#285d91;
}

/* ==================================================
   ABOUT：境界装飾との重なり調整
================================================== */
#about_intro .container,
#about_philosophy .container,
#about_profile .container,
#about_history .container,
#about_access .container{
	position:relative;
	z-index:1;
}
/* ==================================================
   ABOUT：PC
================================================== */
@media(min-width:768px){
	#about_profile .about_profile_row dt{
		width:30%;
		background:transparent;
	}
	#about_profile .about_profile_row dd{
		width:70%;
	}
	#about_history .about_history_item{
		flex-wrap:nowrap;
	}
	#about_history .about_history_item time{
		width:120px;
		flex-shrink:0;
	}
}

/* ==================================================
   ABOUT：スマートフォン
================================================== */
@media(max-width:767px){
	#about_profile .about_profile_row dt{
		padding:1rem 1.25rem .5rem;
	}
	#about_profile .about_profile_row dd{
		padding:.75rem 1.25rem 1.25rem;
	}
	#about_history .about_history_list{
		margin-left:.5rem;
		padding-left:1.5rem;
	}
	#about_history .about_history_item::before{
		left:calc(-1.5rem - 7px);
	}
}

/* ==================================================
   PRIVACY：POLICY
================================================== */
#privacy_policy .privacy_policy_inner{
	box-sizing:border-box;
	background:#fff;
	border:1px solid #e2e7ed;
	box-shadow:0 12px 35px rgba(39,59,81,.05);
}
#privacy_policy .privacy_policy_inner>p:first-child{
	margin:0 0 2rem;
	line-height:2;
}
#privacy_policy .privacy_policy_item{
	padding:1.75rem 0;
	border-top:1px solid #e2e7ed;
}
#privacy_policy .privacy_policy_item .title_h3{
	font-size:1.1em;
	margin:0 0 1.25rem;
	padding:0 0 0 1rem;
	border-left:4px solid #345d87;
	line-height:1.6;
}
#privacy_policy .privacy_policy_item p,
#privacy_policy .privacy_policy_item li{
	line-height:1.95;
}
#privacy_policy .privacy_policy_item p:last-child{
	margin-bottom:0;
}
#privacy_policy .privacy_policy_item ul{
	margin:1rem 0 1.5rem;
	padding-left:1.75rem;
}
#privacy_policy .privacy_policy_item li{
	margin-bottom:.5rem;
}
/* ==================================================
   PRIVACY：事業者情報
================================================== */
#privacy_policy .privacy_company_info{
	border-top:2px solid #b32640;
}
#privacy_policy .privacy_company_info>div{
	border-bottom:1px solid #e2e7ed;
}
#privacy_policy .privacy_company_info dt,
#privacy_policy .privacy_company_info dd{
	width:100%;
	box-sizing:border-box;
	padding:1rem 1.25rem;
	margin:0;
	line-height:1.9;
}
#privacy_policy .privacy_company_info dt{
	background:#f5f7fa;
	font-weight:bold;
}
#privacy_policy .privacy_company_info a{
	color:#285d91;
	text-decoration:underline;
	text-underline-offset:3px;
}
/* ==================================================
   PRIVACY：境界装飾との重なり調整
================================================== */
#privacy_intro .container,
#privacy_policy .container{
	position:relative;
	z-index:1;
}
/* ==================================================
   PRIVACY：PC
================================================== */
@media(min-width:768px){
	#privacy_policy .privacy_company_info dt{
		width:28%;
	}
	#privacy_policy .privacy_company_info dd{
		width:72%;
	}
}
/* ==================================================
   PRIVACY：スマートフォン
================================================== */
@media(max-width:767px){
	#privacy_policy .privacy_policy_inner{
		border-radius:14px;
	}
	#privacy_policy .privacy_policy_item{
		padding:1.5rem 0;
	}
	#privacy_policy .privacy_policy_item .title_h3{
		padding-left:.75rem;
		border-left-width:3px;
	}
	#privacy_policy .privacy_company_info dt{
		padding:.75rem 1rem;
	}
	#privacy_policy .privacy_company_info dd{
		padding:.75rem 1rem 1rem;
	}
}

#footer_bottom{
	background:#fff;
}

@media (min-width: 1024px) {

	#header_title_logo{
		max-width:248px;
	}
	.scroll #header_title_logo{
		max-width:208px;
	}
	#global_nav .menu_span::before{
		margin:0 .4em 0 0;
	}
	#global_nav .menu_span::after{
		content:' - ';
		margin:0 0 0 .4em;
	}

	#global_nav .menu-item{
		text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff, 1px 1px 3px rgba(0, 0, 0, .4);
	}
	#global_nav .menu_span{
		font-weight:500;
		text-shadow: 1px 1px 0 #fff, -1px 1px 0 rgba(255,255,255, .7), 1px -1px 0 rgba(255,255,255, .7), -1px -1px 0 rgba(255,255,255, .7), 0 0 4px rgba(255,255,255, .4);
	}

}

/* ==================================================
   TOPICS：統合一覧ページネーション
================================================== */
.oneos_mix_pagination{
	margin:1.5rem auto 0;
}
.oneos_mix_pagination_list{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:.25rem;
	margin:0;
	padding:0;
	list-style:none;
}
.oneos_mix_pagination_list li{
	margin:0;
	padding:0;
	list-style:none;
}
.oneos_mix_pagination_list a,
.oneos_mix_pagination_list span.current,
.oneos_mix_pagination_list span.dots{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	box-sizing:border-box;
	border:1px solid #aaa;
	border-radius:50%;
	background:#fff;
	color:#555;
	font-size:.85rem;
	text-decoration:none;
	transition:background .3s,color .3s,border-color .3s;
}
.oneos_mix_pagination_list .current{
	border-color:#aaa;
	background:#fff;
	color:#555;
}
.oneos_mix_pagination_list .dots{
	border:none;
}
.oneos_mix_pagination_list a:hover{
	border-color:#b32640;
	color:#b32640;
}
/* ==================================================
   POST LIST：TYPE 1 記事の縦間隔
================================================== */
.post_list_type-1 > .post_list{
	padding-top:1rem!important;
	padding-bottom:1rem!important;
}