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

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none;}
table {border-collapse: collapse; border-spacing: 0;}

/*//////////////////////////////////////////////   ここまでがCSSリセット   //////////////////////////////////////////////*/
* {margin:0; padding:0; outline:0;}
.clearfix:after{
    content:"";
    clear:both;
    display:block;
}

@font-face {font-family: 'Oswald', sans-serif;}
html , body {height:100%; font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;word-break:break-all;}
b{font-weight:bold;}
img{vertical-align:bottom;}
.txt_cen{text-align:center;}

@media(min-width:768px){

.pc{}
.mb{display:none;}

body{min-width:1000px;position: relative;}

#container_0{
	width:100%;
	min-width:1000px;
	min-height:100%;
	position:relative;
	box-sizing:border-box;
	background-image:url(img/topbg_l.svg),url(img/topbg_r.svg);
	background-repeat:repeat-y,repeat-y;
	background-position:left -202px top -154px,right -215px top 215px;
}
#container_1{
	width:100%;
	min-width:1000px;
	min-height:100%;
	position:relative;
	box-sizing:border-box;
	background-image:url(img/bg_bl.svg),url(img/bg_bl.svg);
	background-repeat:repeat-y,repeat-y;
	background-position:left -113px top 96px,right -128px top 941px;
}
#container_2{
	width:100%;
	min-width:1000px;
	min-height:100%;
	position:relative;
	box-sizing:border-box;
	background-image:url(img/bg_pk.svg),url(img/bg_pk.svg);
	background-repeat:repeat-y,repeat-y;
	background-position:left -113px top 96px,right -128px top 941px;
}
#container_3{
	width:100%;
	min-width:1000px;
	min-height:100%;
	position:relative;
	box-sizing:border-box;
	background-image:url(img/bg_be.svg),url(img/bg_be.svg);
	background-repeat:repeat-y,repeat-y;
	background-position:left -113px top 96px,right -128px top 941px;
	background-color:rgba(233,219,204,0.4);
}
#container_4{
	width:100%;
	min-width:1000px;
	min-height:100%;
	position:relative;
	box-sizing:border-box;
	background-image:url(img/bg_be.svg),url(img/bg_be.svg);
	background-repeat:repeat-y,repeat-y;
	background-position:left -113px top 96px,right -128px top 941px;
}


/*//////////////////////////////////////////////   ヘッダ   //////////////////////////////////////////////*/

header{
	width:100%;
	min-width:1000px;
	height:90px;
	box-sizing:border-box;
	background-color:#fff;
    position: fixed;
	z-index:10000;
	top:0;
	display:flex;
	justify-content: space-between;
	align-items:center;
	padding-left:30px;
}
header.fixed{box-shadow: 0 5px 10px 0 rgba(0,0,0,0.3);}

.openbtn{display:none;}
.hdlg:hover{opacity:0.7;}
nav, nav ul{display:flex;align-items:center;}
nav li{margin-right:30px; font-size:14px;}
nav li a{
	text-decoration:none;
	color:#b81c22;
	display:block;
	padding-bottom:5px;
	position: relative;
}
nav li a::after {
	content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 0;
    left: 0;
    /*線の形状*/
    width:100%;
    height: 2px;
    background:#b81c22;
    /*アニメーションの指定*/
    transition: all .25s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center top;/*左上基点*/
}
nav li.current a::after,nav li.pcsty a::after,
nav li a:hover::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}
.jnj{
	display:block;
	text-decoration:none;
	height:90px;
	width:160px;
	background-color:#b81c22;
	color:#fff;
	font-size:14px;
	text-align:right;
	box-sizing:border-box;
	transition :0.25s;
}
.jnj img{vertical-align:middle;}
.jnj:hover{background-color:#980011;transition :0.25s;}

.hd_inst{
	width:80px;
	border-left:solid 3px #9fa0a0;
	text-align:center;
}

/*//////////////////////////////////////////////   フッタ   //////////////////////////////////////////////*/

footer{
	position: sticky;
	top: 100vh;
	width:100%;
	background:url(img/footer_bg.png) center center no-repeat #b81c22;
	box-sizing:border-box;
	padding:35px 30px 30px;
	color:#fff;
	font-size:12px;
	line-height:1.7;
}
footer a{text-decoration:none;color:#fff;}

.ft_box{display:flex; justify-content: space-between; width:100%;}
.ud{ margin-top:30px; align-items:flex-end; font-size:10px;}
.ud img{margin-top:5px;}
.ft_l p{
	border-top:solid 1px #fff;
	margin-top:10px;
	padding-top:10px;
}
.ft_r{width:300px;display:flex; justify-content: space-between; line-height:2.2;}
.ft_r a:hover{opacity:.7;}
.flbox{display:flex;justify-content: space-between;}

.ft_rgbox a{display:none;}

/*//////////////////////////////////////////////   Back to top button   //////////////////////////////////////////////*/

#back-top {
position:fixed;
bottom:40px;
margin-bottom:30px;
right:0;
z-index:100;
cursor: pointer;
box
}
#back-top a {
width:120px;
height:150px;
display:block;
text-align:center;
-webkit-transition:.3s;
-moz-transition:.3s;
transition:.3s;
overflow:hidden;
	padding-left:5px;
}
#back-top span {
width:140px;
height:140px;
display:block;
margin-bottom:4px;
background:url(img/back_icon.svg) no-repeat center center;
background-color:#fff;
border-radius:70px;
-webkit-transition:.3s;
-moz-transition:.3s;
transition:.3s;
}
#back-top a:hover span {
box-shadow:0 5px 5px rgba(0,0,0,.3);
}




/*//////////////////////////////////////////////   TOPページ   //////////////////////////////////////////////*/


h2.topcp{
	font-family: "Noto Sans JP", sans-serif;
	font-weight:900;
}
main{padding:90px 0 90px;}
.scbox{
	width:1000px;
	margin:0 auto;
	min-height:100px;
	box-sizing:border-box;
}
.cpy{
	text-align:center;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	font-size:36px;
}
.cpy span{color:#1e51a2;}
.cpy em{
	font-size:58px;
	line-height:1.4;
	color:#b81c22;
}

.tp_tc{
	display:flex;
	justify-content: space-between;
	width:654px;
}
.tp_tc a,.tp_ak a{position:relative; display:block;}
.ovr{
	position:absolute;
	top:13px;
	left:0;
}
.tc_l a:first-child{margin-bottom:5px;}
.fkds{position:relative; width:1000px;}
.fk1{position:absolute; left:255px; top:80px;}
.fk2{position:absolute; left:175px; top:179px;}
.fk3{position:absolute; left:600px; top:-20px;}
.fk4{position:absolute; left:362px; top:243px;}
.fk5{position:absolute; right:200px; top:239px;}

.tec_box h2,.tp_ak h2{
	font-size:30px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	margin-top:20px;
}
.tec_box h2{color:#148cc2;}
.tp_ak{text-align:right;}
.tp_ak h2{color:#eb6100;}

.suita{
	margin-top:-45px;
	text-align:left;
	display:flex;
	align-items:flex-end;
	justify-content: flex-end;
	box-sizing:border-box;
	padding-right:50px;
}
.jinta{
	margin-top:-81px;
	margin-left:-80px;
	text-align:left;
	display:flex;
	align-items:flex-end;
}
.suita p,.jinta p{margin-left:-30px; font-size:12px;}

.pd1{padding:65px 0 50px;}
.pd2{padding:30px;}
.pd3{padding:15px 30px 90px;}
.pd4{padding:0 0 70px;}
.pd5{padding:75px 30px 90px;}
.pd6{padding:15px 30px 30px;}
.pd7{padding:75px 30px 30px;}
.pd8{padding:75px 30px 0;}
.pd9{padding:15px 70px 40px;}

.ak{background-color:#fef0cb;}
.ak_txt{
	margin-left:26px;
	text-align:justify;
	line-height:1.5;
}
.ak_txt h3{
	font-size:19px;
	font-weight:bold;
}
.ak_txt p{font-size:14px; margin-top:20px;}

.flx{display:flex;justify-content: space-between;}


.tp_ak {position:relative;}
.cs{
	text-align:center;
	position:absolute;
	top:150px;
	right:0;
	left:0;
	font-size:25px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	color:#F00;
	text-shadow: 4px 4px 4px #fff, -4px -4px 4px #fff,
  -4px 4px 4px #fff,  4px -4px 4px #fff,
  4px 0 4px #fff, -4px  0 4px #fff,
  0 4px 4px #fff,  0 -4px 4px #fff;
}


/*//////////////////////////////////////////////   事業案内   //////////////////////////////////////////////*/


.sc_top{
	background:url(img/tec_top.png) no-repeat right top,linear-gradient(180deg, transparent 0%, transparent 80%, rgba(110,200,227,0.5) 80%, rgba(110,200,227,0.5) 100%);
	height:307px;
	position:relative;
}
.sc_ttl{
	width:1000px;
	margin:0 auto;
	padding-top:66px;
}
.sc_ttl h1{
	font-size:40px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin-left:35px;
	letter-spacing:.5em;
}
.sc_ttl_e{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	color:#82cddf;
	transform: rotate(-20deg);
	width:340px;
	height:43px;
	font-size:43px;
	margin-left:110px;
}

.bg_bl{background-color:rgba(110,200,227,0.5);}

.tp01{border-top:solid 4px #fff; margin-bottom:28px;}
.tp02{border-top:solid 4px #2a71b9; margin-bottom:28px;}
.tp01 h2,.tp02 h2{
	font-size:18px;
	font-weight:bold;
	padding-top:8px;
	letter-spacing:1em;
}

.fki_y{
	padding:15px;
	margin-bottom: 1.5em;
	margin-right:15px;
	position: relative;
	background-color: #f7d172;
	border: 2px solid #fff;
	border-radius: 0.5em;
	box-sizing:border-box;
}
.fki_y:before, .fki_y:after{
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -1.5em;
	border-top: 1.5em solid #fff;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
}
.fki_y:after{
	bottom: calc( 4px - 1.5em );
	border-top: solid 1.5em #f7d172;
}
.fki_y h4{
	font-size:14px;
	font-weight:bold;
	line-height:1.3;
	text-align:justify;
	margin-bottom:10px;
}
.fki_y h4 span{ color:#c94c19;}

.fki_y p{
	font-size:12px;
	line-height:1.5;
	text-align:justify;
}
.tec_txt{
	min-width:730px;
}
.tec_txt h3{font-size:25px; font-weight:bold; line-height:1.3; margin-bottom:15px;}
.tec_txt p{font-size:14px; line-height:1.5;}

.kotei{
	display:flex;
	justify-content: space-between;
	margin-top:25px;
}
.kotei div{
	width:228px;
	height:176px;
	border-radius:10px;
	text-align:center;
	vertical-align:middle;
	overflow:hidden;
}
.kotei li{position:relative;}
.kotei p{
	position:absolute;
	bottom:-30px;
	font-size:18px;
	font-weight:bold;
}
.prdct{
	position:relative;
	background-color:#eeefef;
	border:solid 2px #c9151e;
	border-radius:10px;
	box-sizing:border-box;
	margin:50px 0 25px;
	text-align:center;
	font-size:16px;
	font-weight:bold;
	padding:30px 0 15px;
}
.prdct h2{
	position:absolute;
	top:-16px;
	left:0;
	right:0;
	margin: 0 auto;
	width:357px;
	line-height:30px;
	padding-top:2px;
	background-color:#c9151e;
	color:#fff;
	border-radius:5px;
}
.prd_p{display:flex;justify-content: space-between;}
.prd_p div{
	width:182px;
	height:176px;
	border-radius:10px;
	text-align:center;
	vertical-align:middle;
	overflow:hidden;
}
.prd_p li:nth-child(2) div{width:374px;}



/*//////////////////////////////////////////////   会社案内   //////////////////////////////////////////////*/


.sc_top2{
	background:url(img/cmp_top.png) no-repeat right top,linear-gradient(180deg, transparent 0%, transparent 80%, rgba(110,200,227,0.5) 80%, rgba(110,200,227,0.5) 100%);
	height:307px;
	position:relative;
}
.cmp_txt{width:483px;}
.cmp_txt h3{font-size:25px; font-weight:bold; line-height:1.3; margin-bottom:15px;}
.cmp_txt p{font-size:14px; line-height:1.5; text-align:justify;}
.cmp_txt div p{
	width:290px;
	text-align:right;
	margin:20px 0 15px;
}
.cmp_txt h5{font-size:20px; margin-top:20px;text-align:right;}
.r10{border-radius:10px;}

.cmp_tab,.cmp_tab2{font-size:14px; line-height:1.4; border-top:solid 1px #000;}
.cmp_tab{width:450px;}
,.cmp_tab2{width:100%;}
.cmp_tab th,.cmp_tab2 th{
	text-align:left;
	background-color:#ebf7fd;
	padding:10px 15px;
	border-bottom:solid 1px #000;
}
.cmp_tab td,.cmp_tab2 td{
	text-align:left;
	padding:10px 15px;
	border-bottom:solid 1px #000;
}

.shaoku1{width:457px;}
.shaoku2{display:flex;justify-content: flex-end;}
.shaoku1 div,.shaoku2 div{position:relative;}
.shaoku1 div{margin-bottom:7px;}
.shaoku2 div{width:293px;}
.shaoku2 div:last-child{width:326px; margin-left:7px;}
.shaoku1 h5,.shaoku2 h5{
	position:absolute;
	top:10px;
	left:10px;
	font-size:12px;
	background-color:#108ccf;
	color:#fff;
	line-height:18px;
	padding:2px 10px 0;
	border-radius:4px;
}
.shaoku1 p,.shaoku2 p{
	position:absolute;
	bottom:0;
	font-size:16px;
	background-color:rgba(0,0,0,.5);
	color:#fff;
	line-height:30px;
	padding:2px 10px 0;
	width:100%;
	box-sizing:border-box;
}


/*//////////////////////////////////////////////   赤穂の地とともに   //////////////////////////////////////////////*/


.sc_top4{
	background:url(img/ako_top.png) no-repeat right top,linear-gradient(180deg, transparent 0%, transparent 80%, rgba(254,225,144,0.5) 80%, rgba(254,225,144,0.5) 100%);
	height:314px;
	position:relative;
}
.ako_ttl{
	width:1000px;
	margin:0 auto;
	padding-top:43px;
}
.ako_ttl h1{
	font-size:40px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin-left:35px;
	margin-top:80px;
}
.ako_ttl_e{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	color:#f08336;
	transform: rotate(-20deg);
	width:340px;
	height:43px;
	font-size:43px;
	margin-left:60px;
	margin-top:-140px;
}

.akoh2{
	font-size:27px;
	font-weight:bold;
	color:#e94609;
	margin-bottom:10px;
}
.akoh3{
	font-size:24px;
	line-height:1.2;
	font-weight:bold;
	margin-bottom:15px;
	text-align:justify;
}
.w600{width:600px;}

.bg_ye p{
	font-size:14px;
	line-height:1.5;
	text-align:justify;
}

.bg_ye{background-color:rgba(254,225,144,0.5);}

.ako_map{text-align:center;}
.ako_map img{margin-top:-110px;}

.p_re{position:relative;}
.chushingura{
	position:relative;
	margin-left:70px;
	width:350px;
	padding:15px;
	background:#fef8ea;
	border:solid 1px #e94609;
	border-radius:10px;
	box-sizing:border-box;
	font-size:16px;
	font-weight:bold;
	text-align:left;
}
.chushingura p{font-weight:normal; margin-top:10px;}
.chushingura img{
	position:absolute;
	top:90px;
	left:320px;
}
.srf{display:none;}

.area_btn{
	display:flex;
	justify-content: space-between;
	margin-bottom:40px;
}
.ako_area:hover img{box-shadow:0 5px 5px rgba(0,0,0,0.3);}
.ako_area{
	position:relative;
	width:208px;
	display:inline-block;
}
.ako_area span{
	position:absolute;
	display:inline-block;
	font-size:26px;
	line-height:36px;
	height:36px;
	width:36px;
	border-radius:50%;
	background-color:#008cd6;
	color:#fff;
	font-weight:bold;
	text-align:center;
	font-family: "Brygada 1918", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	z-index:5;
}
.ako_area h3{
	position:absolute;
	right:0;
	font-size:12px;
	border-radius:10px;
	background-color:#008cd6;
	color:#fff;
	padding:8px 0 3px 16px;
	border-radius:0 10px 10px 10px;
	width:189px;
	margin-left:19px;
	box-sizing:border-box;
}
.ako_area h3 b{font-size:18px; font-weight:bold; line-height:1.2;}
.ako_area img{
	margin-left:12px;
	border-radius:10px;
}
.ako_area p{
	position:absolute;
	bottom:10px;
	left:20px;
	display:inline-block;
	background-color:#980011;
	color:#fff;
	font-size:16px;
	line-height:26px;
	padding:2px 10px 0;
	border-radius:5px;
}

#area01,#area02,#area03,#area04{
	width:520px;
	background-color:#fef0c7;
	padding:30px;
	box-sizing:border-box;
	margin:0;
}
#area01 img,#area02 img,#area03 img,#area04 img{
	margin-bottom:15px;
	border-radius:15px;
	object-fit: cover;
	width:460px;
	height:350px;
}
#area01 h4,#area02 h4,#area03 h4,#area04 h4{
	font-size:18px;
	font-weight:bold;
	color:#007cc5;
}
#area01 h3,#area02 h3,#area03 h3,#area04 h3{
	font-size:24px;
	font-weight:bold;
	color:#fff;
	background-color:#007cc5;
	line-height:40px;
	border-radius:10px;
	padding:3px 10px 0 50px;
	margin:10px 0 15px;
	position:relative;

}
#area01 h3 span,#area02 h3 span,#area03 h3 span,#area04 h3 span{
	position:absolute;
	left:10px;
	top:6px;
	width:30px;
	height:30px;
	line-height:30px;
	background-color:#fff;
	color:#007cc5;
	border-radius:50%;
	font-family: "Brygada 1918", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	display:inline-block;
	text-align:center;
}
#area01 p,#area02 p,#area03 p,#area04 p{
	font-size:14px;
	line-height:1.5;
	text-align:justify;
}

.top50{margin-top:50px;}
.ako_his{
	text-align:center;
	margin:30px auto 45px;
	width:623px;
	font-size:18px;
	font-weight:bold;
	line-height:40px;
	background-color:#007cc5;
	border-radius:10px;
	color:#fff;
}

.l_jin{
	width:487px;
	padding:15px;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	font-size:14px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:1.5;
	margin-left:136px;
	position:relative;
	margin-bottom:15px;
}
.l_jin:before {
  content:'';
  background-image:url(img/jinta.png);
  width:97px;
  height:123px;
  background-size: contain;
  vertical-align: middle;
  display:inline-block;
  position:absolute;
  left:-136px;
  top:50%;
  margin-top:-61px;
}
.l_jin:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(204, 204, 204, 0);
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:30px;
    border-right-width:30px;
    margin-top: -9px;
    border-right-color:#fff;
    right:100%;
    top:50%;
}

.l_sui{
	width:487px;
	padding:15px;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	font-size:14px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:1.5;
	margin-left:136px;
	position:relative;
	margin-bottom:15px;
}
.l_sui:before {
  content:'';
  background-image:url(img/rec_suita.svg);
  width:101px;
  height:94px;
  background-size: contain;
  vertical-align: middle;
  display:inline-block;
  position:absolute;
  left:-136px;
  top:50%;
  margin-top:-47px;
}
.l_sui:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(204, 204, 204, 0);
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:30px;
    border-right-width:30px;
    margin-top: -9px;
    border-right-color:#fff;
    right:100%;
    top:50%;
}

.r_bos{
	width:487px;
	padding:15px;
	padding-right:0;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	font-size:14px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:1.5;
	margin-left:238px;
	position:relative;
	margin-bottom:15px;
}
.r_bos:before {
  content:'';
  background-image:url(img/ako_shacho.png);
  width:104px;
  height:104px;
  background-size: contain;
  vertical-align: middle;
  display:inline-block;
  position:absolute;
  right:-135px;
  top:50%;
  margin-top:-52px;
}
.r_bos:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(204, 204, 204, 0);
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:30px;
    border-right-width:30px;
    margin-top: -9px;
    border-left-color:#fff;
    left:100%;
    top:50%;
}


/*//////////////////////////////////////////////   赤穂の地とともに 2   //////////////////////////////////////////////*/


.ako02_repo{
	font-size:16px;
	font-weight:bold;
	color:#b81c22;
	margin-bottom:10px;
}

.ako_inst{
	display:flex;
	align-items:flex-end;
	float:right;
	margin-top:-75px;
}
.ako_inst img{width:212px;}
.ins_l{display:flex;align-items:flex-end;}
.srf_inst1{
    position:relative;
    background:#F9C170;
    padding:10px;
    color:#000;
    font-size:12px;
	line-height:1.2;
    font-weight:bold;
    border-radius:10px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
	margin-right:5px;
}
.srf_inst1:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(249, 193, 112, 0);
    border-top-width:8px;
    border-bottom-width:8px;
    border-left-width:17px;
    border-right-width:17px;
    margin-top: -8px;
    border-left-color:#F9C170;
    left:100%;
    top:50%;
}

.srf_inst2{
    position:relative;
    width:160px;
    background:#F9C170;
    padding:10px;
	text-align:justify;
    color:#000;
    font-size:12px;
	line-height:1.2;
    font-weight:bold;
    border-radius:10px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
	margin-left:15px;
	box-sizing:border-box;
}
.srf_inst2:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(249, 193, 112, 0);
    border-top-width:8px;
    border-bottom-width:8px;
    border-left-width:17px;
    border-right-width:17px;
    margin-top: -8px;
    border-right-color:#F9C170;
    right:100%;
    top:50%;
}

.instlnk{display:flex;justify-content: space-between; align-items: center;}
.arrow_box{
    position:relative;
    background:#B81C22;
    padding:5px;
    text-align:left;
    color:#fff;
    font-size:12px;
    font-weight:bold;
	margin:15px 0;
}
.arrow_box:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(184, 28, 34, 0);
    border-top-width:30px;
    border-bottom-width:30px;
    border-left-width:22px;
    border-right-width:22px;
    margin-top: -30px;
    border-left-color:#B81C22;
    left:100%;
    top:50%;
}

.insta{
	background-color:#fff;
	border-radius:10px;
	height:56px;
	width:56px;
	padding:8px;
	box-sizing:border-box;
}
.insta img{width:40px;}
.insta:hover{opacity:.8;}


.ako02_bg{
	background-color:#fff;
	padding:15px 60px 60px;
	border-radius:10px;
	box-sizing:border-box;
	width:860px;
	margin:15px auto 0;
}

.ako02_top{position:relative; margin-bottom:25px;}
.ako02_top h2{
	font-size:22px;
	font-weight:bold;
	padding-bottom:2px;
	border-bottom:solid 1px #B81C22;
	margin:20px 0 22px;
}
.ako02_top h3{
	font-size:18px;
	font-weight:bold;
	line-height:1.4;
	color:#B81C22;
	margin-bottom:7px;
	width:417px;
}
.ako02_top img{
	position:absolute;
	top:-20px;
	right:-22px;
	border-radius:50%;
}

.report,.repo_end{margin-top:45px;}
.report h3,.repo_end h3{
	font-size:18px;
	font-weight:bold;
	line-height:1.4;
	color:#B81C22;
	margin-bottom:7px;
}
.report_box{
	display:flex;
	justify-content: space-between;
	margin-top:10px;
}
.report_box p{
	font-size:14px;
	line-height:1.6;
	margin:25px 0 0 35px;
	text-align:justify;
}

.repo_end p{
	font-size:14px;
	line-height:1.6;
	text-align:justify;
}

.gishisai{
	background-color:#e9e5e2;
	padding:20px;
	border-radius:10px;
	box-sizing:border-box;
	margin-top:35px;
	display:flex;
	justify-content: space-between;
	box-sizing:border-box;
}
.gishisai div{margin-left:15px;}
.gishisai h3{
	font-size:16px;
	font-weight:bold;
	margin-bottom:15px;
}
.gishisai h3:first-letter{ color:#B81C22;}
.mb_ins{display:none;}


/*//////////////////////////////////////////////   採用情報   //////////////////////////////////////////////*/


.sc_top3{
	background:url(img/rec_top.png) no-repeat right top,linear-gradient(180deg, transparent 0%, transparent 80%, rgba(251,221,234,0.5) 80%, rgba(251,221,234,0.5) 100%);
	height:320px;
	position:relative;
}
.sc_ttl{
	width:1000px;
	margin:0 auto;
	padding-top:66px;
}
.sc_ttl h1{
	font-size:40px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin-left:35px;
	letter-spacing:.5em;
}
.sc_ttl_e2{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	color:#f19ec2;
	transform: rotate(-20deg);
	width:340px;
	height:43px;
	font-size:43px;
	margin-left:110px;
}

.bg_pk{background-color:rgba(251,221,234,0.5);}

.rec_top{margin-bottom:50px;}
.rec_top h2{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	font-size:70px;
	color:#aaabab;
	margin-bottom:10px;
}
.rec_top h3{font-size:22px; font-weight:bold;}

.menu,.menu2{
	position:fixed;
	top:155px;
	right:0;
	z-index:1000;
}
.menu a, .menu2 a{
	display:inline-block;
	text-decoration:none;
	border-radius:19px 0 0 19px;
	width:205px;
	height:38px;
	line-height:36px;
	color:#727171;
	padding:0 18px;
	box-sizing:border-box;
	font-size:12px;
	background-color:#fff;
	transition :0.25s;
	margin-bottom:5px;
	box-shadow:0 5px 5px rgba(0,0,0,.3);
}
.menu a{border:solid 2px #c9151e;border-right:none;}
.menu2 a{border:solid 2px #e94609;border-right:none;}

.menu a span, .menu2 a span{font-size:20px; font-weight:bold;vertical-align:middle;}
.stay a,.menu a:hover{
	background-color:#c9151e;
	border:solid 2px #fff;
	border-right:none;
	color:#fff;
}
.stay2 a, .menu2 a:hover{
	background-color:#e94609;
	border:solid 2px #fff;
	border-right:none;
	color:#fff;
}
.int_ttl{border-bottom:solid 6px #c9151e; margin-bottom:10px;}
.int_ttl2{border-bottom:solid 6px #204fa2; margin-bottom:10px;}
.int_ttl h3,.int_ttl2 h3{
	width:303px;
	border-radius:10px 10px 0 0;
	color:#fff;
	font-size:20px;
	padding:13px 0 3px 20px;
}
.int_ttl h3{background-color:#c9151e;}
.int_ttl2 h3{background-color:#204fa2;}

.int_ttl h3 span,.int_ttl2 h3 span{font-weight:bold;}
h4.name{
	font-size:30px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin-bottom:40px;
}
h4.name span{font-size:20px;}

.int_box{display:flex;justify-content: space-between; margin-bottom:90px;} 
.int_box div:first-child{width:610px; margin-top:10px;}
.q_bpx,.q_bpx2{
	padding:10px 10px 5px;
	box-sizing:border-box;
	border-radius:10px;
	font-size:16px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	width:100%;
	position:relative;
	margin:45px 0 15px;
}
.q_bpx{background-color:#fff;}
.q_bpx2{background-color:#fbe0eb;}
.q_bpx::before,.q_bpx2::before {
	position:absolute;
	content: url('img/rec_suita.svg');
	right:0;
	bottom:-5px;
}
.q_bpx h4,.q_bpx2 h4{font-weight:bold;}
.q_bpx h4 span,.q_bpx2 h4 span{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	margin-right:0.8em;
	vertical-align:middle;
	color:#c9151e;
	font-size:24px;
}
.q_bpx h4::first-letter,.q_bpx2 h4::first-letter{font-size:38px; margin-right:0.2em;}

.a_bpx{
	font-size:20px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	width:100%;
	box-sizing:border-box;
	padding-left:25px;
	width:530px;
}
.a_bpx h4{
	font-weight:bold;
	padding-left:54px;
	text-indent:-54px;
	text-align:justify;
	line-height:1.5;
}
.a_bpx h4 span{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	margin-right:1em;
	color:#204fa2;
	font-size:38px;
	margin-right:0.6em;
	line-height:1;
}


/*//////////////////////////////////////////////   採用情報2   //////////////////////////////////////////////*/


.recform_top{
	text-align:center;
	font-size:27px;
	font-weight:bold;
	letter-spacing:.5em;
	margin-bottom:17px;
}
.summary{
	background-color:#fff;
	width:100%;
	box-sizing:border-box;
	border-left:solid 20px #fff;
	border-right:solid 20px #fff;
	margin-bottom:75px;
}
.summary caption{
	text-align:left;
	font-size:20px;
	padding-left:20px;
	padding-top:2pt;
	line-height:40px;
	color:#fff;
}
.red{background-color:#c8161d;}
.blue{background-color:#0073bd;}
.summary tr:not(:last-child){border-bottom:solid 1px #000;}
.summary th{
	text-align:left;
	font-size:16px;
	font-weight:bold;
	padding:25px 0;
	width:195px;
	box-sizing:border-box;
}
.summary td{
	font-size:14px;
	line-height:1.5;
	padding:25px 0;
	box-sizing:border-box;
}
.summary td p{
	padding-left:2em;
	text-indent:-1em;
}
.summary td span{
	font-size:24px;
}

.recform_ttl{
	text-align:center;
	font-size:27px;
	font-weight:bold;
	letter-spacing:.5em;
	margin-bottom:20px;
	padding-bottom:10px;
	border-bottom:solid 5px #c8161d;
}
.rec_txt{
	font-size:16px;
	line-height:1.7;
	margin-bottom:25px;
}
.mailform{
	background-color:#fff;
	width:100%;
	box-sizing:border-box;
	border-left:solid 20px #fff;
	border-right:solid 20px #fff;
	margin-bottom:75px;
}
.mailform th{
	text-align:left;
	font-size:14px;
	font-weight:normal;
	padding:25px 0;
	width:195px;
	box-sizing:border-box;
	vertical-align:middle;
}
.mailform tr:not(:last-child){border-bottom:solid 1px #000;}
.mailform th span{color:#F00;}
.mailform th p{font-size:70%; color:#999;}
.mailform td{
	font-size:14px;
	line-height:1.5;
	padding:25px 0;
	box-sizing:border-box;
}
.mailform textarea {resize:vertical;width:100%; min-width:100%;}
.form_btn{
	display:inline-block;
	width:138px;
	line-height:38px;
	font-size:14px;
	color:#fff;
	background:#5d8ec0;
	border:none;
	border-radius:5px;
	margin:0 10px;
	cursor: pointer;
	transition :0.25s;
}
.form_btn:hover{background-color:#0073bd;transition :0.25s;}
.fo_txt{width:50%; min-width:50%;}
.fo_txt2{width:50%; min-width:50%;}
.center{text-align:center;}
.pp_link{width:700px;margin:0 auto; text-align:center;}
.pp_link a{
	display:inline-block;
	text-decoration:none;
	width:526px;
	line-height:38px;
	font-size:14px;
	color:#fff;
	background:#0073bd;
	border:none;
	border-radius:5px;
	margin-bottom:60px;
	transition :0.25s;
}
.pp_link a:hover{background:#005d99;transition :0.25s;}
input,select{padding:3px;}


/*//////////////////////////////////////////////   個人情報保護方針   //////////////////////////////////////////////*/

.ppbox{width:100%; margin-bottom:30px;}
.ppbox h3{
	text-align:left;
	font-size:20px;
	color:#980011;
	font-weight:bold;
	line-height:1.5;
}
.ppbox p{
	text-align:justify;
	font-size:14px;
	line-height:1.8;
}
.dwn1{padding-left:1.5em;}
.dwn2{padding-left:2.5em;}



}
@media only screen and (max-width: 767px) {/*//////////////////////////////////////////////   モバイル用   //////////////////////////////////////////////*/

.pc{display:none;}
.mb{}
body{min-width:100%;position: relative;}

#container_0{
	width:100%;
	min-height:100%;
	position:relative;
	box-sizing:border-box;
	background-image:url(img/topbg_l.svg),url(img/topbg_r.svg);
	background-size:70%;
	background-repeat:repeat-y,repeat-y;
	background-position:left -25.6vw top -27.7vw,right -33.3vw top 33.3vw;
	flex: 1;
}
#container_1{
	width:100%;
	min-height:100%;
	position:relative;
	box-sizing:border-box;
	background-image:url(img/bg_bl.svg),url(img/bg_bl.svg);
	background-size:70%;
	background-repeat:repeat-y,repeat-y;
	background-position:left -25.6vw top 17.18vw,right -32.8vw top 76.9vw;
	flex: 1;
}
#container_2{
	width:100%;
	min-height:100%;
	position:relative;
	box-sizing:border-box;
	background-image:url(img/bg_pk.svg),url(img/bg_pk.svg);
	background-size:70%;
	background-repeat:repeat-y,repeat-y;
	background-position:left -25.6vw top 17.18vw,right -32.8vw top 76.9vw;
	flex: 1;
}
#container_3{
	width:100%;
	min-height:100%;
	position:relative;
	box-sizing:border-box;
	background-image:url(img/bg_be.svg),url(img/bg_be.svg);
	background-size:70%;
	background-repeat:repeat-y,repeat-y;
	background-position:left -25.6vw top 17.18vw,right -32.8vw top 76.9vw;
	background-color:rgba(233,219,204,0.4);
	flex: 1;
}
#container_4{
	width:100%;
	min-height:100%;
	position:relative;
	box-sizing:border-box;
	background-image:url(img/bg_be.svg),url(img/bg_be.svg);
	background-size:70%;
	background-repeat:repeat-y,repeat-y;
	background-position:left -25.6vw top 17.18vw,right -32.8vw top 76.9vw;
	flex: 1;
}

/*//////////////////////////////////////////////   ヘッダ   //////////////////////////////////////////////*/

header{padding:20px 0;}
.hdlg img{margin-left:10px; width:min(60%,380px);}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:20px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
	background-color:rgba(184,28,35,0.9);
	border-radius:5px;
}
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #fff;
  	width: 45%;
  }
.openbtn span:nth-of-type(1) {top:15px;}
.openbtn span:nth-of-type(2) {top:23px;}
.openbtn span:nth-of-type(3) {top:31px;}
.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}
.openbtn.active span:nth-of-type(2) {opacity: 0;}
.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
/*========= ボタンのためのCSS ===============*/

nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:0;
    right: -120%;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background-color:rgba(184,28,35,0.8);
    /*動き*/
	transition: all 0.4s;
}

/*アクティブクラスがついたら位置を0に*/
nav.panelactive{right: 0;}


/*ナビゲーション*/
nav>ul{
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

nav>ul li{
	list-style: none;
    text-align: center; 
}

nav>ul li a{
	color: #fff;
	text-decoration: none;
	padding:12px 10px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	white-space: nowrap;
}
nav>ul li.current a{ font-weight:bold; color:#FF0;}
nav>ul li.current a::before {
	content: "▶︎ ";
}
nav li:nth-child(2),.hdbox li:nth-child(9){border-top:solid 1px #fff; margin-top:12px; padding-top:12px;}

nav img{ margin:20px; width:50%;}


.jnj{display:none;}




/*//////////////////////////////////////////////   フッタ   //////////////////////////////////////////////*/

footer{
	position: sticky;
	top: 100vh;
	width:100%;
	background:url(img/footer_bg.png) center center no-repeat #b81c22;
	box-sizing:border-box;
	padding:25px 5% 20px;
	color:#fff;
	font-size:12px;
	line-height:1.7;
}
footer a{text-decoration:none;color:#fff;}

.ft_box{width:100%;}
.ud{margin-top:20px; font-size:10px;}
.ud img{margin-top:5px; width:MIN(85%,400PX);}
.ft_l p{
	border-top:solid 1px #fff;
	margin-top:10px;
	padding-top:10px;
}
.ft_r{display:none;}
.ud p{margin-top:20px;}

.ft_rgbox{display:flex;justify-content: space-between; align-items:center;}
.ft_rgbox a{background:#fff; padding:10px; border-radius:10px;}

/*//////////////////////////////////////////////   TOPページ   //////////////////////////////////////////////*/


h2.topcp{
	font-family: "Noto Sans JP", sans-serif;
	font-weight:900;
}
main{padding:0 0 80px;}
main.akomain{padding:0;}
.scbox{
	width:100%;
	margin:0 auto;
	min-height:100px;
	box-sizing:border-box;
}
.cpy{
	text-align:center;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	font-size:3.7vw;
}
.cpy span{color:#1e51a2;}
.cpy em{
	font-size:9.6vw;
	line-height:1.4;
	color:#b81c22;
}

.tec_box{display:flex;flex-direction:column;}
.tp_tc{width:100%;}
.tp_tc a,.tp_ak a{position:relative; display:block; aspect-ratio: 39 / 16.666;  object-fit: cover; overflow:hidden; width:100%;}
.tp_tc a img:first-child,.tp_ak a img:first-child{width:100%;}
.tp_tc a img{vertical-align:middle;}
.ovr{
	position:absolute;
	top:13px;
	left:0;
}
.tc_l a{margin-bottom:5px;}
.fk1,.fk2,.fk3,.fk4,.fk5{display:none;}
.tc_r a img:first-child{margin-top:-100px;}

.odr{display:flex;flex-direction:column;}
.odr h2{order:-1; margin:0 0 15px 5%;}

.tec_box h2,.tp_ak h2{
	font-size:min(6.6vw,35px);
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	margin-top:20px;
}
.tec_box h2{color:#148cc2;}
.tp_ak{display:flex;flex-direction:column; margin-top:60px;}
.tp_ak h2{color:#eb6100;order:-1; margin:0 0 15px 5%;}

.suita{
	margin:10px auto 0;
	text-align:left;
	display:flex;
	align-items:flex-end;
}
.jinta{
	margin:10px auto 0;
	text-align:left;
	display:flex;
	align-items:flex-end;
}
.suita p,.jinta p{margin-left:-30px; font-size:12px;}

.pd1{padding:30px 0 50px;}
.pd2{padding:30px 5%;}
.pd3{padding:30px 5% 60px;}
.pd4{padding:0 0 70px;}
.pd5{padding:75px 5% 0;}
.pd6{padding:15px 5% 30px;}
.pd7{padding:75px 5% 30px;}
.pd8{padding:75px 5% 0;}
.pd9{padding:15px 5% 30px;}

.ak{background-color:#fef0cb;}
.ak img{width:100%;}
.ak_txt{
	text-align:justify;
	line-height:1.5;
}
.ak_txt h3{
	font-size:19px;
	font-weight:bold;
	margin-top:20px;
}
.ak_txt p{font-size:14px; margin-top:10px;}

.flx{display:flex;flex-direction:column;}


.tp_ak {position:relative;}
.cs{
	text-align:center;
	position:absolute;
	top:130px;
	right:0;
	left:0;
	font-size:25px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	color:#F00;
	text-shadow: 4px 4px 4px #fff, -4px -4px 4px #fff,
  -4px 4px 4px #fff,  4px -4px 4px #fff,
  4px 0 4px #fff, -4px  0 4px #fff,
  0 4px 4px #fff,  0 -4px 4px #fff;
}

/*//////////////////////////////////////////////   事業案内   //////////////////////////////////////////////*/


.sc_top{
	background:url(img/tec_top.png) no-repeat left top;
	background-size:130%;
	position:relative;
	padding-bottom:70px;
}
.sc_ttl{
	width:100%;
	margin:0 auto;
	padding-top:min(61.5vw,350px);
}
.sc_ttl h1{
	font-size:35px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin-left:5%;
	letter-spacing:.5em;
}
.sc_ttl_e{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	color:#82cddf;
	font-size:30px;
	margin-left:3em;
}

.bg_bl{background-color:rgba(110,200,227,0.5);}

.tp01{border-top:solid 4px #fff; margin-bottom:28px;}
.tp02{border-top:solid 4px #2a71b9; margin-bottom:28px;}
.tp01 h2,.tp02 h2{
	font-size:18px;
	font-weight:bold;
	padding-top:8px;
	letter-spacing:1em;
}
.fki_y{
	order:1;
	padding:15px;
	margin-top:20px;
	margin-bottom: 1.5em;
	position: relative;
	background-color: #f7d172;
	border: 2px solid #fff;
	border-radius: 0.5em;
	box-sizing:border-box;
}
.fki_y:before, .fki_y:after{
	content: '';
	position: absolute;
	left: 25%;
	transform: translateX(-50%);
	bottom: -1.5em;
	border-top: 1.5em solid #fff;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
}
.fki_y:after{
	bottom: calc( 4px - 1.5em );
	border-top: solid 1.5em #f7d172;
}
.fki_y h4{
	font-size:14px;
	font-weight:bold;
	line-height:1.3;
	text-align:justify;
	margin-bottom:10px;
}
.fki_y h4 span{ color:#c94c19;}

.fki_y p{
	font-size:12px;
	line-height:1.5;
	text-align:justify;
}
.tec_txt{
	min-width:100%;
	text-align:justify;
}
.tec_txt h3{font-size:25px; font-weight:bold; line-height:1.3; margin-bottom:15px;}
.tec_txt p{font-size:14px; line-height:1.5;}

.ktbox{display:flex;justify-content: space-between; align-items:flex-start; width:100%;}
.kotei{
	display:flex;
	flex-direction:column;
	width:50%;
}
.kotei div{
	width:100%;
	aspect-ratio: 167 / 105;
	object-fit: cover;
	border-radius:10px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow:hidden;
}
.kotei div img{width:100%;}
.w40{width:50%;}
.kotei li{position:relative; margin-bottom:10px; padding-left:5%;}
.kotei p{
	position:absolute;
	bottom:5px;
	right:5px;
	font-size:18px;
	font-weight:bold;
	color:#fff;
}
.prdct{
	position:relative;
	background-color:#eeefef;
	border:solid 2px #c9151e;
	border-radius:10px;
	box-sizing:border-box;
	margin:30px 0 15px;
	text-align:center;
	font-size:16px;
	line-height:1.5;
	font-weight:bold;
	padding:30px 15px 15px;
}
.prdct h2{
	position:absolute;
	top:-16px;
	left:0;
	right:0;
	margin: 0 auto;
	width:200px;
	line-height:30px;
	padding-top:2px;
	background-color:#c9151e;
	color:#fff;
	border-radius:5px;
}
.prd_p{display:flex;flex-wrap: wrap; width:100%;}
.prd_p li{width:49%;}
.prd_p li img{width:100%;}
.prd_p li:nth-child(odd){margin-right:2%;}
.prd_p div{
	aspect-ratio: 167 / 105;
	object-fit: cover;
	margin-bottom:10px;
	border-radius:10px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow:hidden;
}
.prd_p li:nth-child(2) img{height:100%; width:auto;}


/*//////////////////////////////////////////////   会社案内   //////////////////////////////////////////////*/


.sc_top2{
	background:url(img/cmp_top.png) no-repeat left top;
	background-size:130%;
	position:relative;
	padding-bottom:70px;
}
.cmp_txt{width:100%; margin-bottom:20px;}
.cmp_txt h3{font-size:25px; font-weight:bold; line-height:1.3; margin-bottom:15px;}
.cmp_txt p{font-size:14px; line-height:1.5; text-align:justify;}
.cmp_txt div{margin-left:2em;}
.cmp_txt div p{
	width:15em;
	text-align:right;
	margin:20px 0 15px;
}
.cmp_txt h5{font-size:18px; margin-top:18px;text-align:right; line-height:1.5;}
.cmp_txt h5 span{white-space: nowrap;}
.r10{border-radius:10px; width:70%; margin:0 auto;}

.cmp_tab,.cmp_tab2{width:100%; margin-left:auto; margin-right:auto; text-align:left; font-size:14px; line-height:1.5;}
.cmp_tab th,.cmp_tab td,.cmp_tab2 th,.cmp_tab2 td{vertical-align:middle;display:block;}
.cmp_tab th{background-color:rgba(110,200,227,0.5); padding:5px 10px;}
.cmp_tab2 th{background-color:#fff; padding:5px 10px;}
.cmp_tab td,.cmp_tab2 td{padding:10px 10px 20px; text-align:justify;}


.shaoku1 img,.shaoku2 img{width:100%;}
.shaoku1{width:100%; margin-top:20px;}
.shaoku2{display:flex;flex-direction:column; margin-bottom:60px;}
.shaoku1 div,.shaoku2 div{position:relative;}
.shaoku1 div{margin:10px 0;}
.shaoku2 div{width:100%;margin:0 0 10px;}
.shaoku1 h5,.shaoku2 h5{
	position:absolute;
	top:10px;
	left:10px;
	font-size:12px;
	background-color:#108ccf;
	color:#fff;
	line-height:18px;
	padding:2px 10px 0;
	border-radius:4px;
}
.shaoku1 p,.shaoku2 p{
	position:absolute;
	bottom:0;
	font-size:16px;
	background-color:rgba(0,0,0,.5);
	color:#fff;
	line-height:30px;
	padding:2px 10px 0;
	width:100%;
	box-sizing:border-box;
}


/*//////////////////////////////////////////////   赤穂の地とともに   //////////////////////////////////////////////*/


.sc_top4{
	background:url(img/ako_top.png) no-repeat left top;
	background-size:130%;
	position:relative;
	padding-bottom:70px;}
.ako_ttl{
	width:100%;
	margin:0 auto;
	padding-top:min(61.5vw,350px);
}
.ako_ttl h1{
	font-size:35px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin-left:5%;
}
.ako_ttl_e{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	color:#f08336;
	font-size:30px;
	margin-left:3em;
}

.akoh2{
	font-size:27px;
	font-weight:bold;
	color:#e94609;
	margin-bottom:10px;
}
.akoh3{
	font-size:24px;
	line-height:1.2;
	font-weight:bold;
	margin-bottom:15px;
	text-align:justify;
}

.bg_ye p{
	font-size:14px;
	line-height:1.5;
	text-align:justify;
}

.bg_ye{background-color:rgba(254,225,144,0.5);}

.ako_map{
	width:90%;
	text-align:center;
	margin:0 auto;
}
.p_re{position:relative;}
.chushingura{
	padding:15px;
	background:#fef8ea;
	border:solid 1px #e94609;
	border-radius:10px;
	box-sizing:border-box;
	font-size:16px;
	font-weight:bold;
}
.chushingura p{font-weight:normal; margin-top:5px;}
.chushingura img{display:none;}

.srf{margin:20px 0;text-align:center;}
.chara{width:250px; margin:15px 0 30px;}
.srf1,.srf2{
	position:relative;
	width:90%;
	margin:0 auto;
	padding:15px;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	font-size:14px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:1.5;
	text-align:justify;
	display: flex;
    justify-content: center;
}
.srf1:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(204, 204, 204, 0);
    border-top-width:17px;
    border-bottom-width:17px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    border-top-color:#fff;
    top:100%;
    left:35%;
}
.srf2:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(204, 204, 204, 0);
    border-top-width:17px;
    border-bottom-width:17px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    border-bottom-color:#fff;
    bottom:100%;
    left:65%;
}

.area_btn{
	display:flex;
	flex-direction:column;
}
.ako_area{
	position:relative;
	width:100%;
	display:inline-block;
	margin-bottom:20px;
}
.ako_area span{
	position:absolute;
	display:inline-block;
	font-size:26px;
	top:10px;
	width:36px;
	color:#fff;
	font-weight:bold;
	text-align:center;
	font-family: "Brygada 1918", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	z-index:5;
}
.ako_area h3{
	position:absolute;
	font-size:12px;
	border-radius:10px;
	background-color:#008cd6;
	color:#fff;
	padding:8px 0 3px 35px;
	border-radius:10px;
	width:100%;
	box-sizing:border-box;
}
.ako_area h3 b{font-size:18px; font-weight:bold; line-height:1.2;}
.ako_area img{
	border-radius:10px;
	width:100%;
	object-fit: cover;
	aspect-ratio: 5 / 2;
}
.ako_area p{
	position:absolute;
	bottom:10px;
	left:10px;
	display:inline-block;
	background-color:#980011;
	color:#fff;
	font-size:16px;
	line-height:26px;
	padding:2px 10px 0;
	border-radius:5px;
}

#area01,#area02,#area03,#area04{
	background-color:#fef0c7;
	padding:20px 3%;
	box-sizing:border-box;
	margin:0;
}
#area01 img,#area02 img,#area03 img,#area04 img{
	margin-bottom:15px;
	border-radius:15px;
	object-fit: cover;
	width:100%;
	aspect-ratio: 46 / 35;
}
#area01 h4,#area02 h4,#area03 h4,#area04 h4{
	font-size:18px;
	font-weight:bold;
	color:#007cc5;
}
#area01 h3,#area02 h3,#area03 h3,#area04 h3{
	font-size:24px;
	font-weight:bold;
	color:#fff;
	background-color:#007cc5;
	line-height:40px;
	border-radius:10px;
	padding:3px 10px 0 50px;
	margin:10px 0 15px;
	position:relative;

}
#area01 h3 span,#area02 h3 span,#area03 h3 span,#area04 h3 span{
	position:absolute;
	left:10px;
	top:6px;
	width:30px;
	height:30px;
	line-height:30px;
	background-color:#fff;
	color:#007cc5;
	border-radius:50%;
	font-family: "Brygada 1918", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	display:inline-block;
	text-align:center;
}
#area01 p,#area02 p,#area03 p,#area04 p{
	font-size:14px;
	line-height:1.5;
	text-align:justify;
}

.ar_m1{object-position: 0 90%;}
.ar_m2{object-position: 0 10%;}

.top50{margin-top:50px;}
.ako_his{
	text-align:center;
	margin:30px auto 45px;
	width:100%;
	font-size:18px;
	font-weight:bold;
	line-height:1.4;
	background-color:#007cc5;
	border-radius:10px;
	color:#fff;
	padding:10px 20px;
	box-sizing:border-box;
}

.l_jin{
	padding:15px;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	font-size:14px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:1.5;
	margin-left:136px;
	position:relative;
	margin-bottom:30px;
	text-align:justify;
}
.l_jin br,.l_sui br,.r_bos br{display:none;}

.l_jin:before {
  content:'';
  background-image:url(img/jinta.png);
  width:97px;
  height:123px;
  background-size: contain;
  vertical-align: middle;
  display:inline-block;
  position:absolute;
  left:-136px;
  top:50%;
  margin-top:-61px;
}
.l_jin:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(204, 204, 204, 0);
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:30px;
    border-right-width:30px;
    margin-top: -9px;
    border-right-color:#fff;
    right:100%;
    top:50%;
}

.l_sui{
	padding:15px;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	font-size:14px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:1.5;
	margin-left:136px;
	position:relative;
	margin-bottom:30px;
	text-align:justify;
}
.l_sui:before {
  content:'';
  background-image:url(img/rec_suita.svg);
  width:101px;
  height:94px;
  background-size: contain;
  vertical-align: middle;
  display:inline-block;
  position:absolute;
  left:-136px;
  top:50%;
  margin-top:-47px;
}
.l_sui:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(204, 204, 204, 0);
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:30px;
    border-right-width:30px;
    margin-top: -9px;
    border-right-color:#fff;
    right:100%;
    top:50%;
}

.r_bos{
	padding:15px;
	background-color:#fff;
	border-radius:10px;
	box-sizing:border-box;
	font-size:14px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:1.5;
	margin-right:136px;
	position:relative;
	margin-bottom:30px;
	text-align:justify;
}
.r_bos:before {
  content:'';
  background-image:url(img/ako_shacho.png);
  width:104px;
  height:104px;
  background-size: contain;
  vertical-align: middle;
  display:inline-block;
  position:absolute;
  right:-135px;
  top:50%;
  margin-top:-52px;
}
.r_bos:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(204, 204, 204, 0);
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:30px;
    border-right-width:30px;
    margin-top: -9px;
    border-left-color:#fff;
    left:100%;
    top:50%;
}
/*//////////////////////////////////////////////   赤穂の地とともに 2   //////////////////////////////////////////////*/


.ako02_repo{
	font-size:16px;
	font-weight:bold;
	color:#b81c22;
	margin-bottom:10px;
}

.ako_inst{
	display:flex;
	flex-direction:column;
	margin-top:10px;
}
.ako_inst img{width:212px;}
.ins_l{display:flex;align-items:flex-end;justify-content: flex-end;}

.srf_inst1{
    position:relative;
    background:#F9C170;
    padding:10px;
    color:#000;
    font-size:12px;
	line-height:1.2;
    font-weight:bold;
    border-radius:10px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
	margin-right:5px;
}
.srf_inst1:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(249, 193, 112, 0);
    border-top-width:8px;
    border-bottom-width:8px;
    border-left-width:17px;
    border-right-width:17px;
    margin-top: -8px;
    border-left-color:#F9C170;
    left:100%;
    top:50%;
}

.srf_inst2{
	display:none;
/*    position:relative;
    width:100%;
    background:#F9C170;
    padding:10px;
	text-align:justify;
    color:#000;
    font-size:12px;
	line-height:1.2;
    font-weight:bold;
    border-radius:10px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
	box-sizing:border-box;
	display:flex;
	justify-content: space-between;
	align-items: center;
	margin-top:20px;
}
.srf_inst2:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(249, 193, 112, 0);
    border-top-width:17px;
    border-bottom-width:17px;
    border-left-width:8px;
    border-right-width:8px;
    margin-left: -8px;
    border-bottom-color:#F9C170;
    bottom:100%;
    left:85%; */
}

.mb_ins{
	box-sizing:border-box;
    width:100%;
    background:#F9C170;
    padding:15px;
	text-align:justify;
    color:#000;
    font-size:14px;
	line-height:1.4;
    font-weight:bold;
    border-radius:10px;
	margin-top:20px;
	display:flex;
	justify-content: space-between;
	align-items: flex-end;
}
.yajirushi{
    position:relative;
    width:7px;
    height:7px;
    background:#B81C22;
    padding:10px;
    text-align:center;
	margin:0 10px 15px 20px;
}
.yajirushi:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(184, 28, 34, 0);
    border-top-width:20px;
    border-bottom-width:20px;
    border-left-width:20px;
    border-right-width:20px;
    margin-left: -20px;
    border-top-color:#B81C22;
    top:100%;
    left:50%;
}

.instlnk{display:flex;justify-content: space-between; align-items: center;}
.arrow_box{
    position:relative;
    background:#B81C22;
    padding:5px;
    text-align:left;
    color:#fff;
    font-size:12px;
    font-weight:bold;
	margin:0 30px 0 15px;
	white-space:nowrap;
}
.arrow_box:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(184, 28, 34, 0);
    border-top-width:30px;
    border-bottom-width:30px;
    border-left-width:22px;
    border-right-width:22px;
    margin-top: -30px;
    border-left-color:#B81C22;
    left:100%;
    top:50%;
}

.insta{
	background-color:#fff;
	border-radius:10px;
	height:56px;
	width:56px;
	padding:8px;
	box-sizing:border-box;
}
.insta img{width:40px;}
.insta:hover{opacity:.8;}


.ako02_bg{
	background-color:#fff;
	padding:15px 5%;
	border-radius:10px;
	box-sizing:border-box;
	width:100%;
	margin:15px auto 0;
}

.ako02_top{position:relative; margin-bottom:10px;}
.ako02_top h2{
	font-size:22px;
	line-height:1.2;
	font-weight:bold;
	padding-bottom:2px;
	border-bottom:solid 1px #B81C22;
	margin-bottom:22px;
}
.ako02_top h3{
	font-size:16px;
	font-weight:bold;
	line-height:1.4;
	color:#B81C22;
	margin-bottom:7px;
	text-align:justify;
}
.ako02_top img{display:none;}
.w100{width:100%;}
.top10{margin-top:10px;}
.btm15{margin-bottom:15px;}

.report,.repo_end{margin-top:45px;}
.report img,.repo_end img{width:100%;}
.report h3,.repo_end h3{
	font-size:16px;
	font-weight:bold;
	line-height:1.4;
	color:#B81C22;
	margin-bottom:7px;
}
.report_box{
	display:flex;
	flex-direction:column;
	margin-top:10px;
}
.report_box p{
	font-size:14px;
	line-height:1.6;
	margin-top:15px;
	text-align:justify;
}

.repo_end p{
	font-size:14px;
	line-height:1.6;
	text-align:justify;
}

.gishisai{
	background-color:#e9e5e2;
	padding:20px;
	border-radius:10px;
	box-sizing:border-box;
	margin-top:35px;
	display:flex;
	flex-direction:column;
	box-sizing:border-box;
	text-align:center;
}
.gishisai img{width:150px; margin:0 auto;}
.gishisai div{margin-top:15px;}
.gishisai h3{
	font-size:16px;
	font-weight:bold;
	margin-bottom:15px;
}
.gishisai h3:first-letter{ color:#B81C22;}



/*//////////////////////////////////////////////   採用情報   //////////////////////////////////////////////*/


.sc_top3{
	background:url(img/rec_top.png) no-repeat left top;
	background-size:130%;
	position:relative;
	padding-bottom:70px;
}
.sc_ttl_e2{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	color:#f19ec2;
	font-size:30px;
	margin-left:3em;
}

.bg_pk{background-color:rgba(251,221,234,0.5);}

.rec_top{
	margin-bottom:50px;
	display:flex;
	justify-content: space-between;
	align-items:flex-end;
}
.rec_top h2{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	font-size:50px;
	color:#aaabab;
	margin-bottom:10px;
}
.rec_top h3{font-size:22px; font-weight:bold; line-height:1.3;}

.menu,.menu2{display:none;}

.int_ttl{margin-bottom:20px; text-align:center;}
.int_ttl2{margin-bottom:10px; text-align:center;}
.int_ttl h3,.int_ttl2 h3{
	border-radius:5px;
	color:#fff;
	font-size:20px;
	padding:13px 10px 10px;
}
.int_ttl h3{background-color:#c9151e;}
.int_ttl2 h3{background-color:#204fa2;}

.int_ttl h3 span,.int_ttl2 h3 span{font-weight:bold;}
h4.name{
	font-size:25px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	margin-bottom:15px;
	text-align:center;
}
h4.name span{font-size:18px;}

.int_box{display:flex; flex-direction:column; margin-bottom:45px;} 
.int_box img{order:-1; width:60%; margin:0 auto 40px;}
.int_box div:first-child{width:100%; margin-top:10px;}
.q_bpx,.q_bpx2{
	padding:10px;
	box-sizing:border-box;
	border-radius:10px;
	font-size:16px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:.8;
	width:100%;
	position:relative;
	margin:45px 0 15px;
}
.q_bpx{background-color:#fff;}
.q_bpx2{background-color:#fbe0eb;}
.q_bpx h4,.q_bpx2 h4{
	font-weight:bold;
	padding-left:73px;
	text-indent:-73px;
}
.q_bpx h4 span,.q_bpx2 h4 span{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	margin-right:0.8em;
	vertical-align:middle;
	color:#c9151e;
	font-size:24px;
}
.q_bpx h4::first-letter,.q_bpx2 h4::first-letter{font-size:38px; margin-right:0.2em;}

.a_bpx{
	font-size:20px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
	width:100%;
	box-sizing:border-box;
	padding-left:25px;
	padding-right:10px;
	width:100%;
}
.a_bpx h4{
	font-weight:bold;
	padding-left:54px;
	text-indent:-54px;
	text-align:justify;
	line-height:1.5;
}
.a_bpx h4 span{
	font-family: "Libre Franklin", sans-serif;
	font-optical-sizing: auto;
	font-weight: 900;
	font-style: normal;
	margin-right:1em;
	color:#204fa2;
	font-size:38px;
	margin-right:0.6em;
	line-height:1;
}

/*//////////////////////////////////////////////   採用情報2   //////////////////////////////////////////////*/


.recform_top{
	text-align:center;
	font-size:27px;
	font-weight:bold;
	letter-spacing:.5em;
	margin-bottom:17px;
}
.summary{margin-bottom:60px;}
.summary caption{
	text-align:left;
	font-size:20px;
	padding-left:20px;
	padding-top:2pt;
	line-height:40px;
	color:#fff;
	margin-bottom:20px;
}
.red{background-color:#c8161d;}
.blue{background-color:#0073bd;}
.summary td span{font-size:24px;}
.summary{width:100%; margin-left:auto; margin-right:auto; text-align:left; font-size:14px; line-height:1.5;}
.summary th,.summary td{vertical-align:middle;display:block;}
.summary th{background-color:#fff; padding:5px 10px; border:solid 1px #000; box-sizing:border-box; border-radius:5px;}
.summary td,.summary td{padding:10px 10px 20px; text-align:justify;}
.summary td p{
	padding-left:2em;
	text-indent:-1em;
}

.recform_ttl{
	text-align:center;
	font-size:27px;
	font-weight:bold;
	margin-bottom:20px;
	padding-bottom:10px;
	border-bottom:solid 5px #c8161d;
}
.rec_txt{
	font-size:16px;
	line-height:1.7;
	margin-bottom:25px;
}
.mailform{width:100%;}
.mailform th span{color:#F00;}
.mailform th p{font-size:70%; color:#999;}
.mailform td{
	font-size:14px;
	line-height:1.5;
	padding:25px 0;
	box-sizing:border-box;
}
.mailform textarea {resize:vertical;width:100%; min-width:100%;}
.mailform{width:100%; margin-left:auto; margin-right:auto; text-align:left; font-size:14px; line-height:1.5;}
.mailform th,.mailform td{vertical-align:middle;display:block;}
.mailform th{background-color:rgba(51,51,51,.2); padding:5px 10px; box-sizing:border-box; border-radius:5px;}
.mailform td,.mailform td{padding:10px 10px 20px; text-align:justify;}

.fo_txt{width:100%; min-width:100%;}
.fo_txt2{width:calc(100% - 5em); min-width:calc(100% - 5em);}

.form_btn{
	display:inline-block;
	width:138px;
	line-height:38px;
	font-size:14px;
	color:#fff;
	background:#5d8ec0;
	border:none;
	border-radius:5px;
	margin:0 10px;
}
.center{text-align:center; display:flex; border-top:solid 1px #000; padding-top:20px;}
.pp_link{width:100%;margin:60px auto 0; text-align:center;}
.pp_link a{
	display:inline-block;
	text-decoration:none;
	width:100%;
	line-height:38px;
	font-size:14px;
	color:#fff;
	background:#0073bd;
	border:none;
	border-radius:5px;
	margin-bottom:60px;
	transition :0.25s;
}
input,select{padding:3px;box-sizing:border-box;}

/*//////////////////////////////////////////////   個人情報保護方針   //////////////////////////////////////////////*/

.ppbox{width:100%; margin-bottom:30px;}
.ppbox h3{
	text-align:left;
	font-size:20px;
	color:#980011;
	font-weight:bold;
	line-height:1.5;
}
.ppbox p{
	text-align:justify;
	font-size:14px;
	line-height:1.8;
}
.dwn1{padding-left:1.5em;}
.dwn2{padding-left:2.5em;}


}