@charset "UTF-8";
/*************************************************************************************************************************
* reset
*************************************************************************************************************************/
html{ height: 100%; overflow-y: scroll; font-size: 62.5%;}
body{ height: 100%; margin: 0; padding: 0; text-align: justify; text-justify: inter-ideograph; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img{ width: 100%; max-width: 100%; height: auto; border: 0; vertical-align: bottom;}
svg{ vertical-align: bottom;}
form{ margin: 0; padding: 0;}
p{ margin: 0; padding: 0;}
a, a:hover{ text-decoration: none; outline: none;}
h1, h2, h3, h4, h5, h6{ margin: 0; padding: 0; font-size: 0; line-height: 0;}
ul, dl, dt, dd{ margin: 0; padding: 0;}
li, ol{ margin: 0; padding: 0; list-style: none;}
table{ border: 0; border-collapse: collapse; border-spacing: 0;}
caption, th{ text-align: left;}
figure { margin: 0; padding: 0; }
header, nav, main, article, aside, section, footer{ display: block;}
*{ box-sizing: border-box;}

/**********************************************************
*　追加ベース
**********************************************************/
body.is-fixed {
	/*position: fixed;*/
}
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; }

.l-wrapper { margin-left: auto; margin-right: auto; }

@media screen and (max-width: 680px) {
	.l-wrapper { width: calc(100% - 48px); }
}
@media screen and (min-width: 681px) {
	.l-wrapper { min-width: 1200px; max-width: 1200px; }
}
@media screen and (min-width: 1401px) {
	/*.l-wrapper { width: 950px; }*/
}

.sp-only { display: none !important; }
.sp-only-2 { display: none !important; }
.pc-only { display: block !important; }
.pc-only-2 { display: inline-block !important; }
@media screen and (max-width: 680px) {
	.sp-only { display: block !important; }
	.sp-only-2 { display: inline-block !important; }
	.pc-only { display: none !important; }
	.pc-only-2 { display: none !important; }
}



/*	Linksbtn	*/
.linkbtn-wrap { position: relative; display: flex; max-width: 880px; width: calc(100% - 40px); margin-top: 64px; margin-left: auto; margin-right: auto; z-index: 50; }
.linkbtn { position: relative; display: flex; flex-direction: column; justify-content: center; height: 80px; border-radius: 10px; padding: 0 24px; color: #fff; transition: .4s; }
.linkbtn::before,
.linkbtn::after { position: absolute; top: 50%; transform: translateY(-50%); right: 24px; display: block; width: 32px; height: 32px; background-repeat: no-repeat; background-position: center; background-size: contain; content: ""; transition: .4s; }
.linkbtn::before { background-image: url("../img/obj_arrow_off.png"); }
.linkbtn::after { background-image: url("../img/obj_arrow_on.png"); opacity: 0; }
.linkbtn--news { background: #6f1e36; }
.linkbtn--oc { background: #bb1f4d; }
.linkbtn__label { font: 400 1.2rem "Bodoni Moda", serif; line-height: 1; }
.linkbtn__txt { margin-top: 6px; font: 500 1.5rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; letter-spacing: 0.015em; }
@media print, screen and (max-width:680px) {
	.linkbtn-wrap { flex-direction: column; }
	.linkbtn:not(:first-of-type) { margin-top: 24px; }
}
@media print, screen and (min-width:681px) {
	.linkbtn-wrap { justify-content: space-between; margin-top: 88px; }
	.linkbtn { width: 416px; height: 104px; padding: 0 32px; }
	.linkbtn::before,
	.linkbtn::after { right: 32px; width: 41px; height: 41px; }
	.linkbtn__label { font-size: 1.4rem; }
	.linkbtn__txt { margin-top: 14px; font-size: 1.6rem; }
	.linkbtn--news:hover { background: #550a28; }
	.linkbtn--oc:hover { background: #911437; }
	.linkbtn:hover::before { opacity: 0; }
	.linkbtn:hover::after { opacity: 1; }
}


/*	Gal	*/
.gal-wrap { position: relative; margin-top: 100px; z-index: 50; }
.gal--2 { margin-top: 16px; }
.gal__item { width: 232px; border-radius: 12px; margin-left: 8px; margin-right: 8px; overflow: hidden; }
@media print, screen and (max-width:680px) {
	
}
@media print, screen and (min-width:681px) {
.gal-wrap { margin-top: 120px; }
	.gal--2 { margin-top: 24px; }
	.gal__item { width: 370px; margin-left: 12px; margin-right: 12px; }
}


/*	Footer	*/
.footer { background: #bb1f4d; padding-top: 40px; padding-bottom: 64px; }
.footer__inner { max-width: 1000px; width: calc(100% - 48px); margin-left: auto; margin-right: auto; }
.footer__upper {  }
.footer__logo img { width: 263px; }
.footer__txt { font-size: 1.3rem; font-weight: 700; line-height: 1.846; color: #fff; }

.footer__upper__link { display: flex; flex-wrap: wrap; justify-content: space-between; }
.footer__upper__link__item { position: relative; width: calc(50% - 24px); margin-bottom: 24px; }
.footer__upper__link__item a { display: block; font-size: 1.3rem; font-weight: 700; line-height: 1; color: #fff; }
.footer__upper__link__item::before { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: block; width: 8px; height: 8px; background: url("../img/icon_arrow_ur.png") no-repeat center/contain; content: ""; }

.footer__sns { display: flex; align-items: center; margin-top: 34px; }
.footer__sns__item:not(:first-of-type) { margin-left: 32px; }
.footer__sns__item:last-of-type { margin-left: 26px; }
.footer__sns__item img { width: auto; height: 21px; }
@media print, screen and (max-width:680px) {
	.footer__txt { margin-top: 28px; }
	.footer__upper__link { border-top: 1px solid #fff; margin-top: 32px; padding-top: 32px; }
	.footer__sns { justify-content: center; }
}
@media print, screen and (min-width:681px) {
	.footer { padding-top: 40px; padding-bottom: 64px; }
	.footer__upper { display: flex; justify-content: space-between; align-items: center; }
	.footer__upper__logothings { order: 1; display: flex; justify-content: space-between; align-items: center; }
	.footer__txt { margin-left: 54px; }
	.footer__upper::before { order: 2; width: 1px; height: 56px; background: #fff; content: ""; }
	.footer__upper__link { order: 3; }
	.footer__upper__link__item { width: calc(50% - 32px); margin-bottom: 0; }
	.footer__upper__link__item:nth-child(-n+2) { margin-bottom: 16px; }
	.footer__upper__link__item a { display: block; font-size: 1.3rem; font-weight: 700; line-height: 1; color: #fff; transition: .4s; }
	.footer__upper__link__item a:hover { opacity: 0.7; }
	.footer__upper__link__item::before { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: block; width: 8px; height: 8px; background: url("../img/icon_arrow_ur.png") no-repeat center/contain; content: ""; }

	.footer__sns { margin-top: 38px; }
	.footer__sns__item:not(:first-of-type),
	.footer__sns__item:last-of-type { margin-left: 16px; }
	.footer__sns__item a { transition: .4s; }
	.footer__sns__item a:hover { opacity: 0.7; }
}








/*************************************************************************************************************************
* css for Recruit footer template
*************************************************************************************************************************/
.r-footer{ background: #fff; padding: 15px; position: relative; z-index: 10; border-top: 1px solid #e1e1e1; overflow: hidden;}
.r-footer ul li a{ position: relative; padding: 0 0 0 10px; font-size: 12px; line-height: 1; color: #333;}
.r-footer ul li a::before{ content: ""; width: 0; height: 0; position: absolute; top: 2px; left: 0; border-style: solid; border-width: 4px 0 4px 5px; border-color: transparent transparent transparent #454545;}
.r-footer > a{ display: block; width: 258px; height: 37px; margin: 15px 0 0;}
@media print, screen and (min-width: 681px){
  .r-footer{ display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; padding: 15px 30px 20px;}
  .r-footer ul{ display: flex; }
  .r-footer ul li a{ padding-left: 5px;}
  .r-footer ul li a::before{ display: none;}
  .r-footer ul li a::after{ content: "｜"; padding: 0 0 0 5px;}
  .r-footer ul li:last-child a::after{ display: none;}
  .r-footer a{ margin-top: 0;}
}

img[width="1"]{ width: auto; position: absolute; top: 0; left: 0; z-index: -1000;}



