@charset "UTF-8";
/* CSS Document */



/****************************************************************************************************
初期設定
****************************************************************************************************/

/* IE8以下への対応 */
article, aside, figure, figcaption, footer, header, nav, section {
	display:block;
}
/* IE8以下への対応 */

.pcOnly {
	display:block;
}
span.pcOnly {
	display:inline;
}
.spOnly {
	display:none;
}

html,body{
	text-align:center;
	font-family:'Hiragino Sans', 'Noto Sans JP', 'ヒラギノ角ゴシック', Hiragino Kaku Gothic ProN, 'ヒラギノ角ゴ ProN W3', 'Noto Sans', Roboto, 'Droid Sans', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Meiryo, 'メイリオ', Verdana, 'ＭＳ Ｐゴシック', sans-serif;
	/*font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', YuGothic, 'Yu Gothic Medium', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;*/
	/*-webkit-font-smoothing:antialiased;
	-webkit-text-size-adjust:100%;*/
	font-weight:300;
	width:100%;
	min-width:1200px;
	color:#000;
	font-feature-settings:"palt";
	scroll-padding-top:100px;
}

	
* {
	box-sizing:border-box;
}
img {
	vertical-align:top;
}
strong {
	font-weight:600;
}
a {
	color:#000;
	text-decoration:none;
	-webkit-transition:opacity .3s;
	-moz-transition:opacity .3s;
	transition:opacity .3s;
}
a:hover {
	opacity:.6;
}

.colR {
	color: #FA0000;
}
.colW{
	color: #FFFFFF;
}

.mt25{
	margin-top: 25px;
}
.mt30{
	margin-top: 30px;
}
/* 2025/06/23追加 */
.mt04{
	margin-top: 0.4em;
}

.flex{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.flex-center{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.flex-between{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
}
.flex-between-spbk{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
}
.gap10{
	gap: 10px;
}
.gap20{
	gap: 20px;
}
.gap30{
	gap: 30px;
}

.lh2{
	line-height: 2.0;
}


/* clear fix */
.clearfix1:before,
.clearfix1:after {
	content:" ";
	display:table;
}
.clearfix1:after {
	clear:both;
}
.clearfix1 {
	*zoom:1;
}
/* clear fix */

.fadein {
	opacity: 0;
	transform : translate(0, 30px);
	transition : all 1000ms;
}
.fadein.noscl {
	opacity: 0;
	transform : translate(0, 0);
	transition : all 1000ms;
}


/****************************************************************************************************
header
****************************************************************************************************/
#header {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	min-width:1200px;
	padding:32px 60px 15px 60px;	
	/* padding:32px 60px 32px 60px; */
	text-align:left;
	z-index:100;
}
#header .header-inner{
  width: 930px;
  margin:0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
}

.settop {
	position:fixed !important;
	padding:32px 60px 15px 60px !important;
}
.wback {
	background:rgba(255,255,255,.9);
	transition: all 0.5s ease;
}
.header-inner #logo{
	margin-top: 10px;
}
.header-inner #logo img{
	width: 165px;
}

#logo a {
	display:block;
}
#gNavi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin:9px 0 0 0;
}
#gNavi ul {
}
#gNavi ul li {
	float:left;
	font-size:16px;
	font-family:'Century Gothic', 'Hiragino Sans', 'Noto Sans JP', 'ヒラギノ角ゴシック', Hiragino Kaku Gothic ProN, 'ヒラギノ角ゴ ProN W3', 'Noto Sans', Roboto, 'Droid Sans', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Meiryo, 'メイリオ', Verdana, 'ＭＳ Ｐゴシック', sans-serif;
	-webkit-font-smoothing:antialiased;
}
#gNavi ul li + li {
	margin-left:25px;
}
#gNavi ul li a {
	display:block;
	padding:0 0 1px 7px;
	border-left:1px solid #999;
}
#gNavi ul li a span {
	display:block;
	margin-top:8px;
	font-size:11px;
	font-weight:400;
	-webkit-font-smoothing:subpixel-antialiased;
}
/*#gNavi ul li a span:before {
	content:"\A";
	white-space:pre;
}*/
#gNavi ul li.contact {
}
#gNavi ul li.contact a {
	border-left:1px solid #D90000;
	color:#D90000;
}
#gNavi ul li.contact a span {
	color:#000;
}

a.ttb {
	position:relative;
}
a.ttb::after {
	position:absolute;
	top:0;
	left:-1px;
	content:'';
	width:1px;
	height:0%;
	background:#D90000;
	/*-webkit-transform:scale(1, 0);
	-moz-transform:scale(1, 0);
	transform:scale(1, 0);
	-webkit-transform-origin:left top;
	-moz-transform-origin:left top;
	transform-origin:left top;*/
	-webkit-transition:all .3s;
	-moz-transition:all .3s;
	transition:all .3s;
}
a.ttb:hover::after {
	/*-webkit-transform:scale(1, 1);
	-moz-transform:scale(1, 1);
	transform:scale(1, 1);
	-webkit-transform-origin:left bottom;
	-moz-transform-origin:left bottom;
	transform-origin:left bottom;*/
	height:100%;
}
a.ttb:hover {
	opacity:.6;
}
#menuBtn,
#sNavi {
	display:none;
}

/* 2025/07/28追加 */
.banner{
	display: block;
	padding:10px 0;
	margin:0 auto;
	text-align: center;
}

.banner-bottom{
	display: none;
}


/****************************************************************************************************
breadcrumblist
****************************************************************************************************/
#breadcrumblist {
	/* position:absolute;
	left:300px;
	top:200px; */
	font-size:13px;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height:1.0;
	text-align:left;
}
#breadcrumblist.active {
	pointer-events: none;
}
#breadcrumblist ol {
}
#breadcrumblist ol li {
	display:inline-block;
}
#breadcrumblist ol li:first-child:before {
	content:"●";
	color: #D90000;
}
#breadcrumblist ol li + li::before {
	content:"\00A0＞\00A0\00A0";
}

#breadcrumblist ol li a {
}
#corp + #contents #breadcrumblist,
#corp + #contents #breadcrumblist ol li a {
	color:#000;
}


/****************************************************************************************************
contents
****************************************************************************************************/
.ar-next {
	background:url(../img/common/ar-next.png) no-repeat left center;
	padding-left:20px;
}
.ar-prev {
	background:url(../img/common/ar-prev.png) no-repeat left center;
	padding-left:20px;
}
.ar-prev-r {
	background:url(../img/common/ar-prev.png) no-repeat right center;
	padding-right:20px;
}



/****************************************************************************************************
footer
****************************************************************************************************/
#footer {
	margin-top: 100px;
}
#footer div#f-logo {
}
#footer #fMark {
	position:relative;
	overflow:hidden;
	margin-top:60px;
}
#footer #fMark ul {
	position:relative;
	left:50%;
	float:left;
}
#footer #fMark ul li {
	position:relative;
	left:-50%;
	float:left;
}
#footer #fMark ul li + li {
	margin-left:1em;
}
#footer #fNavi {
	position:relative;
	overflow:hidden;
	margin-top:25px;
	font-size:15px;
	font-weight:300;
	line-height:1.6;
}
#footer #fNavi ul {
	position:relative;
	left:50%;
	float:left;
}
#footer #fNavi ul li {
	position:relative;
	left:-50%;
	float:left;
}
#footer #fNavi ul li + li {
	margin-left:1em;
}
#footer #fNavi ul li a {
	background:url(../img/common/ar-next.png) no-repeat left center;
	padding-left:20px;
}
#footer div#addr {
	margin-top:10px;
	font-size:13px;
	font-weight:300;
	line-height:2;
}
#footer div#tel {
}
#footer div#tel dl {
	display:inline-block;
	font-size:13px;
	font-weight:300;
	line-height:4;
}
#footer div#tel dl + dl {
	margin-left:20px;
}
#footer div#tel dl dt,
#footer div#tel dl dd {
	display:inline-block;
}
#footer div#tel dl dd a{
	color:#D90000;
}
#footer div#copyright {
	font-size:13px;
	font-weight:300;
	line-height:2;
}
#footer .contact-btn{
	margin:0 auto;
	margin-top: 70px;
	background: url(../img/top/solution-b4.png) no-repeat center center;
	width: 535px;
}
#footer .contact-btn .text-container {
	text-align: left;
	padding:30px 30px 20px 30px;
}
#footer .contact-btn .title {
	font-size: 1.5em;
	color: #fff; /* タイトルの色 */
	margin: 0;
}
#footer .contact-btn .subtitle {
	color: #fff; /* サブタイトルの色 */
	margin: 5px 0;
}
#footer .contact-btn .more {
	text-align: right;
	padding:0 30px 30px 0;
}

#footer .footer-inner{
	background:#FFF url(../img/common/f-bg.jpg) no-repeat center top;
  background-size:cover;
  margin-top:60px;
  padding: 30px 0 55px 0;
}


@media screen and (max-width: 1350px) {
	#logo {
	}
	#logo span {
		margin-left:30px;
	}
	#logo span {
		font-size:12px;
	}
	#gNavi ul li {
		font-size:15px;
	}
	#gNavi ul li + li {
		margin-left:20px;
	}
}

@media screen and (max-width: 1300px) {
	#logo span {
		margin-left:25px;
	}
	#logo span {
		font-size:11px;
	}
	#gNavi ul li {
		font-size:14px;
	}
	#gNavi ul li + li {
		margin-left:16px;
	}
}


@media screen and (max-width: 767px) {
	html,body{
		min-width:initial;
		min-width:auto;
		height:auto;
		scroll-padding-top:20vw;
	}
	img {
		width:100%;
		height:auto;
	}
	a {
		-webkit-transition:none;
		transition:none;
	}
	a:hover {
		opacity:1;
	}
	.pcOnly,
	span.pcOnly {
		display:none;
	}
	.spOnly {
		display:block;
	}
	a {
		text-decoration:none;
		-webkit-transition:opacity .3s;
		-moz-transition:opacity .3s;
		transition:opacity .3s;
	}
	a:hover {
		opacity:0.6;
	}

	.flex-between-spbk{
		display: block;
	}
	.gap20{
		gap:10px;
	}
	.mt30{
		margin-top: 1em;
	}


	/****************************************************************************************************
	header
	****************************************************************************************************/
	#header {
		position:fixed !important;
		min-width:initial;
		padding:3vw 3vw;
	}
	#header .header-inner{
		width: 100%;
	}
	.settop {
		position:fixed !important;
		padding:3vw 3vw !important;
	}
	.header-inner #logo img {
		width:36vw;
		display: none;
	}
	#logo span {
		margin:3.0vw 0 0 3vw;
		font-size:1.866vw;
	}
	.header-inner #logo{
		margin-top: 0;
	}
	#gNavi {
		display:none;
	}
	#menuBtn {
		display:block;
		float:right;
		width:8vw;
		margin:0;
		background-color: rgba(255, 255, 255, .9);
    padding: 2px;
	}

	#breadcrumblist ol li {
		padding: 2px 0;
	}	

	/* 2025/07/28追加 */
	.banner{
		display:none;
	}
	.banner-bottom{
		display: block;
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 1000;
		width: 100vw;
	}
	/****************************************************************************************************
	サブナビ
	****************************************************************************************************/
	#sNavi {
		position: fixed;
		width: 100vw;
		height: 100%;
		top: 0;
		right: 0;
		z-index: 6000;
		overflow: scroll;
		background:rgba(255,255,255,0.95);
		border-left:10px solid #555555;
		text-align: left;
		display:none;
	}
	#sNaviWrap {
		contents:'';
		display:block;
		position:fixed;
		width:100%;
		height:100%;
		left:0;
		top:0;
		z-index:5000;
	}
	#sNavi-btn {
		position:absolute;
		right:0;
		top:0;
		padding:3vw 4vw;
		background:#555555;
	}
	#closeBtn {
		float:right;
		width:7.4vw;
		text-align:center;
	}
	#closeBtn a {
		color:#FFF;
		font-size:2.13vw;
		letter-spacing:0;
		text-decoration:none;
	}
	#closeBtn a span {
		display:block;
		margin:2vw 0 0 0;
		color:#FFF !important;
	}
	#sNavi li a {
		color: #222222;
		text-decoration: none;
	}
	#sNavi li a.select {
		color:#00468C;
		font-weight:bold;
	}
	#sNavi li a.pickup {
		color:#F00;
	}
	#sNavi a span {
		display:inline-block;
		color: #D90000;
	}
	#sNavi #close {
		font-size: 2.400vw;
		line-height: 1.6;
		font-weight: bolder;
	}
	#sNavi > ul > li {
		padding:5vw;
	}
	#sNavi > ul > li > h3 {
		margin-top:0;
	}
	#sNavi > ul > li > h3 + h3,
	#sNavi > ul > li > h3 + h4,
	#sNavi > ul > li > h4 + h4 {
		margin-top:0.5em;
	}
	#sNavi > ul > li > h3 {
		font-size:5.333vw;
		font-weight:normal;
		line-height:1.4;
	}
	#sNavi > ul > li > h4 {
		font-size:4.000vw;
		font-weight:normal;
		line-height:1.6;
	}
	#sNavi > ul > li > div {
		margin-top:0;
		color:#AAA;
		font-size:2.933vw;
		font-weight:normal;
		line-height:2.0;
	}
	#sNavi > ul > li > h3 + ul {
		margin-top:3vw;
		font-size:4.266vw;
		line-height:1.6;
	}
	#sNavi > ul > li > h3 + ul li + li {
		margin-top:1vw;
	}
	#sNavi > ul > li > h3 a {
		background:url(../img/common/ar-next-sp.png) no-repeat left 0.3em;
		background-size:4.0vw;
		padding-left:4.8vw;
		display:inline-block;
	}
	#sNavi > ul > li > h3 + ul li a {
		background:url(../img/common/ar-next-sp.png) no-repeat left center;
		background-size:4.0vw;
		padding-left:4.8vw;
	}
	#sNavi > ul > li + li {
		border-top: 1px dotted rgba(0,0,0,0.4);
	}



	/****************************************************************************************************
	contents
	****************************************************************************************************/
	.ar-next {
		background:url(../img/common/ar-next-sp.png) no-repeat left center;
		background-size:2.8vw;
		padding-left:3.5vw;
	}
	.ar-prev {
		background:url(../img/common/ar-prev-sp.png) no-repeat left center;
		background-size:2.8vw;
		padding-left:3.5vw;
	}
	.ar-prev-r {
		background:url(../img/common/ar-prev-sp.png) no-repeat right center;
		background-size:2.8vw;
		padding-right:3.5vw;
	}
	
	
	
	/****************************************************************************************************
	footer
	****************************************************************************************************/
	#footer {
    margin-top: 46px;
	}
	#footer .footer-inner{
		margin-top:10vw;
		padding:5px 0;
		background:url(../img/common/f-bg.jpg) no-repeat center top;
		background-size:300vw auto;
	}

	#footer div#f-logo {
		margin:0 auto;
	}
	#footer div#f-logo img{
		width:80vw;
	}
	#footer .contact-btn{
		margin-top: 5vw;
	}
	#footer .contact-btn {
		margin: 0 auto;
		margin-top: 5vw;
		background: url(../img/top/solution-b4.png) no-repeat center left; background-size: cover;
		width: 90vw;
		height: auto;
	}
	#footer .contact-btn .text-container {
		text-align: left;
		padding:10px 10px 0px 10px;
	}
	#footer .contact-btn p.title {
		font-size: 4.8vw;
	}
	#footer .contact-btn p.subtitle {
		font-size:2.933vw;
	}
	#footer .contact-btn .more {
		text-align: right;
		padding:10px 10px 10px 0;
		font-size: 3.466vw;
	}
	#footer #fMark {
		margin-top:5vw;
	}
	#footer #fMark ul {
		position:relative;
		left:50%;
		float:left;
	}
	#footer #fMark ul li + li {
		margin-left:1em;
	}
	#footer #fNavi {
		margin-top:5vw;
		font-size:2.933vw;
		font-weight:300;
	}
	#footer #fNavi ul {
		position:relative;
		left:50%;
		float:left;
	}
	#footer #fNavi ul li + li {
		margin-left:1em;
	}
	#footer #fNavi ul li a {
		background:url(../img/common/ar-next-sp.png) no-repeat left center;
		background-size:2.8vw;
		padding-left:3.5vw;
	}
	#footer div#addr {
		margin-top:2vw;
		font-size:2.400vw;
		font-weight:300;
	}
	#footer div#tel {
	}
	#footer div#tel dl {
		display:inline-block;
		font-size:2.400vw;
		font-weight:300;
		line-height:1.6;
	}
	#footer div#tel dl + dl:before {
		content:none;
	}
	#footer div#tel dl dt,
	#footer div#tel dl dd {
		display:inline-block;
	}
	#footer div#tel dl dd a {
		color:#D90000;
	}
	#footer div#copyright {
		margin-top:2vw;
		font-size:2.400vw;
		font-weight:300;
		line-height:1.6;
	}

}


@media screen and (max-width: 767px) and (orientation: landscape) {
	/****************************************************************************************************
	header
	****************************************************************************************************/
	#header {
		position:fixed !important;
		min-width:initial;
		padding:2vw 3vw;
	}
	.settop {
		position:fixed !important;
		padding:2vw 3vw !important;
	}
	#logo img {
		width:40vw;
	}
	#logo span {
		margin:2.4vw 0 0 3vw;
		font-size:1.866vw;
	}
	#gNavi {
		display:none;
	}
	/* #menuBtn {
		display:block;
		float:right;
		width:7.5vw;
		margin:0;
	} */
	
}