@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 cidpBg 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.cidpBg { background-image: linear-gradient(90deg,#c0dbb6 1px,transparent 1px),linear-gradient(0deg,#c0dbb6 1px,transparent 1px); background-position: center top; background-size: 18px 18px; padding: 10px calc( 50 / 1100 * 100% ) 120px; margin-bottom: 80px; }
.cidpBg .bgInner { max-width: 1040px; background-color: #ffffff; box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2); margin: 0 auto 20px; }

@media screen and (max-width: 767px) {
	.cidpBg { background-image: linear-gradient(90deg,#d8efd0 1px,transparent 1px),linear-gradient(0deg,#d8efd0 1px,transparent 1px); background-size: 8px 8px; padding: 10px calc( 50 / 1100 * 100% ) 120px; padding: 5px calc( 15 / 320 * 100% ) 60px; margin-bottom: 50px; }
	.cidpBg .bgInner { max-width: 500px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 headCredit 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.headCredit { overflow: hidden; max-width: 1300px; margin: 0 auto 20px; }
.headCredit .creditTxt { float: left; margin-left: 10px; }
.headCredit .creditTxt dl dt { display: inline-block; border: solid 1px #000000; width: 76px; font-size: 2rem; line-height: 2.4rem; text-align: center; vertical-align: middle; font-feature-settings: "palt"; letter-spacing: 6px; padding-left: 6px; }
.headCredit .creditTxt dl dd { display: inline-block; font-size: 1.2rem; line-height: 2.6rem; vertical-align: middle; padding-left: 8px; }
.headCredit .creditLogo { float: right; width: 136px; margin: 12px 26px 0 0; }

@media screen and (max-width: 767px) {
	.headCredit { max-width: 500px; margin-bottom: 5px; }
	.headCredit .creditTxt { margin-left: 0; }
	.headCredit .creditTxt dl dt { width: 65px; font-size: 1.6rem; line-height: 2rem; }
	.headCredit .creditTxt dl dd { font-size: 1rem; line-height: 2.2rem; padding-left: 6px; }
	.headCredit .creditLogo { float: right; width: 75px; margin: 0; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 headMain 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.headMain { position: relative; padding: 110px 50px 90px; }
.headMain .mainTitle { max-width: 880px; margin: 0 auto 15px; }
.headMain .mainTitle span { display: block; background-image: url(/adv/cidp2026inkansai/img/main_title1.gif); background-size: cover; font-size: 0; line-height: 0; padding-top: calc( 150 / 880 * 100% ); }
.headMain .mainCs { font-size: 1.8rem; line-height: 3rem; font-weight: 700; text-align: center; margin-bottom: 30px; }
.headMain .mainImg { overflow: hidden; max-width: 780px; border-radius: 30px; margin: 0 auto 50px; }
.headMain .mainImg span { display: block; background-image: url(/adv/cidp2026inkansai/img/main_img1.jpg); background-size: cover; font-size: 0; line-height: 0; padding-top: calc( 306 / 780 * 100% ); }
.headMain .mainLead { font-size: 1.8rem; line-height: 3.8rem; font-weight: 700; text-align: center; margin-bottom: 30px; }
.headMain .mainIll div { position: absolute; }
.headMain .mainIll .illSet1 { bottom: 230px; left: -28px; width: 152px; }
.headMain .mainIll .illSet2 { bottom: 0; left: 50px; width: 133px; }
.headMain .mainIll .illSet3 { right: -35px; bottom: 95px; width: 175px; }

@media screen and (max-width: 1150px) {
	.headMain .mainIll { display: table; margin-right: auto; margin-left: auto; }
	.headMain .mainIll div { position: static; display: table-cell; vertical-align: middle; }
	.headMain .mainIll .illSet1 { width: 155px; padding-right: 25px; }
	.headMain .mainIll .illSet2 { width: 170px; padding-right: 25px; padding-left: 25px; }
	.headMain .mainIll .illSet3 { width: 165px; padding-left: 25px; }
}

@media screen and (max-width: 767px) {
	.headMain { padding: 25px 25px 50px; }
	.headMain .mainTitle span { background-image: url(/adv/cidp2026inkansai/img/main_title2.gif); padding-top: calc( 155 / 300 * 100% ); }
	.headMain .mainCs { font-size: 1.3rem; line-height: 1.8rem; margin-bottom: 15px; }
	.headMain .mainImg {border-radius: 16px; margin-bottom: 20px; }
	.headMain .mainImg span { background-image: url(/adv/cidp2026inkansai/img/main_img2.jpg); padding-top: calc( 150 / 300 * 100% ); }
	.headMain .mainLead { font-size: 1.6rem; line-height: 2.8rem; text-align: left; margin-bottom: 20px; }
	.headMain .mainIll .illSet1 { width: 145px; padding-right: 15px; }
	.headMain .mainIll .illSet2 { width: 150px; padding-right: 10px; padding-left: 10px; }
	.headMain .mainIll .illSet3 { width: 155px; padding-left: 15px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 anchorLink 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.anchorLink { font-size: 0; line-height: 0; }
.anchorLink a { display: inline-block; width: 50%; font-family: "Zen Maru Gothic"; color: #ffffff; text-align: center; font-feature-settings: "palt"; padding: 25px; }
.anchorLink a:nth-child(1) { background-color: #55a623; letter-spacing: 8px; }
.anchorLink a:nth-child(2) { background-color: #8ec36d; letter-spacing: 4px; }
.anchorLink a span { position: relative; display: inline-block; font-size: 3rem; line-height: 5rem; font-weight: 700; padding-left: 52px; }
.anchorLink a span::before { position: absolute; top: 2px; bottom: 0; left: 0; display: block; width: 36px; height: 24px; background-image: url(/adv/cidp2026inkansai/img/anchor_link_arrow.svg); content: ""; margin-top: auto; margin-bottom: auto; }

@media screen and (max-width: 1150px) {
	.anchorLink a { padding-right: 15px; padding-left: 15px; }
	.anchorLink a:nth-child(2) { letter-spacing: 2px; }
	.anchorLink a span { font-size: 2.2rem; line-height: 5rem; padding-left: 48px; }
	.anchorLink a span::before { width: 33px; height: 22px; }
}

@media screen and (min-width: 821px) {
	.anchorLink a { transition: 0.2s ease; }
	.anchorLink a:nth-child(1):hover,
	.anchorLink a:nth-child(2):hover { background-color: #378c00; }
}

@media screen and (max-width: 767px) {
	.anchorLink { padding-right: calc( 15 / 320 * 100% ); padding-left: calc( 15 / 320 * 100% ); }
	.anchorLink .linkInner { max-width: 300px; margin: 0 auto 80px; }
	.anchorLink a { display: block; width: 100%; text-align: left; border-radius: 35px; padding: 20px 10px 20px 20px; }
	.anchorLink a:nth-child(1) { margin-bottom: 50px; }
	.anchorLink a:nth-child(2) { letter-spacing: 2px; }
	.anchorLink a span { font-size: 2rem; line-height: 3rem; padding-left: 38px; }
	.anchorLink a span::before { width: 30px; height: 20px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 contentsKey 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.contentsKey { position: relative; background-color: #dbe3d5; padding: 80px calc( 50 / 1100 * 100% ) 120px; }
.contentsKey .keyLecture { position: absolute; top: 0; left: -40px; overflow: hidden; width: 40px; background-color: #dbe3d5; border-radius: 16px 0 0 16px; font-size: 0; line-height: 0; }
.contentsKey .keyLecture span { display: block; background-image: url(/adv/cidp2026inkansai/img/key_lecture.gif); background-size: cover; padding-top: calc( 306 / 40 * 100% ); }
.contentsKey .keyInner { max-width: 780px; margin-right: auto; margin-left: auto; }
.contentsKey .keyCategory { font-size: 2.2rem; line-height: 3.2rem; color: #ffffff; font-weight: 700; font-feature-settings: "palt"; letter-spacing: 6px; text-align: center; margin-bottom: 15px; }
.contentsKey .keyCategory span { display: inline-block; background-color: #55a623; border-radius: 6px; font-family: "Zen Maru Gothic"; padding: 0 40px 2px 46px; }
.contentsKey .keyTitle { max-width: 600px; border-bottom: solid 1px #55a623; font-family: "Zen Maru Gothic"; font-size: 4rem; line-height: 4.5rem; color: #55a623; font-weight: 700; text-align: center; padding-bottom: 15px; margin: 0 auto 10px; }
.contentsKey .keyName { line-height: 2.2rem; text-align: center; font-weight: 700; margin-bottom: 60px; }
.contentsKey .keyName span:nth-child(1) { font-size: 2.2rem; }
.contentsKey .keyName span:nth-child(2) { font-size: 1.5rem; }
.contentsKey .keyCtr { overflow: hidden; }
.contentsKey .keyCtr .ctrImg { float: left; overflow: hidden; width: calc( 280 / 780 * 100% ); border-radius: 16px; }
.contentsKey .keyCtr .ctrTxt { float: right; width: calc( 460 / 780 * 100% ); }
.contentsKey .keyCtr .ctrTxt .txtLead { position: relative; font-family: "Zen Maru Gothic"; font-size: 2.2rem; line-height: 2.6rem; color: #55a623; font-weight: 700; padding: 2px 0 4px 26px; margin-bottom: 25px; }
.contentsKey .keyCtr .ctrTxt .txtLead::before { position: absolute; top: 0; left: 0; display: block; width: 10px; height: 100%; background-color: #55a623; border-radius: 3px; content: ""; }
.contentsKey .keyCtr .ctrTxt .txtMain { font-size: 1.6rem; line-height: 3.2rem; }

@media screen and (max-width: 1000px) {
	.contentsKey .keyLecture { left: -30px; width: 30px; }
}

@media screen and (max-width: 767px) {
	.contentsKey { padding: 25px calc( 15 / 290 * 100% ); }
	.contentsKey .keyLecture { left: -10px; width: 17px; border-radius: 8px 0 0 8px; padding: 20px 0; }
	.contentsKey .keyCategory { font-size: 1.2rem; line-height: 2rem; letter-spacing: 2px; margin-bottom: 10px; }
	.contentsKey .keyCategory span { border-radius: 3px; padding: 0 20px 0 22px; }
	.contentsKey .keyTitle { font-size: 2rem; line-height: 2.4rem; padding-bottom: 12px; }
	.contentsKey .keyName { line-height: 2rem; margin-bottom: 20px; }
	.contentsKey .keyName span:nth-child(1) { font-size: 1.6rem; }
	.contentsKey .keyName span:nth-child(2) { font-size: 1.2rem; }
	.contentsKey .keyCtr .ctrImg { float: none; width: 100%; border-radius: 8px; margin-bottom: 25px; }
	.contentsKey .keyCtr .ctrTxt { float: none; width: 100%; }
	.contentsKey .keyCtr .ctrTxt .txtLead { font-size: 1.7rem; line-height: 2.2rem; padding: 0 0 2px 12px; margin-bottom: 15px; }
	.contentsKey .keyCtr .ctrTxt .txtLead::before { top: 2px; width: 5px; height: 100%; height: calc( 100% - 4px ); border-radius: 2px; }
	.contentsKey .keyCtr .ctrTxt .txtMain { line-height: 2.8rem; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 contentsTalk 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.contentsTalk { position: relative; padding: 90px calc( 50 / 1100 * 100% ) 120px; }
.contentsTalk .talkSession { position: absolute; top: 0; left: -40px; overflow: hidden; width: 40px; background-color: #ffffff; border-radius: 16px 0 0 16px; font-size: 0; line-height: 0; }
.contentsTalk .talkSession span { display: block; background-image: url(/adv/cidp2026inkansai/img/talk_session.gif); background-size: cover; padding-top: calc( 300 / 40 * 100% ); }
.contentsTalk .talkCategory { font-size: 2.2rem; line-height: 3.2rem; color: #ffffff; font-weight: 700; font-feature-settings: "palt"; letter-spacing: 3px; text-align: center; margin-bottom: 20px; }
.contentsTalk .talkCategory span { display: inline-block; background-color: #55a623; border-radius: 6px; font-family: "Zen Maru Gothic"; padding: 0 30px 2px 33px; }
.contentsTalk .talkTitle { font-family: "Zen Maru Gothic"; color: #55a623; font-weight: 700; text-align: center; margin-bottom: 30px; }
.contentsTalk .talkTitle .titleMain { font-size: 4rem; line-height: 4rem; }
.contentsTalk .talkTitle .titleCopy { font-size: 3rem; line-height: 4rem; }
.contentsTalk .talkSpeakers { max-width: 600px; background-color: #e6eae1; padding: 18px 0; margin: 0 auto 80px; }
.contentsTalk .talkSpeakers .speakersInner { display: table; width: 100%; }
.contentsTalk .talkSpeakers .speakersTitle { display: table-cell; width: 140px; font-size: 1.6rem; line-height: 2rem; color: #55a623; font-weight: 700; text-align: center; vertical-align: middle; white-space: nowrap; font-feature-settings: "palt"; letter-spacing: 6px; padding-left: 6px; }
.contentsTalk .talkSpeakers .speakersName { display: table-cell; border: solid #55a623; border-width: 0 0 0 1px; font-size: 2.1rem; line-height: 3.2rem; padding-left: 30px;}
.contentsTalk .talkSpeakers .speakersName span { font-size: 1.5rem; }
.contentsTalk .talkTheme { display: table; margin-bottom: 35px; }
.contentsTalk .talkTheme .themeIcon { display: table-cell; width: 170px; vertical-align: top; padding: 12px 20px 0 0; }
.contentsTalk .talkTheme .themeTitle { display: table-cell; font-family: "Zen Maru Gothic"; font-size: 3rem; line-height: 3.8rem; color: #55a623; font-weight: 700; vertical-align: middle; }
.contentsTalk .talkTxt { font-size: 1.6rem; line-height: 3.2rem; }
.contentsTalk .talkTxt .txtName { color: #55a623; font-weight: 700; }
.contentsTalk .talkImg { overflow: hidden; max-width: 650px; border-radius: 30px; margin-right: auto; margin-left: auto; }
.contentsTalk .talkMessage { font-family: "Zen Maru Gothic"; font-weight: 700; }
.contentsTalk .talkMessage .messageTitle { text-align: center; margin-bottom: -23px; }
.contentsTalk .talkMessage .messageTitle .titleInner { display: inline-block; background-color: #55a623; border-radius: 17px; font-size: 2.4rem; line-height: 2.8rem; color: #ffffff; padding: 3px 30px; }
.contentsTalk .talkMessage .messageMain { background-color: #e7f2e1; font-size: 2rem; line-height: 2.6rem; color: #55a623; padding: 45px 25px 35px; }
.contentsTalk .talkMessage .messageMain dl { display: table; width: 100%; }
.contentsTalk .talkMessage .messageMain dl:not(:last-child) { position: relative; padding-bottom: 13px; margin-bottom: 12px; }
.contentsTalk .talkMessage .messageMain dl:not(:last-child)::after { position: absolute; bottom: 0; left: 0; display: block; width: 100%; height: 1px; background: linear-gradient(to right, #55a623 3px, transparent 3px) repeat-x center bottom; background-size: 6px 1px; content: ""; }
.contentsTalk .talkMessage .messageMain dl dt { display: table-cell; width: 36px; padding-left: 10px; }
.contentsTalk .talkMessage .messageMain dl dd { display: table-cell; }

@media screen and (max-width: 1000px) {
	.contentsTalk .talkSession { left: -30px; width: 30px; }
}

@media screen and (min-width: 768px) {
	.contentsTalk .talkMessage .messageTitle .titleInner br { display: none; }
}

@media screen and (max-width: 767px) {
	.contentsTalk { padding: 25px calc( 15 / 290 * 100% ); }
	.contentsTalk .talkSession { left: -10px; width: 17px; border-radius: 8px 0 0 8px; padding: 20px 0; }
	.contentsTalk .talkCategory { font-size: 1.2rem; line-height: 2rem; letter-spacing: 2px; margin-bottom: 10px; }
	.contentsTalk .talkCategory span { border-radius: 3px; padding: 0 20px 0 22px; }
	.contentsTalk .talkTitle { margin-bottom: 20px; }
	.contentsTalk .talkTitle .titleMain { font-size: 2.4rem; line-height: 3.4rem; }
	.contentsTalk .talkTitle .titleCopy { font-size: 1.8rem; line-height: 2.2rem; }
	.contentsTalk .talkSpeakers { padding: 6px 0 10px; margin-bottom: 40px; }
	.contentsTalk .talkSpeakers .speakersInner { display: block; padding: 0 15px; }
	.contentsTalk .talkSpeakers .speakersTitle { display: block; width: 100%; font-size: 1.2rem; letter-spacing: 4px; padding-left: 4px;  }
	.contentsTalk .talkSpeakers .speakersName { display: block; border-width: 1px 0 0 0; font-size: 1.6rem; line-height: 2rem; padding: 12px 0 0; }
	.contentsTalk .talkSpeakers .speakersName span { font-size: 1.1rem; }
	.contentsTalk .talkTheme { display: block; margin-bottom: 25px; }
	.contentsTalk .talkTheme .themeIcon { display: block; width: 75px; padding: 0; margin: 0 auto 15px; }
	.contentsTalk .talkTheme .themeTitle { display: block; font-size: 2rem; line-height: 2.2rem; text-align: center; }
	.contentsTalk .talkTxt { line-height: 2.8rem; }
	.contentsTalk .talkImg { border-radius: 15px; }
	.contentsTalk .talkMessage .messageTitle { margin-bottom: -20px; }
	.contentsTalk .talkMessage .messageTitle .titleInner { border-radius: 21px; font-size: 1.6rem; line-height: 1.8rem; padding: 3px 20px; }
	.contentsTalk .talkMessage .messageMain { font-size: 1.6rem; line-height: 2.2rem; padding: 28px 15px 20px; }
	.contentsTalk .talkMessage .messageMain dl:not(:last-child) { padding-bottom: 11px; margin-bottom: 10px; }
	.contentsTalk .talkMessage .messageMain dl dt { width: 28px; padding-left: 5px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 cidpSearch 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.cidpSearch { width: 470px; margin-right: auto; margin-left: auto; }
.cidpSearch a { position: relative; overflow: hidden; display: block; background-color: #55a623; border-radius: 68px; font-family: "Zen Maru Gothic"; font-size: 3rem; line-height: 4rem; color: #ffffff; font-weight: 700; text-decoration: none; padding: 28px 10px 28px 130px; }
.cidpSearch a::before { position: absolute; top: 0; bottom: 0; left: 54px; display: block; width: 64px; height: 64px; background-image: url(/adv/cidp2026inkansai/img/cidp_search.svg); background-size: cover; content: ""; margin-top: auto; margin-bottom: auto; }

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

@media screen and (max-width: 767px) {
	.cidpSearch { width: 300px; }
	.cidpSearch a { border-radius: 68px; font-size: 2rem; line-height: 2.6rem; padding: 18px 10px 18px 84px; }
	.cidpSearch a::before { left: 34px; width: 40px; height: 40px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 cidpLogo 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.cidpLogo { width: 378px; margin: 0 auto 200px; }

@media screen and (max-width: 767px) {
	.cidpLogo { width: 232px; margin-bottom: 60px; }
}
