@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 purpose 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.purposeList { background: url(/overview/images/purpose_bg.jpg) no-repeat; background-size: cover; padding-top: 60px; padding-bottom: 60px; margin: 0 calc( -70 / 860 * 100% ) 85px; }
.purposeList .listInner { max-width: 580px; background-color: rgba(255,255,255,0.7); padding: 35px 45px; margin-right: auto; margin-left: auto; }
.purposeList .listLead { font-size: 1.6rem; line-height: 2.4rem; font-weight: 700; text-align: center; margin-bottom: 20px; }
.purposeList .listLead span { display: inline-block; }
.purposeList .listMain { border-top: solid 1px #d9d9d9; font-weight: 700; }
.purposeList .listMain dl { border-bottom: solid 1px #d9d9d9; padding: 8px 5px 28px; }
.purposeList .listMain dl dt { font-size: 1.8rem; line-height: 1; color: #9e9e9e; }
.purposeList .listMain dl dd { font-size: 1.8rem; line-height: 2.8rem; text-align: center; }

@media screen and (max-width: 767px) {
	.purposeList { padding-top: 0; padding-bottom: 0; margin: 0 calc( -20 / 280 * 100% ) 60px; }
	.purposeList .listInner { padding: 30px calc( 20 / 320 * 100% ); }
	.purposeList .listLead { font-size: 1.4rem; line-height: 2.2rem; text-align: left; }
	.purposeList .listLead span { display: inline; }
	.purposeList .listMain dl dt { font-size: 1.4rem; }
	.purposeList .listMain dl dd { font-size: 1.4rem; line-height: 2.2rem; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 officer 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.officerData { overflow: hidden; font-size: 1.8rem; line-height: 3.2rem; margin-bottom: 10px; }
.officerData dl { float: right; display: table; }
.officerData dl dt,
.officerData dl dd { display: table-cell; }
.officerData dl dt { white-space: nowrap; }

@media screen and (max-width: 767px) {
	.officerData { font-size: 1.6rem; line-height: 2.6rem; }
	.officerData span { display: inline-block; }
}



/* ――――――――――――――――――――――――――――――
［ officerTable ］
―――――――――――――――――――――――――――――― */

.officerTable { width: 100%; border-top: solid 4px #a3a3a3; font-size: 1.6rem; line-height: 2.2rem; font-feature-settings: "palt"; margin-bottom: 15px; }
.officerTable tr th { width: 18%; border-bottom: solid 1px #bbb; text-align: left; padding: 30px 0 30px 10px; }
.officerTable tr td { border-bottom: solid 1px #bbb; padding-top: 30px; padding-bottom: 30px; }
.officerTable tr td dl { display: table; width: 100%; }
.officerTable tr td dl dt,
.officerTable tr td dl dd { display: table-cell; vertical-align: middle; padding-left: 15px; }
.officerTable tr td dl dt { width: 25%; white-space: nowrap; }
.officerTable tr td dl dd ul li:not(:last-child) { margin-bottom: 5px; }
.officerTable tr td dl dd span { display: inline-block; }

@media screen and (max-width: 767px) {
	.officerTable,
	.officerTable tbody,
	.officerTable tr,
	.officerTable tr th,
	.officerTable tr td { display: block; }
	.officerTable tr th { width: 100%; background-color: #f3f3f3; border-bottom: none; font-size: 1.4rem; line-height: 2.2rem; padding: 12px 5px; margin-bottom: 15px; }
	.officerTable tr td { border-bottom: none; font-size: 1.3rem; line-height: 2rem; padding-top: 0; padding-bottom: 15px; }
	.officerTable tr:not(:first-child) th { margin-top: 10px; }
	.officerTable tr td dl,
	.officerTable tr td dl dt,
	.officerTable tr td dl dd { display: block; }
	.officerTable tr td dl dt,
	.officerTable tr td dl dd { padding-right: 5px; padding-left: 5px; }
	.officerTable tr td dl dt { width: 100%; font-weight: 700; margin-bottom: 3px; }
	.officerTable tr td dl dd ul li:not(:last-child) { margin-bottom: 3px; }
}



/* ――――――――――――――――――――――――――――――
［ officerDate ］
―――――――――――――――――――――――――――――― */

.officerDate { font-size: 1.2rem; line-height: 1.8rem; text-align: right; margin-bottom: 60px; }

@media screen and (max-width: 767px) {
	.officerDate { margin-bottom: 50px; }
}



/* ――――――――――――――――――――――――――――――
［ officerPhoto ］
―――――――――――――――――――――――――――――― */

.officerPhoto { margin-bottom: 60px; }

@media screen and (max-width: 767px) {
	.officerPhoto { margin-bottom: 30px; }
}



/* ――――――――――――――――――――――――――――――
［ officerName ］
―――――――――――――――――――――――――――――― */

.officerName { font-size: 1.6rem; line-height: 2.2rem; margin-bottom: 70px; }
.officerName dl { display: table; }
.officerName dl:not(:last-child) { margin-bottom: 10px; }
.officerName dl dt { display: table-cell; white-space: nowrap; }
.officerName dl dd { display: table-cell; }
.officerName dl dd span { display: inline-block; }

@media screen and (max-width: 767px) {
	.officerName { font-size: 1.4rem; line-height: 2rem; margin-bottom: 50px; }
	.officerName dl { display: block; }
	.officerName dl dt { display: block; font-weight: 700; }
	.officerName dl dd { display: block; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 access 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ accessGmap ］
―――――――――――――――――――――――――――――― */

.accessGmap { position: relative; padding-top: calc( 600 / 860 * 100% ); margin-bottom: 30px; }
.accessGmap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

@media screen and (max-width: 767px) {
	.accessGmap { padding-top: calc( 240 / 280 * 100% ); margin-bottom: 20px; }
}



/* ――――――――――――――――――――――――――――――
［ accessBtn ］
―――――――――――――――――――――――――――――― */

.accessBtn { text-align: right; margin-bottom: 100px; }
.accessBtn a { display: inline-block; border: solid 1px #8c8c8c; font-size: 1.6rem; text-decoration: none; padding: 15px 36px 14px; }

@media screen and (min-width: 769px) {
	.accessBtn a { transition: 0.3s ease; }
	.accessBtn a:hover { background-color: #333333; border-color: #333333; color: #ffffff; }
}

@media screen and (max-width: 767px) {
	.accessBtn { text-align: center; margin-bottom: 40px; }
	.accessBtn a { font-size: 1.5rem; }
}



/* ――――――――――――――――――――――――――――――
［ accessData ］
―――――――――――――――――――――――――――――― */

.accessData { display: table; width: 100%; border-top: solid 1px #cccccc; font-size: 1.6rem; line-height: 2.6rem; margin-bottom: 100px; }
.accessData dl { display: table-row; }
.accessData dl dt { display: table-cell; border-bottom: solid 1px #cccccc; font-weight: 700; padding: 20px 50px 20px 20px; }
.accessData dl dd { display: table-cell; border-bottom: solid 1px #cccccc; padding: 20px 20px 20px 0; }

@media screen and (max-width: 767px) {
	.accessData { display: block; font-size: 1.4rem; line-height: 2.2rem; margin-bottom: 40px; }
	.accessData dl { display: block; }
	.accessData dl dt { display: block; border-bottom: none; padding: 15px 10px 5px 10px; }
	.accessData dl dd { display: block; padding: 0 10px 15px 10px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 iwga 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ iwgaLogoaL ］
―――――――――――――――――――――――――――――― */

.iwgaLogo { max-width: 200px; margin: 0 auto 60px; }

@media screen and (max-width: 767px) {
	.iwgaLogo { width: 120px; margin-bottom: 50px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 gaisf 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ gaisfLogo ］
―――――――――――――――――――――――――――――― */

.gaisfLogo { max-width: 330px; margin: 0 auto 60px; }

@media screen and (max-width: 767px) {
	.gaisfLogo { width: 220px; margin-bottom: 50px; }
}



/* ――――――――――――――――――――――――――――――
［ gaisfDetail ］
―――――――――――――――――――――――――――――― */

.gaisfDetail { padding: 35px 20px 50px; }
.gaisfDetail .detailImg { width: 160px; margin: 0 auto 50px; }
.gaisfDetail .detailBlock:not(:last-child) { margin-bottom: 50px; }
.gaisfDetail .detailBlock .blockTitle { border-bottom: solid 2px #666666; font-size: 1.8rem; line-height: 2.8rem; font-weight: 700; padding-bottom: 8px; margin-bottom: 15px; }
.gaisfDetail .detailBlock .blockTxt { font-size: 1.6rem; line-height: 2.6rem; }
.gaisfDetail .detailBlock .blockTxt
.gaisfDetail .detailBlock .blockTxt dl { display: table; }
.gaisfDetail .detailBlock .blockTxt dl:not(:last-child) { margin-bottom: 20px; }
.gaisfDetail .detailBlock .blockTxt dl dt { display: table-cell; width: 30px; font-weight: 700; vertical-align: top; }
.gaisfDetail .detailBlock .blockTxt dl dd { display: table-cell; vertical-align: top; }
.gaisfDetail .detailBlock .blockTxt .txtTable tr th { white-space: nowrap; font-weight: 500; text-align: left; vertical-align: top; }
.gaisfDetail .detailBlock .blockTxt .txtTable tr td { vertical-align: top; }


@media screen and (max-width: 767px) {
	.gaisfDetail { font-feature-settings: "palt"; padding: 30px 0 40px; }
	.gaisfDetail .detailBlock:not(:last-child) { margin-bottom: 25px; }
	.gaisfDetail .detailBlock .blockTitle { font-size: 1.6rem; line-height: 2.6rem; padding-bottom: 5px; margin-bottom: 12px; }
	.gaisfDetail .detailBlock .blockTxt { font-size: 1.4rem; line-height: 2.4rem; }
	.gaisfDetail .detailBlock .blockTxt dl dt { width: 25px; }
	.gaisfDetail .detailBlock .blockTxt dl:not(:last-child) { margin-bottom: 12px; }
	
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle1,
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle1 tbody,
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle1 tr,
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle1 tr td { display: block; }
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle1 tr th { position: relative; display: inline-block; padding-right: 8px; }
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle1 tr th::after { position: absolute; top: 0; right: 0; display: block; content: "："; }
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle1 tr td:nth-child(2) { display: none; }
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle1 tr td:nth-child(3) { padding-left: 14px; }
	
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle3,
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle3 tbody,
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle3 tr,
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle3 tr td { display: block; }
	.gaisfDetail .detailBlock .blockTxt .txtTable.tableStyle3 tr td:nth-child(2) { padding-left: 14px; }
}


/* ――――――――――――――――――――――――――――――
［ gaisfImg ］
―――――――――――――――――――――――――――――― */

.gaisfImg:not(:last-child) { margin-bottom: 50px; }
.gaisfImg.imgType250 { max-width: 250px; }
.gaisfImg.imgType500 { max-width: 500px; }
.gaisfImg img { max-width: 100%; width: auto; }
.gaisfImg.imgType250 img,
.gaisfImg.imgType500 img { width: 100%; }
.gaisfImg p { font-size: 1.4rem; line-height: 2rem; margin-top: 10px; }

@media screen and (max-width: 767px) {
	.gaisfImg:not(:last-child) { margin-bottom: 35px; }
}
