@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 fixedMenu 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

#fixedMenu { position: fixed; right: calc(50% - 675px); bottom: 20px; width: 220px; background-color: #35a038; border-radius: 15px; font-weight: 700; padding: 22px 15px 15px; z-index: 10000; }
#fixedMenu .menuTitle { color: #ffffff; font-size: 1.6rem; line-height: 2rem; margin-bottom: 8px; }
#fixedMenu .menuBtn { font-size: 0; line-height: 0; }
#fixedMenu .menuBtn a { position: relative; display: block; background-color: #ffffff; border-radius: 10px; font-size: 1.6rem; line-height: 2rem; color: #35a038; padding: 8px 24px 8px 38px; }
#fixedMenu .menuBtn a:not(:last-child) { margin-bottom: 10px; }
#fixedMenu .menuBtn a::before,
#fixedMenu .menuBtn a::after { position: absolute; top: 0; bottom: 0; display: block; background-size: cover; content: ""; margin-top: auto; margin-bottom: auto; }
#fixedMenu .menuBtn a::before { left: 10px; width: 24px; height: 20px; }
#fixedMenu .menuBtn a:nth-child(1)::before { background-image: url(../images/fixed_menu_icon1_1.svg); }
#fixedMenu .menuBtn a:nth-child(2)::before { background-image: url(../images/fixed_menu_icon2_1.svg); }
#fixedMenu .menuBtn a::after { right: 10px; width: 15px; height: 15px; background-image: url(../images/fixed_menu_arr1.svg); }

@media screen and (max-width: 1390px) {
	#fixedMenu { right: 20px; }
}

@media screen and (min-width: 769px) {
	#fixedMenu .menuBtn a { transition: 0.2s ease; }
	#fixedMenu .menuBtn a:hover { opacity: 0.8; }
}

@media screen and (max-width: 767px) {
	#fixedMenu { right: 0; bottom: 0; width: 100%; border-bottom: solid 1px #ffffff; border-radius: 0; padding: 0; }
	#fixedMenu .menuTitle { display: none; }
	#fixedMenu .menuBtn { max-width: 500px; margin-right: auto; margin-left: auto; }
	#fixedMenu .menuBtn a { display: inline-block; width: 50%; background-color: transparent; border-radius: 0; font-size: 1.6rem; line-height: 2rem; color: #ffffff; text-align: center; padding: 20px 18px 20px 24px; }
	#fixedMenu .menuBtn a:not(:last-child) { border-right: solid 1px #ffffff; margin-bottom: 0; }
	#fixedMenu .menuBtn a::before { left: 8px; width: 22px; height: 19px; }
	#fixedMenu .menuBtn a:nth-child(1)::before { background-image: url(../images/fixed_menu_icon1_2.svg); }
	#fixedMenu .menuBtn a:nth-child(2)::before { background-image: url(../images/fixed_menu_icon2_2.svg); }
	#fixedMenu .menuBtn a::after { right: 8px; background-image: url(../images/fixed_menu_arr2.svg); }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 pageWrap 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.pageWrap { position: relative; padding-right: calc( 50 / 1100 * 100% ); padding-left: calc( 50 / 1100 * 100% ); }
.pageBg1 { background: url(../images/page_bg1.jpg) no-repeat center 100px; background-size: 2010px 930px; padding-top: 90px; }
.pageBg2 { background: url(../images/page_bg2.jpg) no-repeat center top; background-size: 2000px 544px; margin-bottom: 100px; }
.pageBg3 { background: url(../images/page_bg1.jpg) no-repeat center center; background-size: 2010px 930px; margin-bottom: 160px; }

@media screen and (max-width: 767px) {
	.pageWrap { padding: 0 calc( 15 / 320 * 100% ); }
	.pageBg1 { background: url(../images/main_title2.jpg) no-repeat center top; background-size: 500px 400px; }
	.pageBg2 { background: none; margin-bottom: 60px; }
	.pageBg3 { background: none; margin-bottom: 80px; }
}



/* ――――――――――――――――――――――――――――――
［ pageTitle ］
―――――――――――――――――――――――――――――― */

.pageTitle { max-width: 900px; font-size: 0; line-height: 0; margin: 0 auto 80px; }
.pageTitle .titleMain { background-image: url(../images/main_title1.png); background-size: cover; padding-top: calc( 600 / 900 * 100% ); }

@media screen and (max-width: 767px) {
	.pageTitle { max-width: 500px; margin-bottom: 30px; }
	.pageTitle .titleMain { background-image: none; padding-top: 400px; }
}



/* ――――――――――――――――――――――――――――――
［ headerAnchor ］
―――――――――――――――――――――――――――――― */

.headerAnchor { position: absolute; top: 0; right: 0; left: 0; max-width: 950px; font-size: 0; line-height: 0; text-align: right; padding-right: 20px; margin-right: auto; margin-left: auto; }
.headerAnchor a { position: relative; display: inline-block; font-size: 1.5rem; line-height: 4rem; color: #8a817c; padding-left: 18px; } 
.headerAnchor a:not(:last-child) { margin-right: 30px; }
.headerAnchor a::before { position: absolute; top: -2px; bottom: 0; left: 0; display: block; width: 10px; height: 10px; border: solid #000000; border-width: 0 2px 2px 0; content: ""; transform: rotate(45deg); margin-top: auto; margin-bottom: auto; }

@media screen and (min-width: 769px) {
	.headerAnchor a:hover { text-decoration: underline; }
}

@media screen and (max-width: 767px) {
	.headerAnchor { position: static; max-width: 500px; text-align: center; padding-right: 0; margin-bottom: 40px; }
	.headerAnchor a { padding-right: 10px; padding-left: 28px; }
	.headerAnchor a:not(:last-child) { margin-right: 0; }
	.headerAnchor a::before { left: 10px; }
}



/* ――――――――――――――――――――――――――――――
［ categoryTitle ］
―――――――――――――――――――――――――――――― */

.categoryTitle { position: relative; width: 160px; height: 138px; background-size: cover; font-size: 0; line-height: 0; margin-right: auto; margin-left: auto; }
.categoryTitle.titleType1 { background-image: url(../images/category_title1.png); margin-bottom: -75px; }
.categoryTitle.titleType2 { background-image: url(../images/category_title2.png); margin-bottom: 40px; }
.categoryTitle.titleType3 { background-image: url(../images/category_title3.png); margin-bottom: 25px; }

@media screen and (max-width: 767px) {
	.categoryTitle { width: 150px; height: 129px; }

}



/* ――――――――――――――――――――――――――――――
［ programList ］
―――――――――――――――――――――――――――――― */

.programList { max-width: 1000px; background: url(../images/speak_list_bg.png) no-repeat center center; background-size: cover; padding: 90px 20px 50px; margin-right: auto; margin-left: auto; }
.programList .listBlock { position: relative; padding-top: 25px; }
.programList .listBlock:not(:last-child) { margin-bottom: 30px; }
.programList .listBlock::before { position: absolute; top: 0; right: 0; left: 0; display: block; width: 14px; height: 14px; background-color: #3ac4e8; border-radius: 50%; content: ""; margin-right: auto; margin-left: auto; }
.programList .listItem { height: 30px; background: url(../images/list_item.png) no-repeat center center; background-size: 64px 30px; font-weight: 700; text-align: center; padding: 5px; margin-bottom: 10px; }
.programList .listItem.itmeType1 { font-size: 1.8rem; line-height: 2rem; color: #0e6c37; }
.programList .listItem.itmeType2 { font-size: 1.6rem; line-height: 2rem; }
.programList .listSection { font-size: 2.4rem; line-height: 3.4rem; color: #0e6c37; font-weight: 700; text-align: center; margin-bottom: 10px; }
.programList .listTheme { font-size: 2.2rem; line-height: 3.2rem; font-weight: 700; text-align: center; margin-bottom: 10px; }
.programList .listTheme .themeColor { display: inline-block; font-size: 1.8rem; line-height: 2.8rem; color: #0e6c37; padding-right: 18px; }
.programList .listName dl { display: table; width: 100%; }
.programList .listName dt { display: table-cell; width: 50%; font-size: 1.8rem; line-height: 2.4rem; font-weight: 700; text-align: right; padding-right: 10px; }
.programList .listName dd { display: table-cell; width: 50%; font-size: 1.5rem; line-height: 2.4rem; padding-left: 10px; }

@media screen and (max-width: 767px) {
	.programList .listBlock { padding-top: 20px; }
	.programList .listItem { margin-bottom: 5px; }
	.programList .listSection { font-size: 1.8rem; line-height: 2.6rem; margin-bottom: 5px; }
	.programList .listTheme { font-size: 1.8rem; line-height: 2.6rem; margin-bottom: 5px; }
	.programList .listTheme .themeColor { display: block; padding-right: 0; }
	.programList .listName dl { display: block; }
	.programList .listName dl:not(:last-child) { margin-bottom: 8px; }
	.programList .listName dt { display: block; width: 100%; text-align: center; padding-right: 0; }
	.programList .listName dd { display: block; width: 100%; text-align: center; padding-left: 0; }
}



/* ――――――――――――――――――――――――――――――
［ speakList ］
―――――――――――――――――――――――――――――― */

.speakList { max-width: 700px; margin-right: auto; margin-left: auto; }
.speakList .listInner { overflow: hidden; }
.speakList .listInner:not(:last-child) { margin-bottom: 40px; }
.speakList .listImg { float: left; overflow: hidden; width: 160px; border-radius: 50%; }
.speakList .listTxt { float: right; width: 500px; }
.speakList .listTxt .txtName { font-size: 2rem; line-height: 3rem; font-weight: 700; margin-bottom: 5px; }
.speakList .listTxt .txtName span { font-size: 1.6rem; line-height: 2.6rem; }
.speakList .listTxt .txtData { font-size: 1.6rem; line-height: 2.4rem; }

@media screen and (max-width: 767px) {
	.speakList { max-width: 500px; }
	.speakList .listInner:not(:last-child) { margin-bottom: 40px; }
	.speakList .listImg { float: none; margin: 0 auto 10px; }
	.speakList .listTxt { float: none; width: 100%; }
	.speakList .listTxt .txtName { text-align: center; margin-bottom: 12px; }
}



/* ――――――――――――――――――――――――――――――
［ aboutData ］
―――――――――――――――――――――――――――――― */

.aboutData { max-width: 700px; margin: 0 auto 100px; }
.aboutData table { width: 100%; border-top: solid 1px #000000; font-size: 2.5rem; line-height: 3.5rem; }
.aboutData tr { border-bottom: solid 1px #000000; }
.aboutData tr th { text-align: left; font-weight: 500; padding: 15px 30px 15px 2px; }
.aboutData tr td { padding: 15px 0; }
.aboutData .dataSmall { font-size: 1.5rem; line-height: 2rem; }

@media screen and (max-width: 767px) {
	.aboutData { max-width: 500px; margin-bottom: 60px; }
	.aboutData table { font-size: 1.8rem; line-height: 2.8rem; }
	.aboutData tr th { display: block; font-weight: 700; padding: 12px 2px 0 2px; }
	.aboutData tr td { display: block; padding: 0 2px 12px; }
	.aboutData .dataSmall { font-size: 1.4rem; }
}



/* ――――――――――――――――――――――――――――――
［ what ］
―――――――――――――――――――――――――――――― */

.whatTitle { background: url(../images/what_logo.gif) no-repeat center top; background-size: 80px 96px; font-size: 2.5rem; line-height: 3.5rem; font-weight: 500; text-align: center; padding-top: 125px; margin-bottom: 15px; }
.whatTxt { max-width: 750px; border: solid #ace6f5; border-width: 1px 0; padding: 35px 20px; margin: 0 auto 60px; }

@media screen and (max-width: 767px) {
	.whatTitle { font-size: 2rem; line-height: 3rem; padding-top: 110px; margin-bottom: 12px; }
	.whatTxt { max-width: 500px; padding: 20px 5px; margin-bottom: 40px; }
}



/* ――――――――――――――――――――――――――――――
［ formBtn ］
―――――――――――――――――――――――――――――― */

.formBtn { width: 310px; margin: 0 auto 50px; }
.formBtn a { position: relative; display: block; border: solid 1px #13959a; font-size: 1.8rem; line-height: 2rem; color: #333333; font-weight: 700; text-align: center; padding: 19px; }
.formBtn a::before,
.formBtn a::after { position: absolute; top: 5px; right: 5px; display: block; width: 21px; height: 21px; background-size: cover; content: ""; }
.formBtn a::before { background-image: url(../images/form_btn2.svg); }
.formBtn a::after { background-image: url(../images/form_btn1.svg); }

@media screen and (min-width: 769px) {
	.formBtn a,
	.formBtn a::after { transition: 0.2s ease; }
	.formBtn a:hover { background-color: #13959a; color: #ffffff; }
	.formBtn a:hover::after { opacity: 0; }
}



/* ――――――――――――――――――――――――――――――
［ creditList ］
―――――――――――――――――――――――――――――― */

.creditList { font-size: 1.5rem; line-height: 2.4rem; color: #727171; font-weight: 700; text-align: center; }
.creditList:not(:last-child) { margin-bottom: 10px; }
.creditList .listBlock { display: inline-block; padding-right: 15px; padding-left: 15px; }



/* ――――――――――――――――――――――――――――――
［ archiveBtn ］
―――――――――――――――――――――――――――――― */

.archiveBtn { max-width: 340px; text-align: center; margin: -50px auto 60px; }
.archiveBtn a { display: block; background-color: #35a038; border: solid 1px #35a038; border-radius: 8px; font-size: 2.4rem; line-height: 3.4rem; color: #ffffff; font-weight: 700; padding: 15px; margin-bottom: 10px; }
.archiveBtn div { font-size: 1.4rem; line-height: 2rem; }

@media screen and (min-width: 821px) {
	.archiveBtn a { transition: 0.2s ease; }
	.archiveBtn a:hover { background-color: #ffffff; color: #35a038; }
}

@media screen and (max-width: 767px) {
	.archiveBtn { margin: 0 auto 40px; }
}
