@charset "UTF-8";
/* CSS Document */

/*---------------------------------------------------------------------------------------------------------------------
	index.html
---------------------------------------------------------------------------------------------------------------------*/
#topPage { position: relative; }
#topPage #headerWrap { position: absolute; top: 780px; left: 0; right: 0; }
#topPage h2 { font-family: 'Noto Serif JP', serif; font-size: 225%; text-align: center; font-weight: normal; line-height: 1.7; letter-spacing: 0.05em; }

/* MvSection */
#topPage .mainWrap #MvSection { background: #62b0e3; height: 780px; position: relative; overflow: hidden; }
#topPage .mainWrap #MvSection p#imgLine { position: absolute; height: 110px; width: 250vw; top: 468px; left: 0; right: 0; background: url("/images/mv_line_pc.png") repeat-x left center; }

#topPage .mainWrap #MvSection .contentsOuterM { z-index: 1; }
#topPage .mainWrap #MvSection .contentsOuterM h2 { opacity: 0; padding-top: 90px; text-align: center; }
#topPage .mainWrap #MvSection .contentsOuterM p#subTxt { opacity: 0; margin-top: 80px; text-align: center; }
#topPage .mainWrap #MvSection .contentsOuterM p#imgHeart { opacity: 0; margin-top: 40px; text-align: center; }

#topPage .mainWrap #MvSection .contentsOuterM ul { position: absolute; top: 425px; left: 0; right: 0; margin: 0 auto; width: 480px; }
#topPage .mainWrap #MvSection .contentsOuterM ul li { opacity: 0; position: absolute; top: 0; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:first-child { left: 0; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:nth-child(2) { left: 70px; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:nth-child(3) { left: 160px; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:nth-child(4) { right: 157px; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:nth-child(5) { right: 55px; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:last-child { right: 0; }

/* introSection */
#topPage .mainWrap #introSection { font-family: 'Noto Serif JP', serif; margin-top: 73px; padding: 90px 0 150px; }
#topPage .mainWrap #introSection .contentsOuterS h2 { color: #2e799f; }
#topPage .mainWrap #introSection .contentsOuterS p { margin-top: 40px; text-align: center; line-height: 2.2; }
#topPage .mainWrap #introSection .contentsOuterS p + p { margin-top: 70px; }

/* strengthSection */
#topPage .mainWrap #strengthSection { padding: 100px 0 150px; background: url("/images/common_bg_pc.gif") no-repeat left bottom / cover; }
#topPage .mainWrap #strengthSection .contentsOuterM ul { font-family: 'Noto Serif JP', serif; margin-top: 70px; display: flex; justify-content: space-between; flex-wrap: wrap; }
#topPage .mainWrap #strengthSection .contentsOuterM ul li { background-color: rgba(255, 255, 255, 0.8); padding: 50px 80px 70px; box-sizing: border-box; width: 520px; }
#topPage .mainWrap #strengthSection .contentsOuterM ul li:nth-child(n+3) { margin-top: 60px; }
#topPage .mainWrap #strengthSection .contentsOuterM ul li h3 { color: #2e799f; font-size: 250%; font-weight: normal; letter-spacing: 0.1em; margin-top: 25px; line-height: 1.5; }
#topPage .mainWrap #strengthSection .contentsOuterM ul li h3 + p { margin-top: 10px; line-height: 1.9; }
#topPage .mainWrap #strengthSection .contentsOuterM ul li p span { display: block; margin-bottom: 5px; }
#topPage .mainWrap #strengthSection .contentsOuterM ul li p span.lineTxt { display: inline; font-size: 138%; line-height: 1.7; font-weight: bold; background: url("/images/strength_bg_line.gif") repeat-x left bottom; margin-bottom: 0; }
#topPage .mainWrap #strengthSection .contentsOuterM ul li p span.lineTxt + span { margin-top: 10px; }

/* serviceSection */
#topPage .mainWrap #serviceSection { padding: 105px 0 150px; }
#topPage .mainWrap #serviceSection .contentsOuterS h2 + p { font-family: 'Noto Serif JP', serif; margin-top: 40px; text-align: center; line-height: 2.2; }
#topPage .mainWrap #serviceSection .contentsOuterS ul { margin-top: 90px; }
#topPage .mainWrap #serviceSection .contentsOuterS ul li { margin-top: 90px; }
#topPage .mainWrap #serviceSection .contentsOuterS ul li:first-child { margin-top: 0; }
#topPage .mainWrap #serviceSection .contentsOuterS ul li h3 { font-family: 'Noto Serif JP', serif; font-weight: normal; font-size: 150%; color: #2e799f; padding-left: 10px; padding-bottom: 20px; border-bottom: solid 2px #2e799f; }
#topPage .mainWrap #serviceSection .contentsOuterS ul li div { display: flex; margin-top: 35px; }
#topPage .mainWrap #serviceSection .contentsOuterS ul li div > p { width: 360px; }
#topPage .mainWrap #serviceSection .contentsOuterS ul li:first-child div > p { margin-top: 35px; }
#topPage .mainWrap #serviceSection .contentsOuterS ul li div ul { width: 550px; margin-top: 0; margin-left: 55px; }
#topPage .mainWrap #serviceSection .contentsOuterS ul li div ul li { line-height: 1.7; margin-top: 16px; padding-left: 17px; background: url("/common/images/icon_dot02.gif") no-repeat left 0.6em; }
#topPage .mainWrap #serviceSection .contentsOuterS ul li div ul li:first-child { margin-top: 0; }

/* resultSection */
#topPage .mainWrap #resultSection { padding: 110px 0 150px; background: url("/images/common_bg_pc.gif") no-repeat left bottom / cover; }
#topPage .mainWrap #resultSection .resultArea { background: #ffffff; padding: 65px 75px 70px; position: relative; }
#topPage .mainWrap #resultSection .resultArea h3 { font-family: 'Noto Serif JP', serif; font-size: 163%; text-align: center; }
#topPage .mainWrap #resultSection .resultArea > ul { margin-top: 50px; }

#topPage .mainWrap #resultSection #planningResult { margin-top: 40px; }
#topPage .mainWrap #resultSection #planningResult > ul { overflow: hidden; }
#topPage .mainWrap #resultSection #planningResult > ul > li { padding-left: 24px; float: left; width: 400px; margin-left: 75px; box-sizing: border-box; background: url("/common/images/icon_dot01.gif") no-repeat left 0.2em; }
#topPage .mainWrap #resultSection #planningResult > ul > li:first-child { width: 450px; margin-left: 0; }
#topPage .mainWrap #resultSection #planningResult > ul > li:nth-child(n+3) { margin-top: 35px; }
#topPage .mainWrap #resultSection #planningResult ul li ul li { margin-top: 17px; padding-left: 17px; line-height: 1.7; background: url("/common/images/icon_dot02.gif") no-repeat left 0.7em; }
#topPage .mainWrap #resultSection #planningResult #contactBtnArea { width: 424px; position: absolute; right: 75px; bottom: 70px; }
#topPage .mainWrap #resultSection #planningResult #contactBtnArea p:first-child { text-align: center; }
#topPage .mainWrap #resultSection #planningResult #contactBtnArea p + p { margin-top: 5px; }

/* profileSection */
#topPage .mainWrap #profileSection { padding: 105px 0 0; }
#topPage .mainWrap #profileSection table { margin-top: 70px; table-layout: fixed; border-top: solid 1px #d9d9d9; }
#topPage .mainWrap #profileSection table tr { border-bottom: solid 1px #d9d9d9; }
#topPage .mainWrap #profileSection table tr th { background: #dcf1fc; text-align: center; width: 108px; padding: 17px 20px; vertical-align: middle; font-weight: normal; }
#topPage .mainWrap #profileSection table tr td { padding: 17px 20px; }


/*--------------------------------------
	animation @keyframes
---------------------------------------*/
.actionFactor { opacity: 0; }

@keyframes horizonSlide {
	0% { transform: translate3d(0, 0, 0); }
	100% { transform: translate3d(-100vw, 0, 0); }
}

@keyframes fadeIn {
	0% { opacity:0; }
	100% { opacity:1; }
}

@keyframes peopleMove {
	0% { opacity:0; transform: translateY(-30px) scale(0.9); }
	100% { opacity:1; transform: translateY(0) scale(1); }
}

@keyframes scale {
	0% { opacity:0; transform: scale(0.6); }
	50% { opacity:0.5; transform: scale(1.4); }
	100% { opacity:1; transform: translateY(0) scale(1); }
}

@keyframes fadeUp {
	0% { opacity:0; transform: translateY(50px); }
	100% { opacity:1; transform: translateY(0); }
}

/*@keyframes rotate {
	0% { opacity:0; transform: rotateY(0deg); }
	25% { opacity:0.25; transform: rotateY(45deg); }
	50% { opacity:0.5; transform: rotateY(0deg); }
	75% { opacity:0.75; transform: rotateY(-45deg); }
	100% { opacity:1; transform: translateY(0); }
}
*/

@keyframes rotate {
    0% { opacity:0; transform: translate(0px, 0px) rotateZ(0deg); }
    5% { opacity:0.05; transform: translate(2px, 2px) rotateZ(1deg); }
    10% { opacity:0.1; transform: translate(0px, 2px) rotateZ(0deg); }
    15% { opacity:0.15; transform: translate(2px, 0px) rotateZ(-1deg); }
    20% { opacity:0.2; transform: translate(0px, 0px) rotateZ(0deg); }
    25% { opacity:0.25; transform: translate(2px, 2px) rotateZ(1deg); }
    30% { opacity:0.3; transform: translate(0px, 2px) rotateZ(0deg); }
    35% { opacity:0.35; transform: translate(2px, 0px) rotateZ(-1deg); }
    40% { opacity:0.4; transform: translate(0px, 0px) rotateZ(0deg); }
    45% { opacity:0.45; transform: translate(2px, 2px) rotateZ(1deg); }
    50% { opacity:0.5; transform: translate(0px, 2px) rotateZ(0deg); }
    55% { opacity:0.55; transform: translate(2px, 0px) rotateZ(-1deg); }
    60% { opacity:0.6; transform: translate(0px, 0px) rotateZ(0deg); }
    65% { opacity:0.65; transform: translate(2px, 2px) rotateZ(1deg); }
    70% { opacity:0.7; transform: translate(0px, 2px) rotateZ(0deg); }
    75% { opacity:0.75; transform: translate(2px, 0px) rotateZ(-1deg); }
    80% { opacity:0.8; transform: translate(0px, 0px) rotateZ(0deg); }
    85% { opacity:0.85; transform: translate(2px, 2px) rotateZ(1deg); }
    90% { opacity:0.9; transform: translate(0px, 2px) rotateZ(0deg); }
    95% { opacity:0.95; transform: translate(2px, 0px) rotateZ(-1deg); }	
    100% { opacity:1; transform: translate(0px, 0px) rotateZ(0deg); }
}

/*--------------------------------------
	animation
---------------------------------------*/
.fadeIn { animation: fadeIn 1s both; }
.fadeUp { animation: fadeUp 1s both; }
/*.rotate { animation: rotate 0.7s both; }*/
.rotate { animation: rotate 1s both; }

/* MvSection */
#topPage .mainWrap #MvSection p#imgLine { animation: horizonSlide 60s linear infinite; }
#topPage .mainWrap #MvSection .contentsOuterM p#subTxt.fadeIn { animation-delay:0.3s; }
#topPage .mainWrap #MvSection .contentsOuterM p#imgHeart.scale { animation: scale 1.2s both; animation-delay:0.7s; }

#topPage .mainWrap #MvSection .contentsOuterM ul li.peopleMove { animation: peopleMove 1s both; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:first-child.peopleMove { animation-delay:1s; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:nth-child(2).peopleMove { animation-delay:1.8s; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:nth-child(3).peopleMove { animation-delay:1.5s; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:nth-child(4).peopleMove { animation-delay:2.2s; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:nth-child(5).peopleMove { animation-delay:1.3s; }
#topPage .mainWrap #MvSection .contentsOuterM ul li:last-child.peopleMove { animation-delay:1s; }

/* introSection */
#topPage .mainWrap #introSection h2 + p.fadeUp { animation-delay:0.3s; }
#topPage .mainWrap #introSection p + p.fadeUp { animation-delay:0.6s; }

/* strengthSection */
#topPage .mainWrap #strengthSection ul li.fadeUp:first-child { animation-delay:0.3s; }
#topPage .mainWrap #strengthSection ul li.fadeUp:nth-child(2) { animation-delay:0.6s; }
#topPage .mainWrap #strengthSection ul li.fadeUp:nth-child(3) { animation-delay:0.3s; }
#topPage .mainWrap #strengthSection ul li.fadeUp:last-child { animation-delay:0.6s; }

/* serviceSection */
#topPage .mainWrap #serviceSection h2 + p.fadeUp { animation-delay:0.3s; }
#topPage .mainWrap #serviceSection ul li.fadeUp:first-child { animation-delay:0.3s; }
#topPage .mainWrap #serviceSection ul li.fadeUp:nth-child(2) { animation-delay:0.5s; }
#topPage .mainWrap #serviceSection ul li.fadeUp:nth-child(3) { animation-delay:0.7s; }
#topPage .mainWrap #serviceSection ul li.fadeUp:last-child { animation-delay:0.9s; }

/* resultSection */
#topPage .mainWrap #resultSection #planningResult.fadeUp { animation-delay:0.3s; }

/* profileSection */
#topPage .mainWrap #profileSection table.fadeUp { animation-delay:0.3s; }


/*---------------------------------------------------------------------------------------------------------------------
	/privacy/index.html
---------------------------------------------------------------------------------------------------------------------*/
#privacyPage .pagesSection h3 { font-family: 'Noto Serif JP', serif; font-weight: normal; font-size: 150%; color: #2e799f; padding-left: 10px; padding-bottom: 25px; border-bottom: solid 2px #2e799f; margin-top: 80px; }
#privacyPage .pagesSection h3 + p { margin-top: 35px; }
#privacyPage .pagesSection dl { margin-top: 90px; }
#privacyPage .pagesSection dl dt { margin-top: 85px; font-family: 'Noto Serif JP', serif; font-size: 138%; }
#privacyPage .pagesSection dl dt:first-child { margin-top: 0; }
#privacyPage .pagesSection dl dd { margin-top: 25px; margin-left: 10px; }
#privacyPage .pagesSection dl dd dl { margin-top: 0; }
#privacyPage .pagesSection dl dd dl dt { font-size: 125%; margin-top: 50px; }
#privacyPage .pagesSection dl dd dl dt:first-child { margin-top: 25px; }
#privacyPage .pagesSection dl dd dl dd { margin-top: 20px; margin-left: 0; }
#privacyPage .pagesSection dl dd dl dd ol { margin-top: 20px; margin-left: 20px; }
#privacyPage .pagesSection dl dd dl dd ol li { display: flex; margin-top: 2px; }
#privacyPage .pagesSection dl dd dl dd ol li:first-child { margin-top: 0; }
#privacyPage .pagesSection dl dd dl dd ol li span { float: left; }
#privacyPage .pagesSection dl dd dl dd ol li span + span { margin-left: 15px; }
#privacyPage .pagesSection dl dd dl dd ol + p { margin-top: 20px; }

/*---------------------------------------------------------------------------------------------------------------------
	/contact/index.html
---------------------------------------------------------------------------------------------------------------------*/

/* フォーム打ち消し */
.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password { box-shadow: none; margin: 0; }
.mfp_element_all { max-width: 100%; }
form#mailformpro { padding: 0; }
div.mfp_err { background: none; padding: 0; }
input[type="text"].problem { background-color: #ffcccc; }

table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td { font-size: 1em; }
table#mfp_confirm_table tr.mfp_colored { background-color: #ffffff; }

#contactPage .pagesSection h2 + p { margin-top: 60px; }
#contactPage .pagesSection table { margin-top: 55px; border-bottom: solid 1px #d9d9d9; table-layout: fixed; width: 100%; }
#contactPage .pagesSection table tr { border-top: solid 1px #d9d9d9; }
#contactPage .pagesSection table tr th { background: #dcf1fc; width: 255px; box-sizing: border-box; padding: 0 30px; vertical-align: middle; }
#contactPage .pagesSection table tr th div { display: flex; justify-content: space-between; align-items: center; }
#contactPage .pagesSection table tr th div span.iconRequired { background: #ff0000; color: #ffffff; font-size: 69%; padding: 1px 8px; border-radius: 5px; }
#contactPage .pagesSection table tr td { padding: 20px 30px; width: 705px; box-sizing: border-box; }
#contactPage .pagesSection table tr td input[type="text"],
#contactPage .pagesSection table tr td input[type="email"],
#contactPage .pagesSection table tr td input[type="tel"],
#contactPage .pagesSection table tr td textarea { width: 100% !important; border: solid 1px #bcbcbc; padding: 10px; box-sizing: border-box; }
#contactPage .pagesSection table tr td textarea { height: auto !important; }

#contactPage .pagesSection #submitBtn { font-family: 'Noto Serif JP', serif; font-size: 106%; margin: 60px auto 0; width: 250px; padding: 15px 0; letter-spacing: 1em; padding-left: 1em; color: #ffffff; display: block; text-align: center; background: #62b0e3; border-radius: 5px; transition: 0.4s; border: none; text-shadow: none; }
#con tactPage .pagesSection #submitBtn:hover { opacity: 0.7; }

/* 確認画面 */
div#mfp_phase_confirm p#confirmTxt { margin-top: 60px; }
div.mfp_buttons { display: flex; justify-content: center; flex-direction: row-reverse; margin-top: 60px; }
div.mfp_buttons button#mfp_button_send,
div.mfp_buttons button#mfp_button_cancel { font-family: 'Noto Serif JP', serif; font-size: 106%; width: 200px; padding: 15px 0; margin: 0 5px; letter-spacing: 1em; padding-left: 1em; color: #ffffff; display: block; text-align: center; background: #62b0e3; border-radius: 5px; transition: 0.4s; border: none; text-shadow: none; }
div.mfp_buttons button#mfp_button_send:hover,
div.mfp_buttons button#mfp_button_cancel:hover { opacity: 0.7; }
div.mfp_buttons button#mfp_button_cancel { letter-spacing: 0; padding-left: 0; }

/* /contact/thanks.html */
#contactPage .pagesSection p#btnTop { margin: 30px auto 0; width: 385px; font-size: 122%; font-weight: bold; }




