@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 normalize.css v8.0.1 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}





/* ↓ common_base ↓ */

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 リセット 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

*,*:before,*:after { box-sizing: border-box; }
h1,h2,h3,h4,h5,h6 { font-weight: inherit; margin-top: 0; margin-bottom: 0; }
ol,ul { list-style: none; padding-left: 0; margin-top: 0; margin-bottom: 0; }
dl { margin-top: 0; margin-bottom: 0; }
dd { margin-left: 0; }
p { margin-top: 0; margin-bottom: 0; }
img { width: 100%; height: auto; vertical-align: top; }
a { word-break: break-all; }
a:link { outline: 0; }
table { border-collapse: collapse; }
table tr th { text-align: left; vertical-align: top; padding: 0; }
table tr td { vertical-align: top; padding: 0; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 フォームリセット 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

input { outline: none; appearance: none; font-weight: 500; vertical-align: top; padding: 0; /* iOS */ border-radius: 0; }
input[type="reset"],
input[type="submit"] { border: none; cursor: pointer; }
label { display: inline-block; }
textarea { outline: none; appearance: none; resize: none; padding: 0; /* iOS */ border-radius: 0; }
select { outline: none; appearance: none; font-weight: 500; cursor: pointer; /* FireFox Android iOS */ background-color: #ffffff; /* Mac */ border-radius: 0; }
button { border: none; font-weight: 500; vertical-align: top; padding: 0; cursor: pointer; }
::placeholder { /* FireFox */ opacity: 1; }
:focus::placeholder { color: transparent; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 基礎スタイル 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

html { overflow: hidden; overflow-y: scroll; scroll-behavior: smooth; font-family: "Yu Gothic", "游ゴシック体", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Arial", sans-serif; font-size: 62.5%; line-height: 1; font-weight: 500; font-feature-settings: "palt"; }

html,
select,
::placeholder { color: #000000; }

a { color: #000000; text-decoration: none; }

@media screen and (min-width: 821px) {
	a:hover { text-decoration: underline; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用フォント関連 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.fwN { font-weight: 500; }
.fwB { font-weight: 700; }
.fcR { color: #cc0000; }
.tdL { text-decoration: line-through; }
.tdU { text-decoration: underline; }
.wsN { white-space: nowrap; }
.taR,.taRL,.taRC { text-align: right; }
.taC,.taCL { text-align: center; }

@media screen and (max-width: 767px) {
	.taRL,.taCL { text-align: left; }
	.taLC,.taRC { text-align: center; }
}



/* ――――――――――――――――――――――――――――――
［ font：文字サイズ個別指定 ］
―――――――――――――――――――――――――――――― */

.font12 { font-size: 1.2rem; line-height: 2rem; }
.font14 { font-size: 1.4rem; line-height: 2.2rem; }
.font16 { font-size: 1.6rem; line-height: 2.6rem; }
.font18 { font-size: 1.8rem; line-height: 2.8rem; }
.font20 { font-size: 2rem; line-height: 3rem; }
.font22 { font-size: 2.2rem; line-height: 3.2rem; }
.font24 { font-size: 2.4rem; line-height: 3.4rem; }
.font30 { font-size: 3rem; line-height: 4rem; }

@media screen and (max-width: 767px) {
	.font14 { font-size: 1.2rem; line-height: 2rem; }
	.font16 { font-size: 1.4rem; line-height: 2.2rem; }
	.font18 { font-size: 1.6rem; line-height: 2.4rem; }
	.font20 { font-size: 1.8rem; line-height: 2.6rem; }
	.font22 { font-size: 2rem; line-height: 3rem; }
	.font24 { font-size: 2.2rem; line-height: 3.2rem; }
	.font30 { font-size: 2.6rem; line-height: 3.6rem; }
}



/* ――――――――――――――――――――――――――――――
［ link：リンクアイコン ］
―――――――――――――――――――――――――――――― */

a.outLink { display: inline-block; background: url(../images/link_out.svg) no-repeat right 5px top 7px; background-size: 18px; text-decoration: underline; padding-right: 30px; }
a.outLink:hover { text-decoration: none; }



/* ――――――――――――――――――――――――――――――
［ commonAnn：注釈 ］
―――――――――――――――――――――――――――――― */

.commonAnn { display: table; }
.commonAnn dt,
.commonAnn dd { display: table-cell; }
.commonAnn dt { white-space: nowrap; }

/* 複数 */
.commonAnn dl { display: table-row; }
.commonAnn dl:not(:last-child) dt,
.commonAnn dl:not(:last-child) dd { padding-bottom: 4px; }



/* ――――――――――――――――――――――――――――――
［ commonPara：段落行間 ］
―――――――――――――――――――――――――――――― */

.commonPara15 p:not(:last-child) { margin-bottom: 15px; }
.commonPara20 p:not(:last-child) { margin-bottom: 20px; }
.commonPara25 p:not(:last-child) { margin-bottom: 25px; }
.commonPara30 p:not(:last-child) { margin-bottom: 30px; }
.commonPara35 p:not(:last-child) { margin-bottom: 35px; }
.commonPara40 p:not(:last-child) { margin-bottom: 40px; }

@media screen and (max-width: 767px) {
	.commonPara15 p:not(:last-child) { margin-bottom: 10px; }
	.commonPara20 p:not(:last-child) { margin-bottom: 10px; }
	.commonPara25 p:not(:last-child) { margin-bottom: 12px; }
	.commonPara30 p:not(:last-child) { margin-bottom: 15px; }
	.commonPara35 p:not(:last-child) { margin-bottom: 18px; }
	.commonPara40 p:not(:last-child) { margin-bottom: 20px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用レイアウト関連 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ diB：各種 display inline-block ］
―――――――――――――――――――――――――――――― */

.diIB { display: inline; }
.diB  { display: inline-block; }
.diBI { display: inline-block; }
.diBB { display: inline-block; }
.dbI  { display: block; }
.dbIB { display: block; }

@media screen and (max-width: 767px) {
	.diIB { display: inline-block; }
	.diB  { display: inline-block; }
	.diBI { display: inline; }
	.diBB { display: block; }
	.dbI  { display: inline; }
	.dbIB { display: inline-block; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 コンテンツ間隔 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ margin-bottom ］
―――――――――――――――――――――――――――――― */

.mb05 { margin-bottom: 5px; }
.mb06 { margin-bottom: 6px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb25 { margin-bottom: 25px; }
.mb30 { margin-bottom: 30px; }
.mb35 { margin-bottom: 35px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mb120 { margin-bottom: 120px; }
.mb140 { margin-bottom: 140px; }
.mb160 { margin-bottom: 160px; }
.mb180 { margin-bottom: 180px; }
.mb200 { margin-bottom: 200px; }

@media screen and (max-width: 767px) {
	.mb10 { margin-bottom: 5px; }
	.mb15 { margin-bottom: 10px; }
	.mb20 { margin-bottom: 10px; }
	.mb25 { margin-bottom: 15px; }
	.mb30 { margin-bottom: 20px; }
	.mb35 { margin-bottom: 20px; }
	.mb40 { margin-bottom: 20px; }
	.mb50 { margin-bottom: 25px; }
	.mb60 { margin-bottom: 30px; }
	.mb70 { margin-bottom: 35px; }
	.mb80 { margin-bottom: 40px; }
	.mb90 { margin-bottom: 45px; }
	.mb100 { margin-bottom: 50px; }
	.mb120 { margin-bottom: 60px; }
	.mb140 { margin-bottom: 70px; }
	.mb160 { margin-bottom: 80px; }
	.mb180 { margin-bottom: 90px; }
	.mb200 { margin-bottom: 100px; }
}



/* ――――――――――――――――――――――――――――――
［ articleMargin ］
―――――――――――――――――――――――――――――― */

.articleMargin30 article:not(:last-child) { margin-bottom: 30px; }
.articleMargin40 article:not(:last-child) { margin-bottom: 40px; }
.articleMargin50 article:not(:last-child) { margin-bottom: 50px; }
.articleMargin60 article:not(:last-child) { margin-bottom: 60px; }
.articleMargin70 article:not(:last-child) { margin-bottom: 70px; }
.articleMargin80 article:not(:last-child) { margin-bottom: 80px; }
.articleMargin90 article:not(:last-child) { margin-bottom: 90px; }
.articleMargin100 article:not(:last-child) { margin-bottom: 100px; }
.articleMargin120 article:not(:last-child) { margin-bottom: 120px; }

@media screen and (max-width: 767px) {
	.articleMargin30 article:not(:last-child) { margin-bottom: 20px; }
	.articleMargin40 article:not(:last-child) { margin-bottom: 20px; }
	.articleMargin50 article:not(:last-child) { margin-bottom: 25px; }
	.articleMargin60 article:not(:last-child) { margin-bottom: 30px; }
	.articleMargin70 article:not(:last-child) { margin-bottom: 35px; }
	.articleMargin80 article:not(:last-child) { margin-bottom: 40px; }
	.articleMargin90 article:not(:last-child) { margin-bottom: 45px; }
	.articleMargin100 article:not(:last-child) { margin-bottom: 50px; }
	.articleMargin120 article:not(:last-child) { margin-bottom: 60px; }
}



/* ――――――――――――――――――――――――――――――
［ sectionMargin ］
―――――――――――――――――――――――――――――― */

.sectionMargin30 section:not(:last-child) { margin-bottom: 30px; }
.sectionMargin40 section:not(:last-child) { margin-bottom: 40px; }
.sectionMargin50 section:not(:last-child) { margin-bottom: 50px; }
.sectionMargin60 section:not(:last-child) { margin-bottom: 60px; }
.sectionMargin70 section:not(:last-child) { margin-bottom: 70px; }
.sectionMargin80 section:not(:last-child) { margin-bottom: 80px; }
.sectionMargin90 section:not(:last-child) { margin-bottom: 90px; }
.sectionMargin100 section:not(:last-child) { margin-bottom: 100px; }
.sectionMargin120 section:not(:last-child) { margin-bottom: 120px; }
.sectionMargin140 section:not(:last-child) { margin-bottom: 140px; }
.sectionMargin160 section:not(:last-child) { margin-bottom: 160px; }

@media screen and (max-width: 767px) {
	.sectionMargin30 section:not(:last-child) { margin-bottom: 20px; }
	.sectionMargin40 section:not(:last-child) { margin-bottom: 20px; }
	.sectionMargin50 section:not(:last-child) { margin-bottom: 25px; }
	.sectionMargin60 section:not(:last-child) { margin-bottom: 30px; }
	.sectionMargin70 section:not(:last-child) { margin-bottom: 35px; }
	.sectionMargin80 section:not(:last-child) { margin-bottom: 40px; }
	.sectionMargin90 section:not(:last-child) { margin-bottom: 45px; }
	.sectionMargin100 section:not(:last-child) { margin-bottom: 50px; }
	.sectionMargin120 section:not(:last-child) { margin-bottom: 60px; }
	.sectionMargin140 section:not(:last-child) { margin-bottom: 70px; }
	.sectionMargin160 section:not(:last-child) { margin-bottom: 80px; }
}

/* ↑ common_base ↑ */





/* ↓ common_layout ↓ */

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 header 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

header { font-size: 0; line-height: 0; padding-right: calc( 50 / 1100 * 100% ); padding-left: calc( 50 / 1100 * 100% ); }
header #headerInner { position: relative; max-width: 1300px; height: 180px; margin-right: auto; margin-left: auto; }
header #headerLogo { position: absolute; top: 20px; }
header #headerLogo a { display: block; width: 365px; }
header #headerLogo a span { display: block; background: url(../images/header_logo.svg) no-repeat left top; background-size: 100% auto; padding-top: 52px; }
header #headerLink { position: absolute; top: 30px; right: 320px; }
header #headerLink a { display: inline-block; font-size: 1.5rem; line-height: 2rem; font-weight: 700; padding: 10px 15px; }
header #headerSearch { position: absolute; top: 30px; right: 70px; overflow: hidden; width: 230px; border: solid 1px #000000; border-radius: 20px; }
header #headerSearch input[type=text] { width: calc( 100% - 38px ); height: 38px; border: 0; font-size: 1.5rem; line-height: 2rem; padding-right: 15px; padding-left: 15px; }
header #headerSearch input[type=text]::placeholder { color: #8a8a8a; font-weight: 700; }
header #headerSearch input[type=submit] { width: 38px; height: 38px; background: url(../images/header_search.svg) no-repeat center center #ffffff; background-size: 16px; }
header #headerX { position: absolute; top: 30px; right: 0; width: 40px; height: 40px; background-color: #000000; border-radius: 50%; padding: 8px; }
header #headerX a { display: block; width: 24px; background-image: url(../images/logo_x.svg); background-size: cover; padding-top: 24px; }

@media screen and (max-width: 1020px) {
	header #headerLink { top: 30px; right: 250px; }
	header #headerLink a { font-size: 1.3rem; line-height: 2rem; font-weight: 700; padding: 10px 8px; }
	header #headerSearch { right: 50px; width: 190px; }
}

@media screen and (max-width: 1000px) {
	header #headerInner { height: 140px; }

}

@media screen and (max-width: 900px) {
	header #headerLogo { top: 28px; }
	header #headerLogo a { width: 250px; }
	header #headerLogo a span { padding-top: 36px; }
}

@media screen and (min-width: 821px) {
	header #headerLink,
	header #headerSearch { transition: 0.2s ease; }
}

@media screen and (max-width: 767px) {
	header { padding-right: 0; padding-left: 0; }
	header #headerInner { height: 60px; }
	header #headerLogo { top: 0; }
	header #headerLogo a { display: block; width: 240px; padding: 16px 20px; }
	header #headerLogo a span { padding-top: 28px; }
	header #headerLink { position: static; max-width: 500px; margin: 0 auto 10px; }
	header #headerLink a { width: 50%; font-size: 1.6rem; padding: 15px 20px; }
	header #headerLink a span { position: relative; display: inline-block; padding-right: 28px; }
	header #headerLink a span::after { position: absolute; top: 0; right: 2px; bottom: 0; display: block; width: 8px; height: 8px; border: solid #000000; border-width: 0 2px 2px 0; content: ""; transform: rotate(-45deg); margin-top: auto; margin-bottom: auto; }
	header #headerSearch { position: static; right: 0; left: 0; width: 230px; border: none; margin: 0 auto 20px; }
	header #headerX { position: static; left: 0; width: 50px; height: 50px; padding: 13px; margin-right: auto; margin-left: auto; }
}



/* ――――――――――――――――――――――――――――――
［ headerNav ］
―――――――――――――――――――――――――――――― */

#headerNav { position: absolute; bottom: 20px; width: 100%; margin-right: auto; margin-left: auto; }
#headerNav .navBtn { font-size: 1.8rem; line-height: 2.4rem; font-weight: 700; text-align: center; padding: 22px 7px; }
#headerNav .navBtn .btnBg { display: block; }
#headerNav .navMenu { position: relative; display: inline-block; width: calc( 100% / 5 ); vertical-align: top; }
#headerNav .navMenu:last-child::before,
#headerNav .navMenu::after { position: absolute; top: 0; bottom: 0; display: block; width: 1px; height: 22px; background-color: #000000; content: ""; margin-top: auto; margin-bottom: auto; }
#headerNav .navMenu:last-child::before { right: 0; }
#headerNav .navMenu::after { left: 0; }
#headerNav .navMenu .navBtn { position: relative; width: 100%; display: inline-block; }
#headerNav .navMenu .menuList { visibility: hidden; opacity: 0; position: absolute; top: 70px; left: 0; width: 100%; z-index: 1000; }
#headerNav .navMenu .menuList::before,
#headerNav .navMenu .menuList::after { position: absolute; display: block; right: 0; left: 0; width: 0; height: 0; border-style: solid; content: ""; margin-right: auto; margin-left: auto; }
#headerNav .navMenu .menuList::before { top: -15px; border-width: 0 9px 16px 9px; border-color: transparent transparent #cfcfcf transparent; }
#headerNav .navMenu .menuList::after { top: -13px; border-width: 0 8px 14px 8px; border-color: transparent transparent #ffffff transparent; }
#headerNav .navMenu .menuList .listInner { width: 280px; background-color: #ffffff; border: solid 1px #cfcfcf; border-radius: 8px; padding-right: 24px; padding-left: 24px; }
#headerNav .navMenu .menuList a { display: table; width: 100%; font-size: 1.6rem; line-height: 2rem; font-weight: 700; }
#headerNav .navMenu .menuList a:not(:last-child) { border-bottom: solid 1px #cfcfcf; }
#headerNav .navMenu .menuList a span { position: relative; display: table-cell; height: 70px; vertical-align: middle; padding-right: 20px; }
#headerNav .navMenu .menuList a span::after { position: absolute; top: 0; right: 1px; bottom: 0; display: block; width: 8px; height: 8px; border: solid #417ec2; border-width: 0 2px 2px 0; content: ""; transform: rotate(-45deg); margin-top: auto; margin-bottom: auto; }

@media screen and (max-width: 1000px) {
	#headerNav { bottom: 0; }
	#headerNav .navBtn { font-size: 1.5rem; }
	#headerNav .navMenu .menuList .listInner { width: 260px; }
	#headerNav .navMenu .menuList a { font-size: 1.4rem; }
	#headerNav .navMenu .menuList a span { height: 60px; }
}

@media screen and (min-width: 768px) {
	#headerNav a:hover { text-decoration: none; }
	#headerNav .navMenu .btnBg,
	#headerNav .navMenu .navBtn::after,
	#headerNav .navMenu .menuList,
	#headerNav .navMenu .menuList a,
	#headerNav .navMenu .menuList a span::after { transition: 0.2s ease; }
	#headerNav .navMenu:hover .btnBg { background-color: #ccf8ff; }
	#headerNav .navMenu:hover .navBtn::after,
	#headerNav .navMenu:hover .menuList { visibility: visible; opacity: 1; }
	#headerNav .navMenu .menuList a:hover { color: #417ec2; }
	#headerNav .navMenu .menuList a:hover span::after { margin-right: -5px; }
}

@media screen and (max-width: 767px) {
	#headerNav { position: static; max-width: 500px; margin-bottom: 10px; }
	#headerNav .navBtn { border-bottom: solid 1px #cfcfcf; font-size: 1.8rem; line-height: 2.4rem; text-align: left; padding: 14px 20px; }
	#headerNav .navBtn .btnBg { position: relative; }
	#headerNav .navBtn .btnBg::after { position: absolute; top: 0; right: 2px; bottom: 0; display: block; width: 8px; height: 8px; border: solid #000000; border-width: 0 2px 2px 0; content: ""; transform: rotate(-45deg); margin-top: auto; margin-bottom: auto; }
	#headerNav .navMenu { display: block; width: 100%; }
	#headerNav div.navMenu { border-bottom: solid 1px #cfcfcf; }
	#headerNav .navMenu:last-child::before,
	#headerNav .navMenu::after { display: none; }
	#headerNav .navMenu .menuList { visibility: visible; opacity: 1; position: static; margin-right: 20px; margin-left: 20px; }
	#headerNav .navMenu .menuList::before,
	#headerNav .navMenu .menuList::after { display: none; }
	#headerNav .navMenu .menuList .listInner { width: calc( 100% - 40px ); background-color: transparent; border: none; border-radius: 0; padding-right: 0; padding-left: 0; }
	#headerNav .navMenu .menuList a { display: block; width: 100%; font-size: 1.6rem; padding: 10px 0 10px 15px; }
	#headerNav .navMenu .menuList a span { display: block; height: auto; }
	#headerNav .navMenu .menuList a span::after { border-color: #000000; right: 2px; }
}



/* ――――――――――――――――――――――――――――――
［ headerOpen ］
―――――――――――――――――――――――――――――― */

#headerOpen { z-index: 10000; position: absolute; top: 0; right: 0; overflow: hidden; width: 60px; height: 60px; font-size: 0; line-height: 0; }
#headerOpen div { position: relative; display: block; width: 30px; height: 22px; margin: 19px auto 0; }
#headerOpen div:before,
#headerOpen div:after,
#headerOpen span { position: absolute; display: block; width: 100%; height: 2px; background-color: #000000; border-radius: 1px; content: ""; transition: 0.5s ease; }
#headerOpen div:before { top: 0; }
#headerOpen div:after { bottom: 0; }
#headerOpen span { overflow: hidden; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; }
	#headerInner.active #headerOpen div:before { transform: translateY(10px) translateX(0) rotate(-45deg); }
	#headerInner.active #headerOpen div:after { transform: translateY(-10px) translateX(0) rotate(45deg); }
	#headerInner.active #headerOpen span { opacity: 0; }

@media screen and (min-width: 768px) {
	#headerOpen { display: none; }
	#headerClose { display: block !important; }
}

@media screen and (max-width: 767px) {
	#headerClose { z-index: 10000; position: absolute; top: 60px; overflow: hidden; display: none; width: 100%; background-color: #f5f5f5; padding-bottom: 30px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 categoryTitle 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

#categoryTitle { display: table; width: 100%; height: 150px; background: url(../images/category_title_bg.jpg) no-repeat center center; background-size: 100% auto; font-weight: 700; text-align: center; }
#categoryTitle .titleInner { display: table-cell; vertical-align: middle; }
#categoryTitle .titleMain { display: block; font-size: 5.6rem; line-height: 7rem; }
#categoryTitle .titleSub { display: block; font-size: 1.8rem; line-height: 3rem; }

@media screen and (max-width: 1500px) {
	#categoryTitle { background-size: auto 100%; }
}

@media screen and (max-width: 767px) {
	#categoryTitle { height: 90px; }
	#categoryTitle .titleMain { font-size: 2.8rem; line-height: 3.6rem; }
	#categoryTitle .titleSub { font-size: 1.3rem; line-height: 1.8rem; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 main 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

main { font-size: 2rem; line-height: 3.4rem; padding: 100px calc( 50 / 1100 * 100% ) 0; }
main.mainColor1 { background-color: #edfdff; padding-bottom: 80px; }
main.mainColor2 { background-color: #f2f2f2; padding-bottom: 80px; }
main.mainColor3 { background-color: #f9f9f9; padding-bottom: 80px; }
main .mainOver { margin-right: calc( -50 / 1000 * 100% ); margin-left: calc( -50 / 1000 * 100% ); }
main .overColor1 { background-color: #edfdff; }
main .overColor2 { background-color: #f2f2f2; }
main .overColor3 { background-color: #f9f9f9; }
main .overInner { padding: 80px calc( 50 / 1100 * 100% ); }

@media screen and (max-width: 767px) {
	main { font-size: 1.8rem; line-height: 3rem; padding: 40px calc( 15 / 320 * 100% ) 0; }
	main.mainColor1,
	main.mainColor2,
	main.mainColor3 { padding-bottom: 40px; }
	main .mainOver { margin-right: calc( -15 / 290 * 100% ); margin-left: calc( -15 / 290 * 100% ); }
	main .overInner { padding: 40px calc( 15 / 320 * 100% ); }
}



/* ――――――――――――――――――――――――――――――
［ contentsArea ］
―――――――――――――――――――――――――――――― */

.contents740,
.contents880,
.contents1000 { margin-right: auto; margin-left: auto; }
.contents740 { max-width: 740px; }
.contents880 { max-width: 880px; }
.contents1000 { max-width: 1000px; }

@media screen and (max-width: 767px) {
	.contents740,
	.contents880,
	.contents1000 { max-width: 500px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 footer 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

footer { position: relative; background-color: #000000; padding: 60px calc( 50 / 1100 * 100% ) 100px; margin-top: 140px; }
footer #footerInner { max-width: 1200px; margin-right: auto; margin-left: auto; }
footer #footerLink { margin-bottom: 40px; }
footer #footerLink a { font-size: 1.6rem; line-height: 3rem; color: #ffffff; font-weight: 700; }
footer #footerLink a:not(:last-child) { margin-right: 60px; }
footer #footerLink a.linkOut span { display: inline-block; background: url(../images/footer_out.svg) no-repeat right 5px; background-size: 18px; padding-right: 24px; }
footer #footerCopy { font-family: "Arial"; font-size: 1.2rem; line-height: 2rem; color: #9c9c9c; }

@media screen and (min-width: 821px) {
	footer #footerLink a.linkOut:hover span { text-decoration: underline; }
}

@media screen and (max-width: 767px) {
	footer { padding: 30px calc( 15 / 320 * 100% ) 20px; margin-top: 80px; }
	footer #footerInner { max-width: 500px; }
	footer #footerLink { margin-bottom: 30px; }
	footer #footerLink a { position: relative; display: block; padding: 5px 0 5px 15px; }
	footer #footerLink a:not(:last-child) { margin-right: 0; }
	footer #footerLink a::after { position: absolute; top: 0; bottom: 0; left: 0; display: block; width: 6px; height: 6px; border: solid #ffffff; border-width: 0 2px 2px 0; content: ""; transform: rotate(-45deg); margin-top: auto; margin-bottom: auto; }
	footer #footerCopy { text-align: center; }
}



/* ――――――――――――――――――――――――――――――
［ pageTop ］
―――――――――――――――――――――――――――――― */

#pageTop { right: calc( 50% - 680px ); z-index: 10000; }
#pageTop a { position: relative; overflow: hidden; display: block; width: 76px; height: 76px; background-color: #ffffff; border-radius: 50%; box-shadow: 3px 3px 10px 0 rgba(0,0,0,0.3); font-family: "Arial"; font-size: 1.2rem; line-height: 2rem; color: #000000; text-align: center; text-decoration: none; padding-top: 32px; }
#pageTop a::before { position: absolute; top: 17px; right: 0; left: 0; display: block; width: 12px; height: 12px; border: solid #000000; border-width: 2px 2px 0 0; content: ""; transform: rotate(-45deg); margin-right: auto; margin-left: auto; }

@media screen and (max-width: 1440px) {
	#pageTop { right: calc( 40 / 1440 * 100% ); }
}

@media screen and (min-width: 821px) {
	#pageTop a,
	#pageTop a::before { transition: 0.2s ease; }
	#pageTop a:hover { background-color: #333333; color: #ffffff; }
	#pageTop a:hover::before { border-color: #ffffff; }
}

@media screen and (max-width: 767px) {
	#pageTop a { position: absolute; top: -50px; left: 0; width: 100%; height: auto; background-color: transparent; border-radius: 0; box-shadow: none; padding: 15px; }
	#pageTop a::before { top: 3px; width: 8px; height: 8px; }
}

/* ↑ common_layout ↑ */





/* ↓ contents ↓ */

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 汎用 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ newsList ］
―――――――――――――――――――――――――――――― */

.newsList { max-width: 1300px; margin-right: auto; margin-left: auto; }
.newsList .listInner { font-size: 0; line-height: 0; margin-right: calc( -25 / 1300 * 100% ); margin-left: calc( -25 / 1300 * 100% ); }
.newsList .listInner a { display: inline-block; width: calc( 400 / 1350 * 100% ); font-weight: 700; vertical-align: top; text-decoration: none; margin: 0 calc( 25 / 1350 * 100% ) 70px; }
.newsList .listInner a img { display: block; border: solid 1px #d6d6d6; }
.newsList .listInner a dl { display: flex; flex-wrap: wrap; margin-top: 25px; }
.newsList .listInner a dl dt { order: 2; font-size: 1.6rem; line-height: 2.6rem; color: #7d7d7d; }
.newsList .listInner a dl dd { order: 1; width: 100%; font-size: 2rem; line-height: 3rem; margin-bottom: 30px; }

@media screen and (max-width: 1430px) {
	.newsList { max-width: 800px; }
	.newsList .listInner { margin-right: calc( -25 / 800 * 100% ); margin-left: calc( -25 / 800 * 100% ); }
	.newsList .listInner a { width: calc( 400 / 900 * 100% ); margin-right: calc( 25 / 900 * 100% ); margin-left: calc( 25 / 900 * 100% ); }
}

@media screen and (min-width: 821px) {
	.newsList .listInner a img { transition: 0.2s ease; }
	.newsList .listInner a:hover img { border-color: #000000; opacity: 0.6; }
}

@media screen and (max-width: 767px) {
	.newsList { max-width: 400px; }
	.newsList .listInner { margin-right: 0; margin-left: 0; }
	.newsList .listInner a { display: block; width: 100%; margin: 0 0 40px; }
	.newsList .listInner a dl { margin-top: 20px; }
	.newsList .listInner a dl dt { font-size: 1.4rem; line-height: 2.2rem; }
	.newsList .listInner a dl dd { font-size: 1.8rem; line-height: 2.6rem; margin-bottom: 5px; }
}



/* ――――――――――――――――――――――――――――――
［ worksList ］
―――――――――――――――――――――――――――――― */

.worksList { max-width: 1300px; margin-right: auto; margin-left: auto; }
.worksList .listInner { font-size: 0; line-height: 0; margin-right: calc( -25 / 1300 * 100% ); margin-left: calc( -25 / 1300 * 100% ); }
.worksList .listInner a { display: inline-block; width: calc( 400 / 1350 * 100% ); background-color: #ffffff; font-weight: 700; vertical-align: top; text-decoration: none; margin: 0 calc( 25 / 1350 * 100% ) 70px; }
.worksList .listInner a div { position: relative; background: url(../images/works_bg.jpg) no-repeat center top; background-size: 100% auto; padding: 20px; }
.worksList .listInner a div::after { position: absolute; bottom: 0; left: 0; display: block; width: 170px; height: 40px; background-size: cover; content: ""; }
.worksList .listInner a.typeCase div::after { background-image: url(../images/works_type_case.png); }
.worksList .listInner a.typeAbout div::after { background-image: url(../images/works_type_about.png); }
.worksList .listInner a dl { display: flex; flex-wrap: wrap; padding: 30px; }
.worksList .listInner a dl dt { order: 2; font-size: 1.6rem; line-height: 2.6rem; color: #7d7d7d; }
.worksList .listInner a dl dd { order: 1; width: 100%; min-height: 90px; font-size: 2rem; line-height: 3rem; margin-bottom: 30px; }

@media screen and (max-width: 1430px) {
	.worksList { max-width: 800px; }
	.worksList .listInner { margin-right: calc( -25 / 800 * 100% ); margin-left: calc( -25 / 800 * 100% ); }
	.worksList .listInner a { width: calc( 400 / 900 * 100% ); margin-right: calc( 25 / 900 * 100% ); margin-left: calc( 25 / 900 * 100% ); }
}

@media screen and (min-width: 821px) {
	.worksList .listInner a div { transition: 0.2s ease; }
	.worksList .listInner a:hover div { opacity: 0.6; }
}

@media screen and (max-width: 767px) {
	.worksList { max-width: 400px; }
	.worksList .listInner { margin-right: 0; margin-left: 0; }
	.worksList .listInner a { display: block; width: 100%; margin: 0 0 40px; }
	.worksList .listInner a dl { padding: 20px; }
	.worksList .listInner a dl dt { font-size: 1.4rem; line-height: 2.2rem; }
	.worksList .listInner a dl dd { min-height: auto; font-size: 1.8rem; line-height: 2.6rem; margin-bottom: 5px; }
}



/* ――――――――――――――――――――――――――――――
［ blankPage ］
―――――――――――――――――――――――――――――― */

.blankPage { text-align: center; padding: 100px 0 150px; }

@media screen and (max-width: 767px) {
	.blankPage { padding: 100px 0 170px; }
}



/* ――――――――――――――――――――――――――――――
［ hTitle ］
―――――――――――――――――――――――――――――― */

.hTitle { font-size: 3.2rem; line-height: 5.2rem; font-weight: 700; margin-bottom: 20px; }
.hTitleLine { border-bottom: solid 4px #417ec2; font-size: 3.2rem; line-height: 5.2rem; font-weight: 700; padding: 0 2px 16px; margin-bottom: 40px; }

@media screen and (max-width: 767px) {
	.hTitle { font-size: 2.3rem; line-height: 3.3rem; }
	.hTitleLine { font-size: 2.5rem; line-height: 4.5rem; padding-bottom: 8px; margin-bottom: 30px; }
}



/* ――――――――――――――――――――――――――――――
［ pageTitle ］
―――――――――――――――――――――――――――――― */

.pageTitle { font-size: 5rem; line-height: 6rem; font-weight: 700; text-align: center; margin-bottom: 50px; }

@media screen and (max-width: 767px) {
	.pageTitle { font-size: 2.8rem; line-height: 3.6rem; margin-bottom: 20px; }
}



/* ――――――――――――――――――――――――――――――
［ pageAnchor ］
―――――――――――――――――――――――――――――― */

.pageAnchor { font-size: 0; line-height: 0; text-align: center; }
.pageAnchor a { position: relative; display: inline-block; font-size: 2.4rem; line-height: 3.4rem; text-decoration: none; padding-left: 40px; margin: 10px 20px; }
.pageAnchor a::before,
.pageAnchor a::after { position: absolute; bottom: 0; display: block; content: ""; margin-top: auto; margin-bottom: auto; }
.pageAnchor a::before { top: 0; left: 0; width: 26px; height: 26px; background-color: #427ec2; border-radius: 50%; }
.pageAnchor a::after { top: -2px; left: 8px; width: 10px; height: 10px; border: solid #ffffff; border-width: 0 4px 4px 0; transform: rotate(45deg);  }

@media screen and (min-width: 821px) {
	.pageAnchor a:hover,
	.pageAnchor a:hover span { text-decoration: underline; }
}

@media screen and (max-width: 767px) {
	.pageAnchor { text-align: left; }
	.pageAnchor .anchorInner { display: table; width: 100%; }
	.pageAnchor .anchorInner:not(:last-child) { border-bottom: solid 1px #f2f2f2; }
	.pageAnchor a { display: table-cell; width: 50%; font-size: 1.8rem; line-height: 2.2rem; vertical-align: middle; padding: 15px 0 15px 30px; margin: 0; }
	.pageAnchor a::before { width: 18px; height: 18px; }
	.pageAnchor a::after { top: -2px; left: 5px; width: 8px; height: 8px; border-width: 0 3px 3px 0; }
}



/* ――――――――――――――――――――――――――――――
［ listLink ］
―――――――――――――――――――――――――――――― */

.listLink a { display: block; font-size: 2rem; line-height: 3rem; color: #0063b4; padding: 10px 0 10px 55px; }
.listLink a:not(:last-child) { margin-bottom: 15px; }
.listLink .linkPdf { background: url(../images/icon_pdf.svg) no-repeat left top; background-size: 42px 50px; }
.listLink .linkOut { background: url(../images/icon_out.svg) no-repeat 13px 6px; background-size: 32px; }
.listLink .linkArr { position: relative; }
.listLink .linkArr::before,
.listLink .linkArr::after { position: absolute; display: block; content: ""; }
.listLink .linkArr::before { top: 13px; left: 16px; width: 22px; height: 22px; border: solid 3px #417ec2; border-radius: 50%; }
.listLink .linkArr::after { top: 21px; left: 23px; width: 6px; height: 6px; border: solid #417ec2; border-width: 0 2px 2px 0; transform: rotate(-45deg); }

@media screen and (max-width: 767px) {
	.listLink a { font-size: 1.8rem; line-height: 2.6rem; padding: 3px 0 3px 40px; }
	.listLink a:not(:last-child) { margin-bottom: 15px; }
	.listLink .linkPdf { background-position: 2px 0; background-size: 25px 30px; }
	.listLink .linkOut { background-position: 6px 5px; background-size: 22px; }
	.listLink .linkArr::before { top: 6px; left: 6px; }
	.listLink .linkArr::after { top: 14px; left: 13px; }
}



/* ――――――――――――――――――――――――――――――
［ rcBtn ］
―――――――――――――――――――――――――――――― */

.rcBtn { font-size: 0; line-height: 0; text-align: center; }
.rcBtn a { display: inline-block; width: 320px; background-color: #ffffff; border: solid 3px #000000; border-radius: 40px; font-size: 2rem; line-height: 3rem; font-weight: 700; text-decoration: none; padding: 22px 20px; }
.rcBtn a:not(:first-child) { margin-left: 40px; }

@media screen and (min-width: 821px) {
	.rcBtn a { transition: 0.2s ease; }
	.rcBtn a:hover { background-color: #000000; color: #ffffff; }
}

@media screen and (max-width: 767px) {
	.rcBtn a { max-width: 280px; width: 100%; border-width: 2px; border-radius: 30px; padding: 14px 15px; }
	.rcBtn a:not(:first-child) { margin-top: 15px; margin-left: 0; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 Home 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ homeMain ］
―――――――――――――――――――――――――――――― */

.homeMain { max-width: 1500px; margin-right: auto; margin-left: auto; }

@media screen and (min-width: 768px) {
	.homeMain a img:nth-child(2) { display: none; }
}

@media screen and (max-width: 767px) {
	.homeMain { max-width: 500px; }
	.homeMain a img:nth-child(1) { display: none; }
}


/* Slick Slider
－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－ */

.slick-slider { position: relative; display: block; }

.slick-list { position: relative; overflow: hidden; display: block; padding: 0; margin: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; }

.slick-slider .slick-track { transform: translate3d(0,0,0); }

.slick-track { position: relative; top: 0; left: 0; display: block; }
.slick-track::before,
.slick-track::after { display: table; content: ""; }
.slick-track::after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; display: none; height: 100%; min-height: 1px; }
[dir="rtl"] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

/* Dots */
.slick-dots { position: absolute; bottom: -50px; display: block; text-align: center; width: 100%; }
.slick-dots li { position: relative; display: inline-block; width: 40px; height: 40px; }
.slick-dots li button { display: block; width: 40px; height: 40px; background-color: transparent; border: 0; font-size: 0; line-height: 0; cursor: pointer; }
.slick-dots li button:hover,
.slick-dots li button:focus { outline: none; }
.slick-dots li button::before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 18px; height: 18px; background-color: #000000; border: solid 2px #000000; border-radius: 50%; content: ""; margin: auto; transition: 0.2s ease; }
.slick-dots li button:hover::before,
.slick-dots li button:focus::before,
.slick-dots li.slick-active button::before { background-color: #ffffff; }

@media screen and (min-width: 821px) {
	.slick-prev,
	.slick-next,
	.slick-prev::before,
	.slick-prev::after,
	.slick-next::before,
	.slick-next::after { transition: 0.2s ease; }
	.slick-prev:hover,
	.slick-next:hover { background-color: #000000; }
	.slick-prev:hover::before,
	.slick-next:hover::before { background-color: #ffffff; }
	.slick-prev:hover::after,
	.slick-next:hover::after { border-color: #ffffff; }
}



/* ――――――――――――――――――――――――――――――
［ homeWarp ］
―――――――――――――――――――――――――――――― */

.homeWarp1 { padding: 160px calc( 50 / 1100 * 100% ) 140px; }
.homeWarp2 { background-color: #f2f2f2; padding: 80px calc( 50 / 1100 * 100% ) 100px; }


@media screen and (max-width: 767px) {
	.homeWarp1 { padding: 100px calc( 15 / 320 * 100% ) 80px; }
	.homeWarp2 { padding: 40px calc( 15 / 320 * 100% ) 60px; }
}



/* ――――――――――――――――――――――――――――――
［ homeSolution ］
―――――――――――――――――――――――――――――― */

.homeSolution { display: block; max-width: 1300px; background: url(../images/home_solution_bg1.jpg) no-repeat center center; background-size: auto 100%; color: #ffffff; font-weight: 700; margin: 0 auto 100px; }
.homeSolution .solutionInner { width: 640px; padding: 54px 0 20px; margin-right: auto; margin-left: auto; }
.homeSolution .solutionName { width: 380px; margin: 0 auto 20px; }
.homeSolution .solutionTxt { width: 600px; font-size: 1.8rem; line-height: 3rem; margin: 0 auto 20px; }
.homeSolution .solutionBtn { width: 180px; background-color: #000000; border: solid 2px #000000; border-radius: 22px; font-size: 1.4rem; line-height: 2.4rem; text-align: center; padding: 8px; margin-right: auto; margin-left: auto; }

@media screen and (min-width: 821px) {
	.homeSolution:hover { text-decoration: none; }
	.homeSolution .solutiontBtn { transition: 0.2s ease; }
	.homeSolution:hover .solutionBtn { background-color: #ffffff; color: #000000; }
}

@media screen and (max-width: 767px) {
	.homeSolution { position: relative; overflow: hidden; max-width: 500px; background-color: #417ec2; margin-bottom: 40px; }
	.homeSolution::before,
	.homeSolution::after { position: absolute; left: 0; display: block; width: 100%; background-size: cover; padding-top: calc( 74 / 500 * 100% ); content: ""; }
	.homeSolution::before { top: 0; background-image: url(../images/home_solution_bg2_1.jpg); }
	.homeSolution::after { bottom: 0; background-image: url(../images/home_solution_bg2_2.jpg); }
	.homeSolution .solutionInner { width: 100%; padding: 20px; margin: calc( 74 / 500 * 100% ) 0; }
	.homeSolution .solutionName { width: 250px; margin-bottom: 15px; }
	.homeSolution .solutionTxt { width: 100%; font-size: 1.4rem; line-height: 2rem; margin-bottom: 15px; }
	.homeSolution .solutionBtn { width: 150px; padding: 4px; }
}



/* ――――――――――――――――――――――――――――――
［ homeMediaguide ］
―――――――――――――――――――――――――――――― */

a.homeMediaguide { display: block; max-width: 1300px; background-color: #ebebeb; text-decoration: none; padding: 15px; margin: 0 auto 140px; }
a.homeMediaguide .mediaguideInner { position: relative; display: table; width: 100%; border: solid 1px #ffffff; border-radius: 32px; padding: 14px 14px 14px 114px; }
a.homeMediaguide .mediaguideInner::before { position: absolute; top: 20px; left: 25px; display: block; width: 53px; height: 56px; background-image: url(../images/home_mediaguide_icon.gif); background-size: cover; content: ""; }
a.homeMediaguide .mediaguideName { display: table-cell; width: 330px; font-weight: 700; vertical-align: middle; }
a.homeMediaguide .mediaguideName .nameMain { font-size: 4rem; line-height: 5rem; margin-bottom: 10px; }
a.homeMediaguide .mediaguideName .nameDate { font-size: 1.6rem; line-height: 2.4rem; }
a.homeMediaguide .mediaguideImg { display: table-cell; width: 370px; }
a.homeMediaguide .mediaguideTxt { display: table-cell; width: 440px; font-size: 1.8rem; line-height: 3rem; vertical-align: middle; padding-left: 70px; }
a.homeMediaguide .mediaguideTxt .txtLead { margin-bottom: 30px; }
a.homeMediaguide .mediaguideTxt .txtBtn { position: relative; width: 215px; background-color: #000000; border: solid 2px #000000; border-radius: 22px; font-size: 1.5rem; line-height: 2rem; color: #ffffff; font-weight: 700; text-align: center; }
a.homeMediaguide .mediaguideTxt .txtBtn::before { position: absolute; top: 0; bottom: 0; left: 24px; display: block; width: 27px; height: 32px; background-image: url(../images/icon_pdf.svg); background-size: cover; content: ""; margin-top: auto; margin-bottom: auto; }
a.homeMediaguide .mediaguideTxt .txtBtn span { position: relative; display: block; padding: 10px 20px 10px 35px; }
a.homeMediaguide .mediaguideTxt .txtBtn span::before,
a.homeMediaguide .mediaguideTxt .txtBtn span::after { position: absolute; top: 0; right: 24px; bottom: 0; display: block; width: 12px; height: 14px; content: ""; margin-top: auto; margin-bottom: auto; }
a.homeMediaguide .mediaguideTxt .txtBtn span::before { background-image: url(../images/home_mediaguide_arr1.svg); }
a.homeMediaguide .mediaguideTxt .txtBtn span::after { background-image: url(../images/home_mediaguide_arr2.svg); opacity: 0; }

@media screen and (max-width: 1300px) {
	a.homeMediaguide .mediaguideInner { display: block; text-align: center; padding: 30px; }
	a.homeMediaguide .mediaguideInner::before { display: none; }
	a.homeMediaguide .mediaguideName { position: relative; display: inline-block; width: auto; text-align: left; padding-left: 65px; margin-bottom: 30px; }
	a.homeMediaguide .mediaguideName::before { position: absolute; top: 0; left: 0; display: block; width: 53px; height: 56px; background-image: url(../images/home_mediaguide_icon.gif); background-size: cover; content: ""; }
	a.homeMediaguide .mediaguideImg { display: block; width: 370px; margin: 0 auto 30px; }
	a.homeMediaguide .mediaguideTxt { display: block; width: 100%; padding-left: 0; }
	a.homeMediaguide .mediaguideTxt .txtLead { max-width: 600px; margin-right: auto; margin-left: auto; }
	a.homeMediaguide .mediaguideTxt .txtBtn { margin-right: auto; margin-left: auto; }
}

@media screen and (min-width: 821px) {
	a.homeMediaguide .mediaguideTxt .txtBtn,
	a.homeMediaguide .mediaguideTxt .txtBtn span::before,
	a.homeMediaguide .mediaguideTxt .txtBtn span::after { transition: 0.2s ease; }
	a.homeMediaguide:hover .mediaguideTxt .txtBtn { background-color: #ffffff; color: #000000; }
	a.homeMediaguide:hover .mediaguideTxt .txtBtn span::before { opacity: 0; }
	a.homeMediaguide:hover .mediaguideTxt .txtBtn span::after { opacity: 1; }
}

@media screen and (max-width: 767px) {
	a.homeMediaguide { max-width: 500px; margin-bottom: 60px; }
	a.homeMediaguide .mediaguideInner { border-radius: 16px; padding: 24px 14px; }
	a.homeMediaguide .mediaguideInner::before { display: none; }
	a.homeMediaguide .mediaguideName { padding-left: 45px; margin-bottom: 15px; }
	a.homeMediaguide .mediaguideName::before { position: absolute; top: 0; left: 0; display: block; width: 37px; height: 39px; background-image: url(../images/home_mediaguide_icon.gif); background-size: cover; content: ""; }
	a.homeMediaguide .mediaguideName .nameMain { font-size: 2.2rem; line-height: 2.6rem; margin-bottom: 5px; }
	a.homeMediaguide .mediaguideName .nameDate { font-size: 1.4rem; line-height: 2rem; }
	a.homeMediaguide .mediaguideImg { width: 190px; margin-bottom: 20px; }
	a.homeMediaguide .mediaguideTxt .txtLead { font-size: 1.4rem; line-height: 2.2rem; text-align: left; margin-bottom: 20px; }
}



/* ――――――――――――――――――――――――――――――
［ homeTitle ］
―――――――――――――――――――――――――――――― */

.homeTitle { font-weight: 700; margin-bottom: 60px; }
.homeTitle span { display: block; }
.homeTitle span:nth-child(1) { font-size: 1.8rem; line-height: 3.2rem; }
.homeTitle span:nth-child(2) { font-family: "Arial"; font-size: 9rem; line-height: 10rem; }

@media screen and (max-width: 767px) {
	.homeTitle { margin-bottom: 20px; }
	.homeTitle span:nth-child(1) { font-size: 1.4rem; line-height: 2rem; }
	.homeTitle span:nth-child(2) { font-size: 3rem; line-height: 4rem; }
}



/* ――――――――――――――――――――――――――――――
［ homeLogo ］
―――――――――――――――――――――――――――――― */

.homeLogo { padding: 80px calc( 50 / 1100 * 100% ) 0; }
.homeLogo .logoInner { max-width: 1220px; font-size: 0; line-height: 0; text-align: center; margin-right: auto; margin-left: auto; }
.homeLogo a { display: inline-block; width: 224px; margin: 15px 10px; }

@media screen and (max-width: 767px) {
	.homeLogo { padding: 40px calc( 15 / 320 * 100% ) 10px; }
	.homeLogo .logoInner { max-width: 460px; }
	.homeLogo a { display: inline-block; width: calc( 100% / 2 ); margin: 0; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 企画書・概要 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.aboutLogo { border: solid #b2b2b2; border-width: 0 1px; margin-bottom: 80px; }
.aboutLogo img { display: block; max-width: 400px; margin-right: auto; margin-left: auto; }
.aboutLead { overflow: hidden; }
.aboutLead:not(:last-child) { margin-bottom: 100px; }
.aboutLead .leadImg { float: right; width: 440px; margin: 6px 0 30px 30px; }

@media screen and (max-width: 1000px) {
	.aboutLead { display: flex; flex-wrap: wrap; }
	.aboutLead .leadImg { order: 2; float: none; width: 440px; margin: 30px auto 0; }
}

@media screen and (max-width: 767px) {
	.aboutLogo { margin-bottom: 40px; }
	.aboutLead:not(:last-child) { margin-bottom: 60px; }
	.aboutLead .leadImg { max-width: 440px; width: 100%; margin-top: 20px; }
}




/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 インタビュー 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ interviewCategory ］
―――――――――――――――――――――――――――――― */

.interviewCategory { display: table; width: 100%; font-weight: 700; margin-bottom: 50px; }
.interviewCategory dt { display: table-cell; width: 185px; border: solid #417ec2; border-width: 0 1px; font-size: 2.2rem; line-height: 4rem; color: #417ec2; text-align: center; padding: 10px; }
.interviewCategory dd { display: table-cell; font-size: 2.6rem; line-height: 4rem; padding: 10px 0 10px 40px; }

@media screen and (max-width: 767px) {
	.interviewCategory { display: block; margin-bottom: 20px; }
	.interviewCategory dt { display: block; width: 160px; font-size: 1.8rem; line-height: 3rem; padding: 5px; margin-right: auto; margin-left: auto; }
	.interviewCategory dd { display: block; font-size: 2rem; line-height: 3rem; text-align: center; padding: 15px 0 0; }
}



/* ――――――――――――――――――――――――――――――
［ interviewTitle ］
―――――――――――――――――――――――――――――― */

.interviewTitle1 { font-size: 4.6rem; line-height: 6.8rem; font-weight: 700; }
.interviewTitle2 { border: solid #417ec2; border-width: 1px 0; font-size: 3.5rem; line-height: 4.6rem; color: #417ec2; font-weight: 700; padding: 25px 5px; margin-bottom: 60px; }
.interviewTitle2 .titleSub { font-size: 2.6rem; }

@media screen and (max-width: 767px) {
	.interviewTitle1 { font-size: 2.4rem; line-height: 3.4rem; }
	.interviewTitle2 { font-size: 2.2rem; line-height: 3rem; padding: 18px 2px; margin-bottom: 40px; }
	.interviewTitle2 .titleSub { font-size: 1.6rem; }
}



/* ――――――――――――――――――――――――――――――
［ interviewCatch ］
―――――――――――――――――――――――――――――― */

.interviewCatch { font-size: 3.2rem; line-height: 4.2rem; font-weight: 700; }

@media screen and (max-width: 767px) {
	.interviewCatch { font-size: 1.8rem; line-height: 2.6rem; }
}



/* ――――――――――――――――――――――――――――――
［ interviewTalk ］
―――――――――――――――――――――――――――――― */

.interviewTalk { line-height: 4.8rem; }
.interviewTalk dl { display: table; }
.interviewTalk dl:not(:last-child) { margin-bottom: 40px; }
.interviewTalk dl dt { display: table-cell; white-space: nowrap; padding-right: 20px; }
.interviewTalk dl dd { overflow: hidden; display: table-cell; }
.interviewTalk dl dd .talk450 { float: right; width: 450px; margin: 15px 0 25px 25px; }
.interviewTalk dl.talkType1 { font-weight: 700; }
.interviewTalk dl.talkType2 dt { color: #935944; font-weight: 700; }

@media screen and (max-width: 767px) {
	.interviewTalk { line-height: 3rem; }
	.interviewTalk dl { display: table; }
	.interviewTalk dl:not(:last-child) { margin-bottom: 20px; }
	.interviewTalk dl dt { display: block; padding-right: 15px; }
	.interviewTalk dl.talkType1 dt { font-size: 0; line-height: 0; }
	.interviewTalk dl dd { display: flex; flex-wrap: wrap; }
	.interviewTalk dl dd .talk450 { order: 1; float: none; max-width: 450px; width: 100%; margin: 20px 0 0; }
}



/* ――――――――――――――――――――――――――――――
［ interviewAnn ］
―――――――――――――――――――――――――――――― */

.interviewAnn { font-size: 1.6rem; line-height: 2.6rem; }
.interviewAnn a { display: block; color: #006ec8; text-decoration: none; }
.interviewAnn a:not(:last-child) { margin-bottom: 8px; }
.interviewAnn dl { display: table; }
.interviewAnn dl dt { display: table-cell; white-space: nowrap; padding-right: 10px; }
.interviewAnn dl dd { display: table-cell; }
.interviewAnn .annPdf dl dd { background: url(../images/icon_pdf.svg) no-repeat left top; background-size: 22px 26px; padding-left: 30px; }
.interviewAnn .annOut dl dd { background: url(../images/icon_out.svg) no-repeat 3px 4px; background-size: 18px 18px; padding-left: 30px; }

@media screen and (min-width: 821px) {
	.interviewAnn a:hover dl dd { text-decoration: underline; }
}



/* ――――――――――――――――――――――――――――――
［ interviewFrame ］
―――――――――――――――――――――――――――――― */

.interviewFrame { background-color: #f1f1f1; padding: 35px 65px 50px; }
.interviewFrame .frameTitle { font-size: 2.2rem; line-height: 3.6rem; font-weight: 700; margin-bottom: 20px; }

@media screen and (max-width: 767px) {
	.interviewFrame { padding: 20px 25px; }
	.interviewFrame .frameTitle { font-size: 1.8rem; line-height: 2.4rem; margin-bottom: 15px; }
}



/* ――――――――――――――――――――――――――――――
［ interviewLink ］
―――――――――――――――――――――――――――――― */

.interviewLink { font-size: 1.8rem; line-height: 2.6rem; }
.interviewLink a { display: block; color: #006ec8; }
.interviewLink a:not(:last-child) { margin-bottom: 8px; }
.interviewLink .linkPdf { background: url(../images/icon_pdf.svg) no-repeat left top; background-size: 22px 26px; padding-left: 30px; }
.interviewLink .linkOut { background: url(../images/icon_out.svg) no-repeat 3px 4px; background-size: 18px 18px; padding-left: 30px; }

@media screen and (max-width: 767px) {
	.interviewLink { font-size: 1.6rem; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 新聞広告ガイド 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.advertisingPdf { font-size: 0; line-height: 0; margin-bottom: 60px; }
.advertisingPdf a { display: inline-block; width: calc((100% - 20px) / 2); min-height: 177px; background: url(../images/icon_pdf.svg) no-repeat right 25px center; background-size: 42px 50px; border: solid 2px #000000; text-decoration: none; vertical-align: top; padding: 30px 85px 30px 25px; }
.advertisingPdf a:nth-child(odd) { margin-right: 20px; }
.advertisingPdf a:nth-child(n+3) { margin-top: 20px; }
.advertisingPdf a dl dt { font-size: 2.4rem; line-height: 4rem; font-weight: 700; margin-bottom: 5px; }
.advertisingPdf a dl dd { font-size: 2rem; line-height: 3.4rem; }

@media screen and (max-width: 860px) {
	.advertisingPdf a { display: block; width: 100%; min-height: auto; background-position: right 20px center; padding: 25px 85px 25px 20px; }
	.advertisingPdf a:nth-child(odd) { margin-right: 0; }
	.advertisingPdf a:nth-child(2) { margin-top: 20px; }
}

@media screen and (min-width: 821px) {
	.advertisingPdf a { transition: 0.2s ease; }
	.advertisingPdf a:hover { background-color: #f2f2f2; }
}

@media screen and (max-width: 767px) {
	.advertisingPdf { margin-bottom: 40px; }
	.advertisingPdf a dl dt { font-size: 2.2rem; line-height: 3.2rem; }
	.advertisingPdf a dl dd { font-size: 1.8rem; line-height: 2.4rem; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 S∞LUTION 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.solutionImg { max-width: 1300px; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 767px) {
	.solutionImg { max-width: 500px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 お問い合わせ 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.inquiryLink { max-width: 850px; margin-right: auto; margin-left: auto; }
.inquiryLink a { position: relative; display: block; border: solid 2px #000000; font-weight: 700; text-decoration: none; padding: 50px 80px 50px 50px; }
.inquiryLink a:not(:last-child) { margin-bottom: 40px; }
.inquiryLink a::before,
.inquiryLink a::after { position: absolute; top: 0; bottom: 0; display: block; content: ""; margin-top: auto; margin-bottom: auto; }
.inquiryLink a::before { right: 20px; width: 22px; height: 22px; background-color: #000000; border-radius: 50%; }
.inquiryLink a::after { right: 27px; width: 10px; height: 10px; border: solid #ffffff; border-width: 0 4px 4px 0; transform: rotate(-45deg); }

@media screen and (min-width: 821px) {
	.inquiryLink a::before,
	.inquiryLink a::after { transition: 0.2s ease; }
	.inquiryLink a:hover::before,
	.inquiryLink a:hover::after { margin-right: -5px; }
}

@media screen and (max-width: 767px) {
	.inquiryLink { max-width: 500px; }
	.inquiryLink a { padding: 25px 60px 25px 30px; }
	.inquiryLink a:not(:last-child) { margin-bottom: 20px; }
	.inquiryLink a::before { width: 20px; height: 20px; }
	.inquiryLink a::after { width: 8px; height: 8px; border-width: 0 3px 3px 0; }
}




/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 サイトマップ 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.sitemapList { font-size: 0; line-height: 0; }
.sitemapList .listInner { display: inline-block; width: calc((100% - 40px) / 2); vertical-align: top; }
.sitemapList .listInner:nth-child(2) { margin-left: 40px; }
.sitemapList a { position: relative; display: block; font-weight: 700; text-decoration: none; }
.sitemapList a.listLink { font-size: 2.2rem; line-height: 5rem; padding: 10px 30px 10px 5px; }
.sitemapList a.listLink:not(:first-child) { border-top: solid 1px #666666; }
.sitemapList a.listLink.linkIn::after { position: absolute; top: 0; right: 5px; bottom: 0; display: block; width: 10px; height: 10px; border: solid #666666; border-width: 0 3px 3px 0; content: ""; transform: rotate(-45deg); margin-top: auto; margin-bottom: auto; }
.sitemapList a.listLink.linkOut::after { position: absolute; top: 0; right: 5px; bottom: 0; display: block; width: 18px; height: 18px; background-image: url(../images/link_out.svg); background-size: cover; content: ""; margin-top: auto; margin-bottom: auto; }
.sitemapList .listChild { padding-bottom: 14px; }
.sitemapList .listChild a { position: relative; font-size: 1.8rem; line-height: 3.5rem; padding: 5px 5px 5px 22px; }
.sitemapList .listChild a::after { position: absolute; top: 0; left: 5px; bottom: 0; display: block; width: 8px; height: 8px; border: solid #666666; border-width: 0 2px 2px 0; content: ""; transform: rotate(-45deg); margin-top: auto; margin-bottom: auto; }

@media screen and (min-width: 821px) {
	.sitemapList a { transition: 0.2s ease; }
	.sitemapList a:hover { background-color: #f3f3f3; }
}

@media screen and (max-width: 767px) {
	.sitemapList .listInner { display: block; width: 100%; }
	.sitemapList .listInner:nth-child(2) { border-top: solid 1px #666666; margin-left: 0; }
	.sitemapList a.listLink { font-size: 1.8rem; line-height: 4rem; }
	.sitemapList .listChild a { font-size: 1.6rem; line-height: 2.8rem; }
}

/* ↑contents ↑ */
