@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap');
@import url("https://use.typekit.net/eyj1ccb.css");
/*
Theme Name:tanazawa2026
*/

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17

*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
*{box-sizing: border-box;}
body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

ul,ol {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#222222;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#fff;
    color:#222222; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
img{
	vertical-align:bottom;
	max-width: 100%;
}


/************** layout base ********************/

.clearfix{
overflow:hidden;
}
.clear:after{
	content:"";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}


a{color:#222222;
	text-decoration:none;
}
a:hover{
}

/*ボタンrollover*/
a:hover{
-moz-opacity:0.60;
opacity:0.60;}

sup {
	line-height: 100%;
	font-size:10px;
	vertical-align: 0.4em;
}
sub{
	line-height: 100%;
	font-size:10px;
	vertical-align: -0.1em;
}

.txtLeft{
text-align:left;
}
.txtRight{
text-align:right;
}
.txtCenter{
text-align:center;
}
.fw{font-weight:bold !important;}
.f10{ font-size:10px !important;}
.f11{ font-size:11px !important;}
.f12{ font-size:12px !important;}
.f13{ font-size:13px !important;}
.f14{ font-size:14px !important;}
.f15{ font-size:15px !important;}
.f16{ font-size:16px !important;}
.f17{ font-size:17px !important;}
.f18{ font-size:18px !important;}

.txtRed{ color:#e60012;}
.note{ color:#666666; font-size:12px;}

.fLeft{ float:left;}
.fRight{ float:right;}
.fNon{
	float:none !important;
}

.mTop0{ margin-top:0 !important;}
.mTop5{ margin-top:5px !important;}
.mTop10{ margin-top:10px !important;}
.mTop15{ margin-top:15px !important;}
.mTop20{ margin-top:20px !important;}
.mTop25{ margin-top:25px !important;}
.mTop30{ margin-top:30px !important;}
.mTop35{ margin-top:35px !important;}
.mTop40{ margin-top:40px !important;}
.mTop45{ margin-top:45px !important;}
.mTop50{ margin-top:50px !important;}

.mBtm0{ margin-bottom:0 !important;}
.mBtm5{ margin-bottom:5px !important;}
.mBtm10{ margin-bottom:10px !important;}
.mBtm15{ margin-bottom:15px !important;}
.mBtm20{ margin-bottom:20px !important;}
.mBtm25{ margin-bottom:25px !important;}
.mBtm30{ margin-bottom:30px !important;}
.mBtm35{ margin-bottom:35px !important;}
.mBtm40{ margin-bottom:40px !important;}
.mBtm45{ margin-bottom:45px !important;}
.mBtm50{ margin-bottom:50px !important;}
.mBtm60{ margin-bottom:60px !important;}
.mBtm100{ margin-bottom:100px !important;}

.pTop0{ padding-top:0 !important;}
.pTop5{ padding-top:5px !important;}
.pTop10{ padding-top:10px !important;}
.pTop15{ padding-top:15px !important;}
.pTop20{ padding-top:20px !important;}
.pTop25{ padding-top:25px !important;}
.pTop30{ padding-top:30px !important;}
.pTop35{ padding-top:35px !important;}
.pTop40{ padding-top:40px !important;}
.pTop45{ padding-top:45px !important;}
.pTop50{ padding-top:50px !important;}

.pBtm0{ padding-bottom:0 !important;}
.pBtm5{ padding-bottom:5px !important;}
.pBtm10{ padding-bottom:10px !important;}
.pBtm15{ padding-bottom:15px !important;}
.pBtm20{ padding-bottom:20px !important;}
.pBtm25{ padding-bottom:25px !important;}
.pBtm30{ padding-bottom:30px !important;}
.pBtm35{ padding-bottom:35px !important;}
.pBtm40{ padding-bottom:40px !important;}
.pBtm45{ padding-bottom:45px !important;}
.pBtm50{ padding-bottom:50px !important;}
.pBtm60{ padding-bottom:60px !important;}




main{
 overflow: hidden;
}
.inner{
  margin: 0 auto;
  width: min(92%, 1100px);
}
.inner1000{
  margin-inline: auto;
  width: min(92%, 1000px);
}
.flex{display: flex;}
@media screen and (min-width: 769px) {
  .spOnly, .sp{ display:none;}
  .pcFlex{		
  display: flex;
  justify-content: space-between;
			flex-flow: row wrap;
  }

}/*-PC only-*/
@media screen and (max-width: 768px) {
  .pcOnly, .pc{ display:none;}
  .inner{
			width: 90%;
  }
}/*spOnly*/

/************** layout base ********************/
html{
	scroll-behavior: smooth;
}
@media screen and (max-width: 768px) {
	html{
		scroll-padding-top: calc(70px + 20px);
	}	
} /* -SP- */
@media screen and (min-width: 769px) {
	html{
		scroll-padding-top: calc(140px + 20px);
	}		
} /* -PC only- */
body{
  position: relative;
  background:#ffffff;
  text-align:center;
  font-family:'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  line-height:1.2;
  font-weight: 400;
  box-sizing: border-box;
 padding-top: 140px !important;
}
#top{
 padding-top: 0 !important;
}
.fontG{
  font-family:'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}
.fontMin{
 font-family:"游明朝" , "Yu Mincho" ,"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" ,  "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" ,Garamond , "Times New Roman" , serif;
}
.fontAnna{
 font-family: "annabelle-jf", sans-serif;
font-weight: 400;
font-style: normal;
}
.fontDin{
font-family: "din-2014", sans-serif;
font-style: normal;
font-weight: 700;
}
div,p,dl{
  text-align:left;
}
p,dt,dd,li,td,th{
  color:#333;
  font-size:16px;
  line-height:1.7;
}
h1,h2,h3,h4,h5,h6{
  color:#222;
  font-size:16px;
  font-weight: 700;
  line-height: 1.2;
 text-align: left;
}
h1{
 font-size: 42px;
 text-align: left;
}
h2{
 font-size: 36px;
 font-family:"游明朝" , "Yu Mincho" ,"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" ,  "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" ,Garamond , "Times New Roman" , serif;
 text-align: center;
}

@media screen and (max-width: 768px) {
	body{
		font-family: 'Noto Sans JP', Roboto, “Droid Sans”, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;	
		-webkit-text-size-adjust: 100%;
		padding-top: 70px !important;
	}
img{
	height: auto;}

p,dt,dd,li,td,th{
font-size:14px;
line-height:1.5;
}
}/*-sp end-*/
/*------------------ list style----------------*/
.numberList{
	padding:0 0 0 18px;	
}
.numberList li{
	list-style:decimal outside;
	padding:0 0 5px 0;
}

.discList{
	padding:0 0 0 18px;
}
.discList li{
	list-style:disc outside;
	padding:0 0 2px 0;
}

.indentList li{
	padding-left:1em;
	text-indent:-1em;
}
.indentList li + li{
	margin-top: 5px;
}
.indentTxt{
 padding-left: 1em;
 text-indent: -1em;
}


/*****************  head ***********************/
header{
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  background: linear-gradient(90deg, #000000 0%, #0222a0 100%);
  width: 100%;
}
#top header{
 position: relative;
}
header .inner{ 
 position: relative;
	width: min(100% ,1120px);
  height: 140px;
}
#logo{
  padding: 32px 0 0;
  width: min(19vw,195px);
  aspect-ratio: 195 / 41;
 line-height: 0;
}
@media screen and (min-width: 769px) {
  header{
   /* width: min(100%, 1400px);
    margin-inline: auto;*/
    transform-style: preserve-3d;
  }
  header::before,
  header::after{
    content: "";
    position: absolute;
    display: block;
    width: 50vw;
    height: 100%;
    transform: translateZ(-1px);
  }
  header::before{
    inset: 0 auto 0 0;
    background-color: #000;
  }
  header::after{
    inset: 0 0 0 auto;
    background-color: #0222a0;
  }
}/*-PC only-*/
@media only screen and (min-width: 769px) and (max-width: 1380px){
	header >.inner{
						margin-right: 140px;
		max-width: calc(98% - 140px);
					}
}/*pc onlye*/
@media screen and (max-width: 768px) {/*----SP header----*/	
header{
 height: 70px;
}
header .inner{
	display: flex;
	align-items: center;
 padding: 5px 3%;
 text-align: left;
 height: 70px;
}
#logo{
 width: auto;
 max-width: 180px;
	padding: 0;
}
#spMenu{
 position: absolute;
 top:25px;
 right: 3vw;
 display: flex;
 align-items: flex-end;
	width:30px ;
	height: 25px;
 z-index: 2;
}
 #spMenu::before,
 #spMenu span::before,
  #spMenu span::after{
   content: "";
   display: block;
   background: #930007;
   width: 100%;
   height: 1px;
   position: absolute;
   top: 0;
   left: 0;
   -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out; 
 }
 #spMenu span::before{
  top: 10px;
 }
 #spMenu span::after{
  top: 20px;
 }
 #spMenu span{
  display: block;
  font-size: 10px;
  text-align: center;
 }
 #spMenu.active::before{
  opacity: 0;
 }
 #spMenu.active span::before,
 #spMenu.active span::after{
  top: 10px;
  bottom: 0;
 }
 #spMenu.active span::before{
  -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 }
 #spMenu.active span::after{
  left: auto;
  right: 0;
  -webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
 }
 #gNavi{
  position: absolute;
  top: -550%;
  left: 0;
  background: #fff;
  width: 100%;
 max-height: calc(100vh - 70px);
 overflow-y: auto;
 opacity: 0;
	 visibility: hidden;
  -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out;
 }
 #gNavi.active{
  height: auto;
 top:99%;
  opacity: 1;
	 visibility: visible;
	 background: #000
 }
}/*-SP-*/
/*****************  navi ***********************/
#gNavi{
}
#gNavi li a{
 display: block;
}
#gNavi .headerBtn a{
 display: flex;
 justify-content: center;
 align-items: center;
 background: transparent;
 border: 1px solid #fff;

	padding: 0 .5rem;
  width: 171px;
 height: 50px;
 color: #fff;
 font-size: 16px;
}
#gNavi .headerBtn + .headerBtn{
  margin-left: -1px;
}
#gNavi .headerBtn a::after{
 content: "";
 display: block;
 margin-left: 1em;
 border: #fff solid;
 border-width: 2px 2px 0 0;
 transform: rotate(45deg);
 width: 10px;
 height: 10px;
}
#gNaviContact a{
  background-color: #000000;
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
  font-size: 16px;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 769px) {
 #gNavi{
 }
  #gNaviTxts{	
    display: flex;
    align-items: flex-end;
			flex-flow: row wrap;
    gap:0 1.8em;
			height: 65px;
  }
  #gNaviTxts li{
		white-space: nowrap;
		font-size: 15px
	}
  #gNaviTxts li a{
    line-height: 1.4;
    text-align: center;
    color: #fff;
 }
  #gNaviTxts > li > a{
    padding:0 0 17px;
  }
	#gNaviTxts li.yt a{
		line-height: 0;
    padding:0 0 15px;
    height: 43px
	}
  #gNaviTxts li.yt a img{
    height: 100%;
    width: auto;
  }
	#gNaviTxts > li:has(ul){
    position: relative;
	}
	#gNaviTxts > li:has(ul) > a{
    display: flex;
    justify-content: center;
    align-items: center;
	}
	/*#gNaviTxts > li:has(ul) > a::after{
    content: "";
    display: block;
    margin-left: 1em;
    border: #930007 solid;
    border-width: 3px 3px 0 0;
    transform: rotate(135deg);
    width: 7px;
    aspect-ratio: 1 / 1;
	}*/
	#gNaviTxts > li > ul{
		display: none;
    position: absolute;
    top:calc(100% - 1px) ;
    left: 50%;
    transform: translateX(-50%);
    min-width: 95px;
    padding-block: 10px 15px;
		background:#021b80;
    transition: display 0.3s;
	}
	#gNaviTxts > li:hover > ul{
		display: block;
	}
	#gNaviTxts > li ul li a{
    padding: 10px 1em 10px 0;
    text-align: left;
    line-height: 1em;
    vertical-align: middle;
	}
	#gNaviTxts > li > ul li{
		transition: all .3s;
		font-size: 14px
	}
	#gNaviTxts > li > ul > li a::before{
    content: "";
    display: inline-block;
    margin-right: 7px;
    width: 8px;
    height: 2px;
    background-color: #930007;
	}
	#gNaviTxts > li > ul > li > ul{
    padding-left: 15px;
	}
	#gNaviTxts > li > ul > li > ul > li a{
		padding-block: 5px;
	}
	#gNaviTxts > li > ul > li > ul > li a::before{
    content: "";
    display: inline-block;
    width: 5px;
    height: 1px;
    background-color: #fff;
	}

  #gNaviItems{
    position: absolute;
			inset:20px 0 auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  #gNaviItems .headerBnr{
    margin-right: min(2.0vw,28px);
			width: min(21vw,290px);
  }
#gNavi .headerBtn a{
	padding: 0 .5rem;
  width:min(12.5vw, 171px);
 height: 50px;
 color: #fff;
 font-size: min(1.3vw,16px);
}
  #gNaviItems .headerLangage{
    margin-right:min(1.8vw, 25px);
    margin-left:min(1.7vw, 22px);
  }
	
	ul.bogo-language-switcher{
    display: flex;
    gap: 11px;
	}
	ul.bogo-language-switcher li{
	}
	#gNavi ul.bogo-language-switcher li a{
    display: grid;
    place-content: center;
		border: 1px solid #fff;
    border-radius: 50%;
    width: 32px;
		height: 32px;
		font-size: 13px;
    font-weight: 700;
		color: #fff;
	}
		#gNavi ul.bogo-language-switcher li a.current{
		background: #fff;
		color: #000b37;
	}

  #gNaviContact{
    position: absolute;
    left: 100%;
    top: 0;
    bottom: 0;
			width: 140px;
    height: 100%;
  }	
  #gNaviContact span::after{
    content: "";
    display: block;
    margin: 10px auto 0;
    width: 28px;
    height: 20px;
    background: url(images/ic_mail_wh.png) center center / 100% 100%;
  }
}/*-PC only-*/

@media screen and (max-width: 768px) {/*----SP gnavi----*/	
 #gNavi>ul li{
  border-top: 1px #fff solid;
	 padding: 5px
 }
 #gNavi>ul>li a,
 #gNavi>ul>li span{
  display: block;
  color: #fff;
  padding: 5px;
 }
	#gNavi>ul>li li{
		padding-left: 2rem
	}
	
	#gNavi>ul>li:nth-child(2) li:first-child{
		display: none
	}
	#gNavi>ul>li.contact {
		text-align: center;
	}
	#gNavi>ul>li.contact a{
		margin: auto
	}
	#gNavi .recruit{
		margin-top: 0
	}
	
	ul.bogo-language-switcher{
		margin-right: 35px;
		margin-top: 18px;
	}
	ul.bogo-language-switcher li{
		display: inline-block;
		margin-right: 5px
	}
	ul.bogo-language-switcher li a{
		border: 1px solid #ccc;
		padding: 1px 5px;
		font-size: 14px;
		display: block;
	}
	ul.bogo-language-switcher li a.current{
		background: #8A8A8A;
		color: #fff;
	}
	
	
	
	
}/*-SP-*/

/*****************  foot ***********************/
footer{
	position: relative;
 background-image:linear-gradient( to right, rgb(2,34,160) 0%, rgb(0,0,0) 57.85%);
	background-color: #000;
 padding-top: 110px;
	padding-bottom: 100px;
	margin-top: 45px;
}
@media screen and (min-width: 769px) {
	.footNavi{
		width: 65%;
	}
	.footInfo{
		width: 30%;
		align-items: flex-end;
	}
}/* //end for PC */

.footNavi{
	display: flex;
	flex-flow: row wrap;
	gap:40px min(5.7vw,80px);
}
.footNavi > ul:not(.btns) > li{
	margin-bottom: 1.25em;
}
.footNavi > ul:not(.btns) li a{
	position: relative;
	display: inline-block;
	padding-left: 16px;
	color: #fff;
	line-height: 1.4;
}
.footNavi > ul:not(.btns) li a::before{
	content: "";
	display: block;
	background: #930007;
	width: 9px;
	height: 2px;
	position: absolute;
	top: .7em;
	left: 0;
}
.footNavi > ul:not(.btns) ul{
	padding-left: 16px;
}
.footNavi > ul:not(.btns) ul li a{
	padding-left: 14px;
	line-height: 1.875;
}
.footNavi > ul:not(.btns) ul li a::before{
	width: 6px;
	background: #fff;
	top: 1em;
}

.footNavi .btns{
	width: 100%;
}
.footNavi .btns li a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:0 15px;
	border: 1px #fff solid;
	height: 65px;
	color: #fff;
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
}
.footNavi .btns li:not(.contact) a::after{
	content: "";
	display: block;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 11 17" fill="none"><path fill-rule="evenodd"  stroke="white" stroke-width="2px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M3.000,1.140 L9.001,7.629 L3.000,14.140 "/></svg>') no-repeat left top/100% auto;
 width: 11px;
 height:17px;
 position: absolute;
 right: 10px;
 top: 50%;
	margin-top: -6px;
}
.footNavi .btns li.contact a::before{
	content: "";
	display: block;
	background: url("images/ic_mail_wh.png") no-repeat left top/100% auto;
	width: 24px;
	height: 17px;
}
@media screen and (min-width: 769px) {
.footNavi .btns li{
	width: 48.7%;
}
}/*-PC only-*/

.footInfo{
		display: flex;
		flex-flow: column;
}
#footLogo{
	margin-bottom: 30px;
	max-width: 323px;
	line-height: 0;
}
.footInfo p{
	color: #fff;
	line-height: 1.7;
}
.footInfo p span{
	display: inline-block;
	margin-top: .8em;
}
footer small{
	margin-top: auto;
  display: block;
  color: #fff;
  font-size: 10px;
  text-align: center;
}

@media screen and (max-width: 768px) {/*----SP footer----*/	
footer{
 padding: 40px 0 30px;
}	
.footNavi{
	justify-content: space-between;
	gap:0 0;
}
.footNavi > ul{
	width: 49%;
}
.footNavi > ul li a{
	font-size: min(3.2vw,14px);
}
	.footNavi ul:nth-of-type(3){
		width: 100%;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}
	.footNavi ul:nth-of-type(3) li{
		width: 49%;
	}
	.footNavi .btns li + li{
		margin-top: 10px;
	}
	.footNavi .btns li a{
		height: 60px;
	}
	.footInfo{
		padding-top: 40px;
		align-items: center;
	}
	#footLogo{
		width: 90%;
		margin: 0 auto 20px;
	}	
	footer small{
		margin-top: 40px;
	}
}/*-SP-*/


/*****************  contents ***********************/
/*-btn--*/
.btnArrow{
 position: relative;
 display:block;
 border-radius: 4px;
 background: #930007;
 padding: 17px 0;
 max-width: 360px;
 margin: 0 auto;
 color: #FFFFFF ;
 font-size: 16px;
 font-weight: 700;
 text-align: center;
 line-height: 1.4;
 box-shadow: 0 3px 0 0 rgba(0,0,0,0.2);
}
.btnArrow::after{
    display: inline-block;
    content: '';
    margin-left: 10px;
    width: 6px;
    height: 6px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg) translate(-2px);
    transform: rotate(45deg) translate(-2px);
}

.btnArrow.back::after{
 display: none;
}
.btnArrow.back::before{
    display: inline-block;
    content: "";
    margin-right: 10px;
    width: 6px;
    height: 6px;
    border-bottom: solid 1px #fff;
    border-left: solid 1px #fff;
    -webkit-transform: rotate(45deg) translate(-3px);
    transform: rotate(45deg) translate(-3px);
}
/**/
.btnArrowLine{
	position: relative;
  display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: flex-start;
	border: 1px solid #930007;
  border-radius: 4px;
  background: #fff;
  padding: calc(40px - (32px * 1.7 - 32px) / 2) 50px;
  margin: 0 auto;
  color: #930007;
  font-size: min(42/768*100vw,30px);
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  box-shadow: 0 3px 0 0 rgba(0,0,0,0.2);
	min-height: 146px;
}

.btnArrowLine::before{
	display: inline-block;
	content: '';
	width: 30px;
	height: 30px;
	border: 2px solid #930007;
	border-radius: 20px;
	position: absolute;
	top: calc(50% - 15px);
	right: 50px;
}
.btnArrowLine::after{
	display: inline-block;
  content: '';
  margin-left: 10px;
  width: 8px;
  height: 8px;
  border-top: solid 2px #930007;
  border-right: solid 2px #930007;
  -webkit-transform: rotate(45deg) translate(-2px);
  transform: rotate(45deg) translate(-2px);
	position: absolute;
	top: calc(50% - 2px);
	right: 63px;
}
.btnArrowLine p{
	border-top: 1px solid #930007;
	color: #930007;
	font-size: 16px;
	font-weight: normal;
	margin-top: calc(10px - (16px * 1.7 - 16px) / 2);
	padding-top: calc(10px - (16px * 1.7 - 16px) / 2);
}

/**/
.txtArrow{
 position: relative;
 padding-right: 50px;
 font-weight: 700;
}
.txtArrow::before,
.txtArrow::after{
 content: "";
 display: block;
 background: #000;
 position: absolute;
 right: 0;
 top: 50%;
 margin-top: 1px;
}
.txtArrow::before{
 width: 36px;
 height: 1px;
}
.txtArrow::after{
 width: 9px;
 height: 1px;
 -webkit-transform: rotate(42deg);
transform: rotate(42deg);
 transform-origin: right bottom;
}

.txtArrow2{
	display: inline-flex;
	align-items: center;
	gap:0 7px;
	color: #930007;
}
.txtArrow2::after{
	content: "";
	display: block;
	border: 2px #930007 solid;
	border-radius: 50%;
	width: 20px;
	height: 20px;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 11 14" fill="none"><path fill-rule="evenodd"  stroke="%23930007" stroke-width="2px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M2.625,2.562 L6.750,6.562 L2.625,10.562 "/></svg>') no-repeat center center/11px auto;
}
/**/
.bnrGcoat a{
	border-radius: 4px;
	display: flex;
	align-items: center;
	background: #930007;
	color: #fff;
}
@media screen and (min-width: 769px) {
.bnrGcoat a figure{
	position: relative;
	border-radius: 4px 0 0 4px;
	width: 49%;
	padding: 38px 5px 37px 2.3%;
	}
	.bnrGcoat a figure::after{
		content: "";
	display: block;
	background: #000;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
	width: 58px;
	height: 100%;
		position: absolute;
		left: 100%;
		top: 0;
	}
	.bnrGcoat a >div{
		width: 51%;
		padding-left: 60px;
		padding-right: 2.45%;
	}
}/*-PC only-*/
.bnrGcoat a figure{
	background: #000;
}
.bnrGcoat a figure img{
	object-fit: contain;
 width: 100%;
 height: 100%;
 aspect-ratio:512/164;
}
.bnrGcoat a p{
	color: #fff;
	font-size: min(2.6vw,32px);
	font-weight: 700;
	line-height: 1.5;
}
.bnrGcoat a span{
	margin-top: 1.5em;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap:0 15px;
	font-size: min(1.8vw,20px);
}
.bnrGcoat a span::after{
	content: "";
	border: 2px #fff solid;
	border-radius: 50%;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 11 14" fill="none"><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="2px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M2.625,2.562 L6.750,6.562 L2.625,10.562 "/></svg>') no-repeat 3px center/11px auto;
	width: 20px;
	height: 20px;
	box-sizing: border-box;
}

/**/
.btmMenus{
	gap:0 2px;
}
.btmMenus li{
	width: calc((100% - 2px)/2);
}
.btmMenus li a{
	display: flex;
	align-items: center;
	justify-content: center;
	gap:0 18px;
	height: 300px;
	color: #fff;
	font-size: 30px;
	font-weight: 700;
}
.btmMenus li a::after{
	content: "";
	border: 2px #fff solid;
	border-radius: 50%;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 11 14" fill="none"><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="2px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M2.625,2.562 L6.750,6.562 L2.625,10.562 "/></svg>') no-repeat 3px center/11px auto;
	width: 20px;
	height: 20px;
	box-sizing: border-box;
}

.btmMenus .print{
	background: url("images/btmmenu_img_print.jpg") no-repeat left top/cover;
}
.btmMenus .mold{
	background: url("images/btmmenu_img_mold.jpg") no-repeat left top/cover;
}

@media screen and (max-width: 768px) {/*SP btn*/
.btnArrow{
 padding: 15px 0;
 font-size: 16px;
}
.btnArrow::after{
 margin-left: 18px;
}
.btnArrow.back::before{
 margin-right: 15px;
}
/**/
.txtArrow{
 padding-right: 30px;
}
.txtArrow::before{
 width: 24px;
}
.txtArrow::after{
 width: 6px;
}
/**/
.btnArrowLine{
	padding: calc(20px - (24px * 1.4 - 24px) / 2) 2.4em calc(20px - (24px * 1.4 - 24px) / 2) 1em;
	min-height: inherit;
}
.btnArrowLine::before{
	width: 24px;
  height: 24px;
	top: calc(50% - 15px);
	right: 15px;
}
.btnArrowLine::after{
	width: 6px;
  height: 6px;
	top: calc(50% - 4px);
	right: 25px;
}
.btnArrowLine p{
	font-size: 14px;
}
	/**/
	.bnrGcoat a{
		flex-flow: column;
}
.bnrGcoat a figure{
	border-radius: 4px 4px 0 0;
	padding: 10px 8%;
}
	.bnrGcoat a div{
		padding: 15px 5% 20px;
	}
.bnrGcoat a p{
	font-size: min(5vw,32px);
}
.bnrGcoat a span{
	gap:0 12px;
	font-size: min(3.8vw,20px);
}
.bnrGcoat a span::after{
	margin-bottom: -2px;
}
/**/
.btmMenus{
}
.btmMenus li{
}
.btmMenus li a{
	gap:0 10px;
	height:min(30vw,300px);
	font-size: min(4.2vw,26px);
}
.btmMenus li a::after{
	margin-bottom: -.15em;
}	
	
}/*-SP only-*/
/*-table-*/
table{
	width: 100%;
	/* border: 1px #cccccc solid; */
	box-sizing: border-box;
}
th,td{
	/* border-left: 1px #cccccc solid; */
	border-bottom: 1px #cccccc solid;
	padding: 8px 10px;
}
th{
	background: #222;
	border-bottom: 1px #cccccc solid;
	color: #fff;
	text-align: center;
	vertical-align: middle;
}
tbody th{
	text-align: left;
}
td{
	background: #fff;
	text-align: left;
	vertical-align: middle;
}

.defaultTable{
	border-top: 1px solid #ccc;
}
.defaultTable th{
	background: #222;
	border-bottom: 1px solid #ccc;
	font-size: 16px;
	padding: calc(20px - (16px * 1.7 - 16px) / 2) 1.875em;
}
.defaultTable td{
	border-bottom: 1px solid #ccc;
	font-size: 16px;
	padding: calc(20px - (16px * 1.7 - 16px) / 2) 1.875em;
}

.bdr0{
	border: none;
}
@media screen and (max-width: 768px) {
.defaultTable th,
.defaultTable td{
	display: block;
	max-width: 100%;
}
}/*spOnly*/
@media screen and (min-width: 769px) {
}/*-PC only-*/

/*- faq -*/
.faqList{}
.faqList dt,
.faqList dd{
	position: relative;
	padding-left: 53px;
	padding-top: 8px;
	min-height: 40px;
	line-height: 1.5;
}
.faqList dt::before,
.faqList dd::before{
	display: grid;
	place-content: center;
	width: 40px;
	height: 40px;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	top: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}
.faqList dt{
	margin-bottom: 13px;
	font-weight: 700;
}
.faqList dt::before{
	content: "Q";
	border: 1px #000 solid;
}
.faqList dd{
	border-bottom: 1px #000 dotted;
	padding-bottom:24px;
}
.faqList dd::before{
	content: "A";
	background:#8a2626 ;
	color: #fff;
}
.faqList dd + dt{
	margin-top: 17px;
}
.faqList dd:last-of-type{
	border-bottom: none;
}
.faqList dd .btnArrow{
  margin: 10px auto 0 0;
}

/*-pageNavi-*/
.pageNavi{}
@media screen and (min-width: 769px) {}/*-PC only-*/
@media screen and (max-width: 768px) {}/*-SP only-*/
/***pagenation*/
.pagenation{
 margin-block: min(9.8vw, 49px);
 text-align: center;
}
.pagenation a,
.pagenation span{
 display: inline-block;
 border: 1px solid;
 border-radius: 50%;
 width: 39px;
 margin: 0 8px;
 font-size: 16px;
 line-height: 39px;
 text-align: center;
 box-sizing: border-box;
}
.pagenation a{
  border-color: #930007;
  color: #930007;
}
.pagenation span {
  border-color: #000000;
 background: #000000;
 color: #fff;
}

/*pager*/
.pagerArea{
  padding-block: min(12.8vw, 64px);
}
.pagerArea .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.pagerArea .pager {
  display: flex;
  justify-content: space-between;
  width: 100%;
  gap: 0 6%;
  list-style: none;
  padding: 0;
  margin: 0;
}
.pagerArea .pager li {
  flex: 1;
}
.pagerArea .pager a {
  position: relative;
  display: block;
  color: #930007;
}
.pagerArea .pager a.pagerPrev {
  padding-left: 24px;
}
.pagerArea .pager a.pagerNext {
  padding-right: 24px;
}
.pagerArea .pager a::after {
  position: absolute;
  top: 50%;
  display: inline-block;
  content: "";
  width: 11px;
  height: 11px;
  border: solid #930007;
  -webkit-transform: rotate(45deg) translate(-2px);
  transform: rotate(45deg) translate(-2px);
}
.pagerArea .pager a.pagerPrev::after {
  border-width: 0 0 2px 2px;
  left: 0;
}
.pagerArea .pager a.pagerNext::after {
  border-width: 2px 2px 0 0;
  right: 0;
}
.pagerArea .pager .pagerTit {
  display: block;
  font-size: 0.9em;
}

.pagerArea .linkToList {
  margin-top: 20px;
  text-align: center;
}
.pagerArea .linkToList a{
  position: relative;
  color: #930007;
}
.pagerArea .linkToList a::after{
  position: absolute;
  inset: auto 0 0 0;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #930007;
}
@media screen and (min-width: 768px) {
  .pagerArea .inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: relative;
  }
  .pagerArea .pager {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  .pagerArea .pager li {
    width: min(40%, 282px);
    flex: none;
  }

  .pagerArea .linkToList {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    white-space: nowrap;
  }
}

/*--bg--*/
.bgGray{
	background: url("images/bg_stripe.png") left top;
}
.bgWhite{
	background: #fff;
}

/*----------------------------
         TOP
-----------------------------*/
#top main section{
	padding: 120px 0 100px;
}
#top main h2{
	font-weight: 700;
	margin-bottom: 50px;
}
#top main h2 img{
	margin-bottom: 30px;
	width: 189px;
}
#topBusiness h2,
#topTechnology h2{
	border-bottom: 1px solid #053077;
	font-size: min(60/768*100vw,40px);
	margin-bottom: 35px !important;
	padding-bottom: 15px;
}
#topNews h2,
#topFootContact h2{
	font-size: min(48/768*100vw,32px);
}
@media screen and (max-width: 768px) {/*----SP #topTechnology----*/
#top main section{
	padding: 60px 0 50px;
}
#top main h2{
	margin-bottom: 35px;
}
}/*-SP-*/

.topBnrArea a{
  position: relative;
  display: block;
  margin: 0 auto;
}
.topBnrArea a .txts .fontMin{
  font-size: 32px;
  font-weight: 600;
}
.topBnrArea a .txts .fontMin > div{
  margin-top: 8px;
  padding-top: 8px;
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 0;
}
.topBnrArea a .txts .fontMin div figure img{
  height: 18px;
}
.topBnrArea a .txts .fontMin div span{ 
  position: relative;
  padding-right: 53px;
  font-size: 20px;
	font-weight: 500;
}
.topBnrArea a .txts .fontMin span::before{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid #000;
}
.topBnrArea a .txts .fontMin span::after{
  position: absolute;
  top: 50%;
  right: 18px;
  content: "";
  display: block;
  margin-left: 1em;
  border: #000 solid;
  border-width: 2px 2px 0 0;
  transform: rotate(45deg) translateY(calc(-50% - 2px));
  width: 8px;
  height: 8px;
}
#topBnr01{
  background-color: #000;
  padding-block: 27px 32px;
}
#topBnr01 a{
  width: min(calc(100% - 30px), 1070px);
  background-color: #000;
  border: 1px solid #fff;
}
#topBnr01 a .badge{
  display: grid;
  place-content: center;
  background-color: #930007;
  width: 100px;
  aspect-ratio: 100 / 75;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}
#topBnr01 a .txts .fontMin{
  color: #fff;
}
#topBnr01 a .txts .fontMin span::before{
  border-color: #fff;
}
#topBnr01 a .txts .fontMin span::after{
  border-color: #fff;
}
@media screen and (max-width: 768px) {
	.topBnrArea a .txts .fontMin{
		padding: 20px 0 0;
	}
	.topBnrArea a .txts .fontMin > div{
		justify-content: center;
	}
.topBnrArea a > figure{
		margin-top: 20px;
	}
	
	#topBnr01 a .badge{
		width: auto;
		aspect-ratio:auto;
		padding: 10px;
		margin: 0 auto ;
	}
#topBnr01 a .txts .fontMin{
	padding:20px 10px 0;
	text-align: center;
}
} /* -SP- */
@media screen and (min-width: 769px) {
  #topBnr01 a{
    display: flex;
  }
  .topBnrArea a > .txts{
    flex: 1;
    display: grid;
    align-items: center;
  }
  .topBnrArea:has(.badge) a > .txts{
    padding-left: 100px;
  }
  #topBnr01 a .badge{
    position: absolute;
    left: -15px;
  }
  #topBnr01 a > figure{
    width: calc((458 / 1070) * 100%);
  }
} /* -PC only- */

#topBusiness{
	background: url("images/bg_txt_business.png") no-repeat left 50px / 33.8vw, url("images/top_business_bg.png") no-repeat left bottom / 100%;
	padding-top: 80px !important;
}
#topBusiness ul{
	margin-top: 45px;
}
#topBusiness ul li{
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	padding-bottom: 35px;
	width: 100%;
	max-width: 510px;
}
#topBusiness li h3{
	color: #fff;
	font-size: 30px;
	font-size: min(45/768*100vw,30px);
	height: 154px;
	text-shadow: 0 0 6px rgba(0,0,0,0.8);
	display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center
}
#topBusiness li h3 span{
	font-size: 1.2em;
	font-weight: 900;
}
#topBusiness li:nth-child(1) h3{
	background: url("images/top_img01.jpg") no-repeat left center / cover;
	border-top: 1px solid #124212;
	border-left: 1px solid #124212;
	border-right: 1px solid #124212;
}
#topBusiness li:nth-child(2) h3{
	background: url("images/top_img02.jpg") no-repeat left center / cover;
	border-top: 1px solid #092148;
	border-left: 1px solid #092148;
	border-right: 1px solid #092148;
}
#topBusiness li h3 + p{
	color: #fff;
	padding: calc(22px - (16px * 1.7 - 16px) / 2) 5%;
	text-align: center;
}
#topBusiness li:nth-child(1) h3 + p{
	background: #124212;
}
#topBusiness li:nth-child(2) h3 + p{
	background: #092148;
}
#topBusiness li dl{
	padding: 25px 2.5em 0;
}
#topBusiness li dl dt{
	border-bottom: 1px dotted #c13938;
	color: #c13938;
	font-size: min(36/768*100vw,20px);
	font-weight: 700;
	position: relative;
	padding-left: 1.1em;
}
#topBusiness li dl dt a{
	color: #c13938;
}
#topBusiness li dl dt::before{
	content: '';
	background: url("images/arrow_red.png") no-repeat left top / cover;
	display: inline-block;
	width: 14px;
	height: 12px;
	position: absolute;
	top: calc(50% - 6px);
	left: 0;
}
#topBusiness li dl dd{
	padding: 0 1.4em 25px;
}
#topBusiness li .movie{
	padding: 0 2.5em 30px;
}
#topBusiness li .movie iframe{
  width: 100%;
  aspect-ratio: 431 / 231;
}
#topBusinessMold p.bgColored a{
  margin-top: 17px;
  background-color: #1d731d;
}
#topBusinessPrint p.bgColored a{
  margin-top: 17px;
  background-color: #2054a8;
}


#topTechnology{
	background: url("images/bg_txt_technology.png") no-repeat right 25px / 50.6vw;
	padding: 90px 0 0 !important;
}
#topTechnology .technologyBox{
	background: url("images/top_tech_bg01.png") no-repeat right top;
	margin-top: 40px;
	padding: 45px 0;
}
#topTechnology .technologyBox:nth-of-type(2){
	background: url("images/top_tech_bg02.png") no-repeat left top;
	background-size: contain
}
#topTechnology .technologyBox h3{
	background: #000000;
background: linear-gradient(90deg,rgba(0, 0, 0, 1) 0%, rgba(2, 34, 160, 1) 100%);
	color: #fff;
	font-size: calc(18/768*100vw);
	max-width: 807px;
	padding: 41px 95px 40px 150px;
}
#topTechnology .technologyBox h3 span{
	border: 1px solid #fff;
	display: inline-block;
	font-size: calc(9/768*100vw);
	margin: 8px 0 0 20px;
	padding: 3px 10px 5px 10px;
	vertical-align: top;
}
#topTechnology .technologyBox .txt{
	margin-top: calc(40px - (16px * 1.7 - 16px) / 2);
	max-width: 500px;
}
#topTechnology .technologyBox .txt p:not(:last-child){
	margin-bottom: calc(40px - (16px * 1.7 - 16px) / 2);
}
#topTechnology .goodsLineup{
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	margin-top: 15px;
	padding: 25px 50px;
}
#topTechnology .goodsLineup h4{
	border-bottom: 1px solid #072556;
	font-size: min(30/768*100vw,20px);
	margin-bottom: calc(18px - (16px * 1.7 - 16px) / 2);
	padding-bottom: calc(12px - (20px * 1.2 - 20px) / 2);
}
#topTechnology .goodsLineup p:not(:last-child){
	margin-bottom: calc(35px - (16px * 1.7 - 16px) / 2);
}
#topTechnology .technologyBox:nth-of-type(2) .txt{
	max-width: 440px;
}
#topTechnology .technologyBox:nth-of-type(1) figure{
	max-width: 547px;
}
#topTechnology .technologyBox:nth-of-type(2) figure{
	max-width: 615px;
}
#topTechnology .technologyBox:nth-of-type(2) figure img:nth-child(1){
	margin-right: 2px;
	width: calc(50% - 2px);
}
#topTechnology .technologyBox:nth-of-type(2) figure img:nth-child(2){
	width: 50%;
}
#topTechnology .technologyBox:nth-of-type(2) .goodsLineup{
	margin-top: 30px;
}
@media screen and (max-width: 768px) {/*----SP #topTechnology----*/
#topBusiness{
	background: url("images/bg_txt_business.png") no-repeat left 10px / 67.6vw, url("images/top_business_bg.png") no-repeat left bottom / 100%;
}
#topBusiness ul{
	margin-top: 23px;
}
#topBusiness ul li:not(:last-child){
	margin-bottom: 23px;
}
#topBusiness li h3{
	height: 100px;

}
#topBusiness li h3 + p{
	text-align: left;
}
#topBusiness li dl{
	padding: 13px 5% 0;
}
#topBusiness li dl dd{
	padding-right: 0.7em;
}
#topBusiness li .btnArrow{
	margin: 0 5%;
}
#topTechnology{
	background: url("images/bg_txt_technology.png") no-repeat right 25px / 80.6vw;
}
#topTechnology .technologyBox{
	background: url("images/top_tech_bg_sp.png") no-repeat left bottom / 100%;
	margin-top: 23px;
	padding-top: 0;
}
#topTechnology .technologyBox:nth-of-type(2){
	background: url("images/top_tech_bg_sp.png") no-repeat left bottom / 100%;
	background-position: bottom;
}
#topTechnology .technologyBox h3{
	padding: 20px 0.5em;
	text-align: center;
}
#topTechnology .technologyBox .txt{
	margin-top: calc(20px - (16px * 1.7 - 16px) / 2);
}
#topTechnology .technologyBox .txt p:not(:last-child){
	margin-bottom: calc(20px - (16px * 1.7 - 16px) / 2);
}
#topTechnology .goodsLineup{
	margin-bottom: 30px;
	padding: 5%;
}
#topTechnology .technologyBox:nth-of-type(2) figure img:nth-child(1){
	width: 49.2%;
}
#topTechnology .technologyBox:nth-of-type(2) figure img:nth-child(2){
	width: 50%;
}
}/*-SP-*/
@media screen and (min-width: 769px) {/*----PC #topTechnology----*/
	#topBusiness ul{
		gap: 3%;
	}
	#topBusiness ul li{
		flex: 1;
	}
#topTechnology .technologyBox:nth-of-type(1) figure{
	margin-top: -185px;
}
#topTechnology .technologyBox:nth-of-type(2){
	position: relative;
}
#topTechnology .technologyBox:nth-of-type(2) h3{
	padding: 41px 150px 40px 95px;
	position: absolute;
	right: 0;
  background: #000000;
background: linear-gradient(270deg,rgba(0, 0, 0, 1) 0%, rgba(2, 34, 160, 1) 100%);
}
#topTechnology .technologyBox:nth-of-type(2) .pcFlex{
	flex-direction: row-reverse;
}
#topTechnology .technologyBox:nth-of-type(2) .txt{
	margin-top: calc(164px - (16px * 1.7 - 16px) / 2);
}
#topTechnology .technologyBox:nth-of-type(2) figure{
	margin-top: 40px;
	position: relative;
	z-index: 10;
	width: 50%;
}
#topTechnology .technologyBox .btnArrow{
	margin: 0;
}
}/*-PC-*/


#topBnr02{
  background: url(images/top_bnr02_bg.png) no-repeat left center / cover;
  padding-block: 27px 32px;
}
#topBnr02 a{
  width: min(calc(100% - 30px), 1070px);
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
#topBnr02 a .txts .fontMin{
  text-align: center;
}
#topBnr02 a .txts .fontMin > div{
  border-top: 1px solid #930007;
  justify-content: center;
}
#topBnr02 a .txts .fontMin span::before{
  border-color: #930007;
}
#topBnr02 a .txts .fontMin span::after{
  border-color: #930007;
}
@media screen and (max-width: 768px) {
  
} /* -SP- */
@media screen and (min-width: 769px) {
  #topBnr02 a{
    display: flex;
  }
  #topBnr02 a > figure{
    width: calc(((694 / 1070) * 100%) - 20px);
  }
  #topBnr02 a > figure img{
    margin-left: -20px;
    width: calc(100% + 20px);
    max-width: none;
  }
} /* -PC only- */

.js-tab.flex{
	flex-flow: row wrap;
	gap:0 20px;
}
.js-tab li{
	cursor: pointer;
	border: 1px #930007 solid;
	border-bottom: none;
	display: grid;
	place-content: center;
	width: calc((100% - 20px*4)/5);
	height: 40px;
	color: #930007;
	font-size: min(1.6vw,16px);
}
.js-tab li.active{
	background: #000;
	color: #fff;
	border-color: #000;
}
.tabPanelArea{}
.tabPanel{display: none;}
.tabPanel.active{
	display: block;
}

#topNews{
	background: url("images/bg_txt_news.png") no-repeat left 70px / 55vw;
}
#topNews .tabPanelArea{
	background: #fff;
	border: 1px solid #333;
	padding: calc(45px - (16px * 1.7 - 16px) / 2) 50px;
}
#topNews #topRecruitNews {
	border: 1px solid #666;
	margin-top: 50px;
}
#topNews #topRecruitNews > div{
	background: #222;
	padding: 20px 50px;
	width: 23.6%;
	max-width: 260px;
}
#topNews #topRecruitNews h3{
	color: #fff;
	font-size: min(40/768*100vw,24px);
	line-height: 1.5;
	margin-bottom: 10px;
}
#topNews #topRecruitNews dl.newsList{
	border: none;
	padding: calc(45px - (16px * 1.7 - 16px) / 2) 50px;
	width: 77.4%;
	max-width: calc(100% - 260px);
}
 dl.newsList{
  overflow: hidden;
 }
 dl.newsList dt{
  float: left;
	padding-left: 1em;
	position: relative;
 }
 dl.newsList dt::before{
 	content: '';
	background: #930007;
	display: inline-block;
	width: 8px;
	height: 9px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
	top: calc(50% - 4px);
	left: 0;
 }
 dl.newsList dd{
  border-bottom: 1px #cccccc dotted;
  padding: 0 0 calc(18px - (16px * 1.7 - 16px) / 2) 125px;
  margin-bottom: calc(18px - (16px * 1.7 - 16px) / 2);
  line-height: 1.7;
 }
 dl.newsList dd:last-of-type{
 	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
 }
#topNews .tabPanelArea + p{
	margin-top: 14px;
}


@media screen and (max-width: 768px) {/*----SP #topNews----*/
.js-tab.flex{
	flex-flow: row wrap;
	gap:10px 10px;
	margin-bottom: 10px;
}
.js-tab li{
	border-bottom: 1px solid;
	width: calc((100% - 10px*1)/2);
	height: 40px;
	color: #930007;
	font-size: 14px;
}
#topNews{
	background: url("images/bg_txt_news.png") no-repeat left 25px / 90vw;
}
#topNews dl.newsList{
	padding: 5%;
}
dl.newsList dt{
	float: none;
}
dl.newsList dd{
	padding-left: 0;
}
#topNews #topRecruitNews{
	margin-top: 25px;
}
#topNews #topRecruitNews > div{
	padding: 5%;
	width: 100%;
	max-width: 100%;
}
#topNews #topRecruitNews h3{
	text-align: center;
}
#topNews #topRecruitNews .btnArrow{
	padding: 8px 0 13px;
  width: 80%;
}
#topNews #topRecruitNews dl.newsList{	
	padding: 5%;
	width: 100%;
	max-width: 100%;
}
}/*-SP-*/
@media screen and (min-width: 769px) {/*----PC #topNews----*/
 #topNews .btnArrow{
 		padding: 8px 0 10px;
 }
}/*-PC-*/

#topFootContact{
	background: url("images/bg_txt_inquiry.png") no-repeat right 15px / 36.4vw, url("images/bg_contact.png") no-repeat left bottom / 100%;
}
#topFootContact li{
	width: 47.3%;
	max-width: 520px;
}
#topFootContact ul .btnArrowLine{
	height: auto
}
@media screen and (max-width: 768px) {/*----SP #topFootContact----*/
#topFootContact{
	background: url("images/bg_txt_inquiry.png") no-repeat right 15px / 60vw, url("images/bg_contact.png") no-repeat left bottom / cover;
}
#topFootContact li{
	margin-bottom: 20px;
	width: 100%;
}
#topFootContact ul li:nth-child(2) .btnArrowLine{
	padding-top: calc(30px - (24px * 1.4 - 24px) / 2);
	padding-bottom: calc(30px - (24px * 1.4 - 24px) / 2);
}
}/*-SP-*/
@media screen and (min-width: 769px) {/*----PC #topFootContact----*/
}/*-PC-*/


/*#topMenus*/
#topMenus.flex{
	flex-wrap: wrap;
}
#topMenus li:not(:last-child){
	border-right: 1px solid #fff;
}
#topMenus p{
	margin-top: -110px;
}
#topMenus p span{
	background: rgba(30,26,18,0.9);
	color: #fff;
	display: inline-block;
	font-size: 18px;
	font-size: min(32/768*100vw,18px);;
	font-weight: 700;
	padding: calc(45px - (18px * 1.7 - 18px) / 2) 0;
	position: relative;
	text-align: center;
	width: 100%;
}
#topMenus li:nth-of-type(2) p span,
#topMenus li:nth-of-type(3) p span{
	padding: calc(45px - (18px * 1.7 - 18px) / 2 - 0.85em) 0;
}
#topMenus p span::before{
	display: inline-block;
	content: '';
	width: 20px;
	height: 20px;
	border: 2px solid #fff;
	border-radius: 20px;
	position: absolute;
	top: calc(50% - 10px);
	right: 50px;
}
#topMenus p span::after{
	display: inline-block;
  content: '';
  margin-left: 10px;
  width: 4px;
  height: 4px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg) translate(-2px);
  transform: rotate(45deg) translate(-2px);
	position: absolute;
	top: 50%;
	right: 59px;
}
@media screen and (max-width: 768px) {/*----SP #topMenus----*/
#topMenus li{
	max-width: 50%;
}
#topMenus p{
	margin-top: -55px;
}
#topMenus p span{
	font-size: min(28/768*100vw,18px);
	height: 44px;
  padding: calc(16px - (16px * 1.5 - 16px) / 2) 0 calc(16px - (16px * 1.5 - 16px) / 2) 0.5em;
  text-align: left;
}
#topMenus p span::before{
	width: 15px;
  height: 15px;
	right: 6px;
}
#topMenus p span::after{
	top: calc(50% - 2px);
	right: 12px;
}
}/*-SP-*/
@media screen and (min-width: 769px) {/*----PC #topMenus----*/
#topMenus li{
	width: 25%;
}
}/*-PC-*/

.cookiepolicy{
 position: fixed;
 bottom: 0;
 left: 0;
 background: #fff2f6;
 width: 100%;
 padding: 5px 20px;
 box-sizing: border-box;
 z-index: 1000;
}
.cookiepolicy i.ic{
 background: url("images/ic_warning.png") no-repeat left top/100% auto;
 text-indent: -9999px;
 display: inline-block;
 width: 22px;
 height: 22px;
 margin-right: 5px;
}
.cookiepolicy p{
 margin: 7px 0;
 color: #000;
}
.cookiepolicy p button{
 position: relative;
 appearance: none;
 display: block;
 border: none;
 border-radius: 3px;
 background:#bb1515 ;
 padding: 7px 21px;
 margin: 0 auto;
 color: #fff;
 font-size: 14px;
 cursor: pointer;
    transition: .3s ease-out;
}
.cookiepolicy p button::before{
 content: "";
 display: inline-block;
	border-bottom: 2px #fff solid;
	border-right: 2px #fff solid;
	width: 6px;
	height: 12px;
	margin-top: -6px;
 margin-right: 10px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.cookiepolicy p button:hover{ 
    box-shadow: 0 3px 3px 0 rgb(0 0 0 / 14%), 0 1px 7px 0 rgb(0 0 0 / 12%), 0 3px 1px -1px rgb(0 0 0 / 20%);
}
.cookiepolicy .disnon{display: none;}
@media screen and (min-width: 769px) {
 .cookiepolicy{
 display: flex;
  justify-content: center;
  align-items: center;
 }
 .cookiepolicy p:first-child{
  width: 60%;
  padding-right: 5%;
font-size: 13px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {
 .cookiepolicy p button{
  margin-top: 20px;
 }
}/*-SP only-*/


/*----------------------------
         		pgs
-----------------------------*/
/*main title*/
.pageTitle{
	background: url("images/bg_pagetitle.png") no-repeat left top / cover;
	height: 200px;
}
.pageTitle h2 {
  display: flex;
	flex-flow: column;
	align-items: flex-start;
	justify-content: center;
  height: 100%;
  color: #fff;
  font-size: min(58 / 768 * 100vw, 42px);
  font-weight: 700;
  text-align: left;
}
.pageTitle h2 > span{
  display: block;
}
.pageTitle .txtEn{
	font-size: min(25/768*100vw,14px);
	line-height: 3.5;
}

.pageTitle .line2{
  display: inline-flex;
  align-items: center;
}
.pageTitle span > .txtEn{
  margin-left: 1.5em;
}


/*-title-*/
.tiBdr{
	font-size: min(50/768*100vw,36px);
	margin-bottom: 50px;
	position: relative;
	text-align: center;
}
.tiBdr::before{
	content: '';
	display: inline-block;
	background: #053077;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: -15px;
	left: 0;
}
.tiBdr::after{
	content: '';
	display: inline-block;
	background: #053077;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: -18px;
	left: 0;
}

.tiBdr2{
  position: relative;
  margin-bottom: 36px;
  padding-bottom: 33px;
  font-size: min(50/768*100vw,36px);
  text-align: center;
  color: #053077;
  letter-spacing: 0.05em;
}
.tiBdr2::before{
  content: "";
  position: absolute;
  inset: calc(100% - 15px) 0 auto 0;
  display: block;
  margin-inline: auto;
  width: min(63.7%, 700px);
  height: 14px;
  background-color: #053077;
}
.tiBdr2::after{
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  display: block;
  width: 100%;
  height: 14px;
  border: solid #053077;
  border-width: 1px 0;
}
.tiBdr2 span{
	display: block;
	font-size: 66.67%;
	margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .tiBdr2{
		padding-bottom: 20px;
	}
	.tiBdr2 span{
		margin-top: 5px;
	}
  .tiBdr2::before{
    inset: calc(100% - 8px) 0 auto 0;
    width: 50%;
    height: 7px;
  }
  .tiBdr2::after{
    height: 7px;
  }
} /* -SP- */

main h4{
	font-size: min(38/768*100vw,26px);
	padding-bottom: calc(20px - (26px * 1.2 - 26px) / 2);
}

/*-contact-*/
#pgsContact{
	background: url("images/bg_txt_inquiry.png") no-repeat left bottom / 36.4%, url("images/bg_contact.png") no-repeat left bottom / cover;
}
#pgsContact h2{
	font-size: min(40/768*100vw,30px);
	font-weight: 700;
	line-height: 1.7;
	margin-bottom: 50px;
}
/*#pgsContact h2::after{
	display: inline-block;
  content: '';
	position: absolute;
}*/
#pgsContact .btnArrowLine{
	min-height:inherit;
	padding-inline:100px; 
}

#pgsContact li {
  width: 47.3%;
  max-width: 520px;
}

#pcheck{
	width: 30px;
  height: 30px; 
}

@media screen and (max-width: 768px) {
#pgsContact{
	padding: 12vw 0 !important;
}
#pgsContact h2{
	line-height: 1.4;
	margin-bottom: 40px;
	text-align: center;
}
#pgsContact li {
    margin-bottom: 20px;
    width: 100%;
  }	
	
/*#pgsContact h2::after{
	width:24px;
  height: 24px;
	border-right: solid 1px #222;
  border-bottom: solid 1px #222;
  -webkit-transform: rotate(45deg) translate(-2px);
  transform: rotate(45deg) translate(-2px);
	bottom: -25px;
	left: calc(50% - 12px);
}*/
}/*-SP only-*/
@media screen and (min-width: 769px) {
#pgsContact .inner{
	max-width: 1000px;
}
#pgsContact h2::after{
	width:70px;
  height: 70px;
	border-top: solid 1px #222;
  border-right: solid 1px #222;
  -webkit-transform: rotate(45deg) translate(-2px);
  transform: rotate(45deg) translate(-2px);
	top: calc(50% - 35px);
	right: -80px;
}
}/*-PC only-*/

#cookiepolicyBox{
	padding: 50px
}

#cookiepolicyBox .inner{
	width: 80%;
}

#cookiepolicyBox dl{
	margin-top: 30px;
}

#cookiepolicyBox dt{
	border-bottom: 1px solid #000;
	font-weight: bold;
	margin-bottom: 1em;
	padding-bottom: .5em;
}

#cookiepolicyBox dd{
	margin-bottom: 3em;
}

#cookiepolicyBox dd li{
	padding-left: 2.5em;
	text-indent: -2.5em;
}

.pagetop{
  display: block;
  border: 1px solid #000;
  position: fixed;
  background: #fff;
  cursor: pointer
}



.pagetop::before {
  transform: rotate(45deg);
}

.pagetop::after {
  transform: rotate(-45deg);
}


@media screen and (max-width: 768px) {
  
  .pagetop{
    width: 40px;
    height: 40px;
  bottom:20px;
    right: 20px;
  }
  
  .pagetop::before,
.pagetop::after {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  left: calc(50% - 2px);
  width: 4px;
  height: 20px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: 50% 2px;
}
}/*-SP only-*/
@media screen and (min-width: 769px) {
  
  .pagetop{
    width: 50px;
    height: 50px;
  bottom: 120px;
    right: 20px;
  }
  
  .pagetop::before,
.pagetop::after {
  content: "";
  position: absolute;
  top: calc(50% - 12px);
  left: calc(50% - 1.5px);
  width: 3px;
  height:30px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: 50% 1.5px;
}
  
}/*-PC only-*/