@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 Home 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ homeMain ］
―――――――――――――――――――――――――――――― */

.homeMain { background: url(../../images/home_main_bg.jpg) no-repeat center bottom; background-size: 100% auto; }
.homeMain .mainTitle { max-width: 1000px; background: url(../../images/home_main1.png) no-repeat left top; background-size: cover; font-size: 0; line-height: 0; padding-top: 625px; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 1660px) {
	.homeMain { background-size: auto 100%; }
}

@media screen and (max-width: 1000px) {
	.homeMain .mainTitle { padding-top: calc( 625 / 1000 * 100% ); }
}

@media screen and (max-width: 767px) {
	.homeMain { background-image: url(../../images/home_main2.jpg); }
	.homeMain .mainTitle { background: none; padding-top: 480px; }
}



/* ――――――――――――――――――――――――――――――
［ homeMain ］
―――――――――――――――――――――――――――――― */

.homeNews { overflow: hidden; max-width: 940px; padding-top: 40px; padding-bottom: 40px; margin-right: auto; margin-left: auto; }
.homeNews .newsTitle { float: left; width: 220px; font-size: 2.8rem; line-height: 4rem; color: #224374; font-weight: 700; text-align: center; }
.homeNews .newsList { float: right; width: calc( 100% - 220px ); }
.homeNews .newsList .listItem { display: block; text-decoration: none; }
.homeNews .newsList .listItem:not(:last-child) { margin-bottom: 10px; }
.homeNews .newsList .listItem dl { display: table; }
.homeNews .newsList .listItem dl dt { display: table-cell; font-size: 1.6rem; line-height: 2.8rem; color: #979797; padding-right: 20px; }
.homeNews .newsList .listItem dl dd { display: table-cell; font-size: 1.8rem; line-height: 2.8rem; color: #224374; }

@media screen and (max-width: 1000px) {
	.homeNews .newsTitle { float: none; width: 100%; margin-bottom: 15px; }
	.homeNews .newsList { float: none; width: 100%; }
}

@media screen and (min-width: 821px) {
	.homeNews .newsList a.listItem:hover dl dd { text-decoration: underline; }
}

@media screen and (max-width: 767px) {
	.homeNews { max-width: 500px; padding-top: 30px; }
	.homeNews .newsTitle { font-size: 2.4rem; line-height: 3.4rem; }
	.homeNews .newsList .listItem:not(:last-child) { margin-bottom: 15px; }
	.homeNews .newsList .listItem dl { display: block; }
	.homeNews .newsList .listItem dl dt { display: block; font-size: 1.4rem; line-height: 2.4rem; padding-right: 0; }
	.homeNews .newsList .listItem dl dd { display: block; font-size: 1.6rem; line-height: 2.4rem; }
}



/* ――――――――――――――――――――――――――――――
［ homeNav ］
―――――――――――――――――――――――――――――― */

.homeNav { overflow: hidden; max-width: 940px; padding-top: 60px; padding-bottom: 60px; margin-right: auto; margin-left: auto; }
.homeNav a { position: relative; display: block; width: 400px; min-height: 400px; background-color: #ffffff; border-radius: 22px; color: #224374; text-decoration: none; padding: 45px 20px; }
.homeNav a:nth-child(1) { float: left; }
.homeNav a:nth-child(2) { float: right; }
.homeNav a .navName { position: relative; font-size: 3.2rem; line-height: 5rem; font-weight: 700; text-align: center; padding-top: 55px; margin-bottom: 15px; }
.homeNav a .navName::before { position: absolute; top: 0; right: 0; left: 0; overflow: hidden; display: block; width: 50px; height: 50px; border-radius: 50%; background-size: cover; content: ""; margin-right: auto; margin-left: auto; }
.homeNav a:nth-child(1) .navName::before { background-image: url(../../images/home_nav_icon1.svg); }
.homeNav a:nth-child(2) .navName::before { background-image: url(../../images/home_nav_icon2.svg); }
.homeNav a .navLead { max-width: 290px; font-size: 1.9rem; line-height: 3.6rem; margin: 0 auto 35px; }
.homeNav a .navMore { position: absolute; right: 0; bottom: 45px; left: 0; width: 200px; border: solid 1px #224374; border-radius: 25px; font-size: 1.4rem; line-height: 2.8rem; font-weight: 700; text-align: center; padding: 10px; margin-right: auto; margin-left: auto; }
.homeNav a .navMore::before,
.homeNav a .navMore::after { position: absolute; top: 0; bottom: 0; display: block; content: ""; margin-top: auto; margin-bottom: auto; }
.homeNav a .navMore::before { right: 34px; width: 10px; height: 2px; background-color: #224374; }
.homeNav a .navMore::after { right: 30px; width: 8px; height: 8px; border: solid #224374; border-width: 0 2px 2px 0; transform: rotate(-45deg); }

@media screen and (max-width: 920px) {
	.homeNav a { width: calc((100% - 36px) / 2); }
}

@media screen and (min-width: 821px) {
	.homeNav a .navMore,
	.homeNav a .navMore::before,
	.homeNav a .navMore::after { transition: 0.2s ease; }
	.homeNav a:hover .navMore { background-color: #224374; color: #ffffff; }
	.homeNav a:hover .navMore::before { background-color: #ffffff; }
	.homeNav a:hover .navMore::after { border-color: #ffffff; }
}

@media screen and (max-width: 767px) {
	.homeNav { max-width: 400px; padding-top: 40px; padding-bottom: 40px; }
	.homeNav a { width: 100%; min-height: auto; padding: 30px 15px; }
	.homeNav a:nth-child(1) { float: none; margin-bottom: 20px; }
	.homeNav a:nth-child(2) { float: none; }
	.homeNav a .navName { font-size: 2.4rem; line-height: 4rem; margin-bottom: 10px; }
	.homeNav a .navLead { font-size: 1.6rem; line-height: 2.6rem; margin-bottom: 20px;  }
	.homeNav a .navMore { position: relative; bottom: 0; width: 200px; }
}



/* ――――――――――――――――――――――――――――――
［ homeLink ］
―――――――――――――――――――――――――――――― */

.homeLink { max-width: 940px; font-size: 0; line-height: 0; font-weight: 700; text-align: center; padding-top: 60px; padding-bottom: 60px; margin-right: auto; margin-left: auto; }
.homeLink .linkTitle { font-size: 2.5rem; line-height: 4rem; color: #224374; margin-bottom: 30px; }
.homeLink .linkBlock { display: inline-block; width: calc( 100% / 6 ); vertical-align: top; }
.homeLink .linkBlock .blockName { font-size: 1.8rem; line-height: 2.8rem; color: #1c88be; margin-bottom: 15px; }
.homeLink .linkBlock .blockList { width: 120px; margin-right: auto; margin-left: auto; }
.homeLink .linkBlock .blockList a { display: block; border: solid 1px #7b8eac; border-radius: 15px; font-size: 1.8rem; line-height: 2.8rem; color: #224374; text-decoration: none; }
.homeLink .linkBlock .blockList a:not(:last-child) { margin-bottom: 12px; }

@media screen and (min-width: 821px) {
	.homeLink .linkBlock .blockList a { transition: 0.2s ease; }
	.homeLink .linkBlock .blockList a:hover { background-color: #224374; border-color: #224374; color: #ffffff; }
}

@media screen and (max-width: 767px) {
	.homeLink { max-width: 320px; padding-top: 40px; padding-bottom: 140px; }
	.homeLink .linkTitle { font-size: 2rem; line-height: 3rem; }
	.homeLink .linkBlock { width: calc( 100% / 2 ); }
	.homeLink .linkBlock:nth-child(n+4) { margin-top: 40px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 About 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ aboutAnchor ］
―――――――――――――――――――――――――――――― */

.aboutAnchor { font-size: 0; line-height: 0; text-align: center; margin-bottom: 80px; }
.aboutAnchor a { display: inline-block; width: 230px; font-size: 2.2rem; line-height: 3rem; color: #224374; font-weight: 700; text-decoration: none; margin: 20px 40px; }
.aboutAnchor a.anchorLink { position: relative; border-bottom: solid 2px #224374; padding: 9px; }
.aboutAnchor a.anchorLink::after { position: absolute; top: -4px; right: 18px; bottom: 0; display: block; width: 12px; height: 12px; border: solid #224374; border-width: 0 1px 1px 0; content: ""; transform: rotate(45deg); margin-top: auto; margin-bottom: auto; }
.aboutAnchor a.anchorPdf { position: relative; letter-spacing: 22px; padding: 10px 0 10px 22px; }
.aboutAnchor a.anchorPdf span { position: relative; padding-right: 20px; z-index: 1; }
.aboutAnchor a.anchorPdf span::after { position: absolute; top: 0; right: 0; bottom: 0; display: block; width: 23px; height: 28px; background-image: url(../images/icon_pdf.svg); background-size: cover; content: ""; margin-top: auto; margin-bottom: auto; }
.aboutAnchor a.anchorPdf::before,
.aboutAnchor a.anchorPdf::after { position: absolute; top: 0; right: 0; left: 0; display: block; height: 100%; content: ""; }
.aboutAnchor a.anchorPdf::before { width: 100%; border: solid 1px #224374; }
.aboutAnchor a.anchorPdf::after { width: 200px; background-color: #ffffff; margin-right: auto; margin-left: auto; }

@media screen and (min-width: 821px) {
	.aboutAnchor a,
	.aboutAnchor a::before,
	.aboutAnchor a::after { transition: 0.2s ease; }
	.aboutAnchor a:hover { background-color: #224374; color: #ffffff; }
	.aboutAnchor a:hover.anchorLink::after { border-color: #ffffff; }
	.aboutAnchor a:hover.anchorPdf::after { background-color: #224374; }
}

@media screen and (max-width: 767px) {
	.aboutAnchor { margin-bottom: 40px; }
	.aboutAnchor a { margin: 15px 0; }
	.aboutAnchor a.anchorLink { padding-top: 0; }
	.aboutAnchor a.anchorLink::after { top: -15px; }
}



/* ――――――――――――――――――――――――――――――
［ aboutTitle ］
―――――――――――――――――――――――――――――― */

.aboutTitle { background-color: #224374; border-radius: 10px; font-size: 2.4rem; line-height: 3.4rem; color: #ffffff; font-weight: 700; text-align: center; padding: 8px; }

@media screen and (max-width: 767px) {
	.aboutTitle { font-size: 1.8rem; line-height: 2.8rem; }
}



/* ――――――――――――――――――――――――――――――
［ aboutList ］
―――――――――――――――――――――――――――――― */

.aboutList { width: 100%; margin-bottom: 25px; }
.aboutList tr:nth-child(n+2) { border-bottom: solid 1px #979797; }
.aboutList tr th { background-color: #ebf4f9; color: #224374; font-weight: 700; padding: 5px 10px; }
.aboutList tr td { padding: 8px 10px; }
.aboutList tr th:first-child,
.aboutList tr td:first-child { padding-left: 30px; }
.aboutList tr:nth-child(2) td { padding-top: 20px; }
.aboutList tr td:last-child span { display: none; }

@media screen and (max-width: 1000px) {
	.aboutList tr th:first-child,
	.aboutList tr td:first-child { padding-left: 20px; }
}

@media screen and (max-width: 767px) {
	.aboutList,.aboutList tbody,.aboutList tr,.aboutList th,.aboutList td { display: block; }
	.aboutList { margin-bottom: 15px; }
	.aboutList tr:first-child { display: none; }
	.aboutList tr { padding: 15px 5px; }
	.aboutList tr td { padding: 0; }
	.aboutList tr td:first-child { font-weight: 700; padding-left: 0; }
	.aboutList tr:nth-child(2) td { padding-top: 0; }
	.aboutList tr td:last-child span { display: inline-block; }
}



/* ――――――――――――――――――――――――――――――
［ aboutLink ］
―――――――――――――――――――――――――――――― */

.aboutLink:not(:last-child) { margin-bottom: 50px; }
.aboutLink .linkBlock { color: #1c88be; font-weight: 700; text-align: center; margin-bottom: 30px; }
.aboutLink .linkSet { display: block; border-top: solid 1px #979797; color: #333333; text-decoration: none; padding-top: 10px; padding-bottom: 50px; }
.aboutLink .linkSet dl { display: table; width: 100%; }
.aboutLink .linkSet dl dt { display: table-cell; width: 340px; }
.aboutLink a.linkSet dl dt span { position: relative; padding-right: 20px; }
.aboutLink a.linkSet dl dt span::before,
.aboutLink a.linkSet dl dt span::after { position: absolute; display: block; content: ""; }
.aboutLink a.linkSet dl dt span::before { top: 6px; right: 0; width: 12px; height: 8px; border: solid 1px #000000; }
.aboutLink a.linkSet dl dt span::after { top: 8px; right: 2px; width: 12px; height: 8px; border: solid #000000; border-width: 0 0 1px 1px; }
.aboutLink .linkSet dl dd { display: table-cell; }
.aboutLink .linkSet dl dd span { padding-right: 18px; }

@media screen and (max-width: 1000px) {
	.aboutLink .linkSet dl { display: block; }
	.aboutLink .linkSet dl dt { display: block; width: 100%; margin-bottom: 10px; }
	.aboutLink .linkSet dl dd { display: block; }
}

@media screen and (min-width: 821px) {
	.aboutLink a.linkSet { transition: 0.2s ease; }
	.aboutLink a:hover.linkSet { background-color: #f0fbff; }
}

@media screen and (max-width: 767px) {
	.aboutLink .linkBlock { margin-bottom: 15px; }
	.aboutLink .linkSet { padding: 15px 5px; }
	.aboutLink .linkSet dl dt { font-weight: 700; margin-bottom: 5px; }
	.aboutLink a.linkSet dl dt span::before { top: 5px; }
	.aboutLink a.linkSet dl dt span::after { top: 7px; }
	.aboutLink .linkSet dl dd span { padding-right: 16px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 Message 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.messageTxt { margin-bottom: 60px; }
.messageTxt p { line-height: 4rem; text-indent: 1em; }
.messageName { overflow: hidden; }
.messageName div { font-size: 1.6rem; line-height: 2.6rem; text-align: right; margin-bottom: 5px; }
.messageName dl { float: right; display: table; }
.messageName dl dt { display: table-cell; font-size: 1.6rem; line-height: 2.6rem; vertical-align: middle; padding-right: 20px; }
.messageName dl dd { display: table-cell; font-size: 2.8rem; line-height: 3rem; vertical-align: middle; }

@media screen and (max-width: 767px) {
	.messageTxt { margin-bottom: 40px; }
	.messageTxt p { line-height: 3rem; }
	.messageName div { font-size: 1.4rem; line-height: 2.4rem; }
	.messageName dl dt { font-size: 1.4rem; line-height: 2.4rem; }
	.messageName dl dd { font-size: 2.4rem; }
}
