@charset "UTF-8";
/* Googleフォント　Noto Sans,Robot,Open Sans */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700italic,700,900);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800);
@import url(https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700);
/* アイコンフォント　Google Material,Font Awesome */
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
/*****************************************************
 SCSS用 
*****************************************************/
/*****************************************************
 Telリンク制御　※レスポンシブ 
*****************************************************/
@media (min-width: 896px) { a[href*="tel:"] { pointer-events: none; cursor: default; text-decoration: none; } }
/*****************************************************
 404 
*****************************************************/
.not_found_container { width: 100%; padding: 80px 0; }
.not_found_container > p { font-size: 16px; color: #333; padding: 30px 0; }
.not_found_container > p span { color: #de0515; display: block; }

/*****************************************************
 Common - Layout 
*****************************************************/
html { font-size: 16px; }

body { position: relative; width: auto; height: auto; background: #fff; z-index: 0; color: #333333; font-size: 1rem; font-family: 'Noto Sans Japanese','Noto Sans', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif , serif; font-weight: normal; line-height: 1.65; letter-spacing: 1px; overflow-x: hidden; }

.inner { width: 1024px; margin: 0 auto; position: relative; text-align: justify; }

.inner_wide { width: 1120px; margin: 0 auto; position: relative; text-align: justify; }

h2 { display: flex; justify-content: center; align-items: center; font-size: 34px; color: #003b82; font-weight: bold; margin-bottom: 40px; }
h2::before { content: url(../images/h2_left.svg); width: 30px; height: auto; margin-right: 15px; }
h2::after { content: url(../images/h2_right.svg); width: 30px; height: auto; margin-left: 15px; }

h3 { font-size: 20px; color: #333; font-weight: bold; margin-bottom: 30px; text-align: center; }

section { padding: 60px 0; background: #fff; }
section:nth-of-type(even) { background: #f4f4f4; }
section:nth-of-type(2) { padding: 0; }
section:last-of-type { padding: 60px 0　100px; }

.ofcimage { object-fit: cover; font-family: 'object-fit:cover;'; }

.link_btn { display: block; width: 400px; height: auto; margin: 60px auto 0; border: 1px solid #98050a; padding: 15px 0; background: #98050a; font-size: 21px; color: #FFF; position: relative; transition: .3s; text-align: center; text-decoration: none; box-shadow: 0px 0px 10px rgba(109, 109, 109, 0.6); }
.link_btn::after { font-family: 'Font Awesome 5 free'; content: '\f078'; font-weight: 900; color: #FFF; position: absolute; top: 17px; right: 20px; }
.link_btn:hover { background: #FFF; color: #98050a; transition: .3s; }
.link_btn:hover::after { color: #98050a; }

#entry { margin-top: -70px; padding-top: 70px; }

@media screen and (min-width: 896px) { .pc_none { display: none !important; } }
@media screen and (max-width: 896px) { .sp_none { display: none !important; }
  .inner, .inner_wide { width: 90%; margin: 0 auto; padding: 0; }
  .link_btn { width: 100%; margin: 40px auto 0; font-size: 18px; }
  h1 { font-size: 28px; }
  h2 { font-size: 28px; margin-bottom: 20px; }
  h2 + p { width: 100%; padding: 10px; box-sizing: border-box; }
  section { padding: 30px 0; }
  .mm-listitem > a { font-weight: bold; padding: 20px 10px 20px 20px !important; color: #333; }
  .mm-panel_has-navbar { padding-top: 20px !important; }
  #mm-1 > ul > li:nth-child(1) { padding: 0 20px 20px; }
  #mm-1 > ul > li:nth-child(2) { padding: 0 20px; background: #00be00; color: #FFF !important; }
  #mm-1 > ul > li:nth-child(3) { padding: 0 20px; background: #7f684c; color: #FFF !important; }
  #mm-1 > ul > li:nth-child(2) > a img { width: 10%; margin-right: 15px; }
  #mm-1 > ul > li:nth-child(3) > a img { width: 10%; margin-right: 15px; } }
@media print { .pc_none { display: none !important; }
  .sp_none { display: none !important; } }
/*****************************************************
 Header 
*****************************************************/
.header_wrap { width: 100%; display: flex; justify-content: flex-end; align-items: center; position: fixed; background: transparent; z-index: 10; }
.header_wrap .header_content { width: 269px; display: flex; justify-content: space-between; align-items: center; }
.header_wrap .header_content .header_tel_container { width: 213px; height: 56px; background: #78909c; text-align: center; }
.header_wrap .header_content .header_tel_container p:nth-of-type(1) { font-size: 14px; color: #fff; padding: 3px 0; }
.header_wrap .header_content .header_tel_container p:nth-of-type(2) { background: #FFF; border-left: 1px solid #78909c; border-bottom: 1px solid #78909c; box-sizing: border-box; }
.header_wrap .header_content .header_tel_container p:nth-of-type(2) a { text-decoration: none; font-size: 16px; color: #78909c; }
.header_wrap .header_content .header_mail_container { width: 56px; height: 56px; background: #0165dd; text-align: center; }
.header_wrap .header_content .header_mail_container i { line-height: 56px; font-size: 34px; color: #FFF; }

/*.header_wrap { //menuあり
	width:100%;display:flex;justify-content:flex-end;align-items:center;position:fixed;background:transparent;z-index:10;
	.header_content {
		width:325px;display:flex;justify-content:space-between;align-items:center;
		.header_tel_container {
			width:213px;height:56px;background:#78909c;text-align:center;
			p:nth-of-type(1) {font-size:14px;color:#fff;padding:3px 0;}
			p:nth-of-type(2) {
				background:#FFF;border-left:1px solid #78909c;border-bottom:1px solid #78909c;box-sizing:border-box;
				a {text-decoration:none;font-size:16px;color:#78909c;}
			}
		}
		.header_mail_container {width:56px;height:56px;background:#0165dd;text-align:center;i{line-height:56px;font-size:34px;color:#FFF;}}
		.sp_menu {width:56px;height:56px;background:#003b82;text-align:center;i{line-height:56px;font-size:38px;color:#FFF;}}
	}
}*/
/*****************************************************
 Footer 
*****************************************************/
.footer_wrap { width: 100%; background: #0165dd; padding: 60px 0; }

.footer_container { width: 670px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.footer_container .footer_item { width: 280px; }
.footer_container .footer_item p { text-align: center; color: #fff; font-size: 14px; }
.footer_container .footer_item a { text-align: center; text-decoration: none; color: #FFF; }
.footer_container .footer_item:nth-of-type(1) p:nth-of-type(2) { font-size: 28px; font-weight: bold; }
.footer_container .footer_item:nth-of-type(2) a { font-size: 22px; font-weight: bold; }

@media screen and (max-width: 896px) { .footer_wrap { padding: 20px 0; }
  .footer_container, .footer_container .footer_item { width: 100%; }
  .footer_container .footer_item:nth-of-type(1) { margin-bottom: 20px; } }
/* page-top
----------------------------------------------------*/
.page-top { position: fixed; bottom: 20px; right: 20px; }
.page-top p { text-align: center; display: block; border-radius: 50%; height: 60px; width: 60px; background: #0165dd; color: #FFF; opacity: 0.5; transition: all 0.5s ease; }
.page-top a { text-decoration: none; background: #0165dd; color: #FFF; }
.page-top a:hover { text-decoration: none; }
.page-top a p:hover { opacity: 1; transition: all 0.5s ease; }
.page-top a i { margin-top: 13px; font-size: 35px; }

/* copyright
----------------------------------------------------*/
.copyright_container { width: 100%; text-align: center; background: #003b82; padding: 10px 0; }
.copyright_container p { font-size: 14px; color: #FFF; }

/*****************************************************
 Home 
*****************************************************/
/* カバー画像
----------------------------------------------------*/
.cover_container { width: 100%; height: 730px; background: url("../images/main_cover.jpg") center/cover no-repeat; padding: 80px 0; box-sizing: border-box; }
.cover_container figure { display: block; margin: 0 auto; height: auto; }
.cover_container figure img { width: 100%; height: auto; max-width: 100%; }
.cover_container figure:nth-of-type(1) { width: 150px; }
.cover_container figure:nth-of-type(2) { width: 626px; margin: 30px auto; }
.cover_container figure:nth-of-type(3) { width: 100%; }

@media screen and (max-width: 896px) { .cover_container { background: url("../images/main_cover.jpg") 82%/cover no-repeat; height: 520px; padding: 210px 0 0; }
  .cover_container figure:nth-of-type(1) { width: 80px; }
  .cover_container figure:nth-of-type(2) { width: 80%; margin: 20px auto; } }
/* section1　こんなお悩み
----------------------------------------------------*/
.problem_container { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.problem_container .problem_item { width: 46.28%; }
.problem_container .problem_item p { font-size: 20px; color: #333; font-weight: bold; margin-bottom: 40px; }
.problem_container .problem_item figure { width: 100%; height: auto; }
.problem_container .problem_item figure img { width: 100%; height: auto; max-width: 100%; }
.problem_container .problem_item:nth-of-type(1) p span { background: linear-gradient(transparent 30%, #ff988d 30%); }
.problem_container .problem_item:nth-of-type(2) p span { background: linear-gradient(transparent 30%, #ffd98d 30%); }

.solve_container { width: 100%; background: #003b82; padding: 10px; box-sizing: border-box; position: relative; font-size: 0; margin: 60px auto 100px; }
.solve_container p { text-align: center; color: #fff; font-weight: bold; font-size: 24px; position: relative; z-index: 0; }
.solve_container p span { font-size: 41px; }
.solve_container p::before { content: ''; position: absolute; top: 35px; left: 220px; right: auto; margin: 0 auto; width: 147px; height: 20px; background: #ff5e48; z-index: -1; }
.solve_container::after { content: ''; position: absolute; bottom: -40px; left: 0; right: 0; margin: 0 auto; border-style: solid; border-width: 40px 512px 0; border-color: #003b82 transparent transparent transparent; }

.graph_container { width: 100%; }
.graph_container .graph_ttl { width: 100%; font-size: 32px; color: #003b82; font-weight: bold; }
.graph_container .graph_ttl img { width: 230px; height: auto; margin: 0 8px; }
.graph_container figure { width: 100%; height: auto; margin-top: -50px; }
.graph_container figure img { width: 100%; height: auto; max-width: 100%; }

@media screen and (max-width: 896px) { .problem_container .problem_item { width: 100%; }
  .problem_container .problem_item:nth-of-type(1) { margin-bottom: 30px; }
  .problem_container .problem_item p { margin-bottom: 20px; letter-spacing: 0; }
  .solve_container { margin: 30px auto 60px; }
  .solve_container p { text-align: left; }
  .solve_container p::before { left: 0; }
  .solve_container::after { bottom: -30px; border-width: 30px 45vw 0; }
  .graph_container figure { margin-top: 0; } }
/* section2 なぜ
----------------------------------------------------*/
.why_wrap { width: 100%; padding: 60px 0; background: url("../images/why_bk.jpg") center/cover no-repeat; }
.why_wrap > .inner > h2:before, .why_wrap > .inner > h2:after { display: none; }
.why_wrap > .inner > h2 img { display: block; margin: 0 auto; width: 814px; height: auto; max-width: 100%; }

.why_container { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; margin-bottom: 40px; }
.why_container > figure { width: 100%; text-align: center; }
.why_container > figure img { width: 282px; height: auto; max-width: 100%; }
.why_container .why_item { width: 46.09%; background: #fff; padding: 100px 30px 30px; box-sizing: border-box; border-radius: 20px; position: relative; }
.why_container .why_item img { position: absolute; top: -80px; left: 0; right: 0; margin: 0 auto; }
.why_container .why_item p:nth-of-type(odd) { padding-bottom: 12px; margin-bottom: 12px; font-size: 21px; font-weight: bold; margin-right: 8px; }
.why_container .why_item p:nth-of-type(odd) span { padding: 0 10px; height: 32px; line-height: 32px; text-align: center; color: #fff; margin-left: 8px; }
.why_container .why_item p:nth-of-type(even) { margin-bottom: 40px; color: #333; font-size: 21px; font-weight: bold; }
.why_container .why_item p:nth-of-type(even) span { display: block; font-size: 32px; color: #FF9C43; margin-top: -8px; letter-spacing: 0; }
.why_container .why_item p:last-of-type { margin-bottom: 0; }
.why_container .why_item:nth-of-type(1) { border: 5px solid #F7F29F; }
.why_container .why_item:nth-of-type(1) p:nth-of-type(odd) { color: #00A99D; border-bottom: 1px solid #F7F29F; }
.why_container .why_item:nth-of-type(1) p:nth-of-type(odd) span { background: #00A99D; }
.why_container .why_item:nth-of-type(2) { border: 5px solid #F4BECD; }
.why_container .why_item:nth-of-type(2) p:nth-of-type(odd) { color: #0165DD; border-bottom: 1px solid #F4BECD; }
.why_container .why_item:nth-of-type(2) p:nth-of-type(odd) span { background: #0165DD; }

@media screen and (max-width: 896px) { .why_container > figure { margin-bottom: 100px; }
  .why_container .why_item { width: 100%; }
  .why_container .why_item:nth-of-type(2) { margin-top: 100px; } }
/* とは
----------------------------------------------------*/
.what_wrap > figure { margin: 60px 0; }

.what_movie_container { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; margin-bottom: 40px; }
.what_movie_container .what_movie_item { width: 46.09%; margin: 40px auto; }
.what_movie_container .what_movie_item p { margin-bottom: 20px; padding-bottom: 10px; font-size: 20px; color: #333; font-weight: bold; border-bottom: 1px solid #0165DD; }
.what_movie_container .what_movie_item .youtube { position: relative; width: 100%; padding-top: 56.25%; }
.what_movie_container .what_movie_item .youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

.what_txt_container { width: 100%; margin: 60px 0; }
.what_txt_container p { padding: 15px 24px; box-sizing: border-box; width: 100%; border: 1px solid #333; font-size: 18px; color: #333; }

.what_merit_container { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.what_merit_container p { width: 100%; text-align: center; font-size: 20px; color: #333; font-weight: bold; }
.what_merit_container figure { width: 31.25%; height: auto; margin: 60px 0 0; }
.what_merit_container figure img { width: 100%; height: auto; max-width: 100%; }

@media screen and (max-width: 896px) { .what_flow_sp { width: 100%; }
  .what_flow_sp figure { width: 100%; height: auto; }
  .what_flow_sp figure img { width: 100%; height: auto; max-width: 100%; }
  .what_flow_sp figure::after { content: ''; display: block; margin: 20px auto; width: 0; height: 0; border-style: solid; border-width: 26px 33px 0 33px; border-color: #00A99D transparent transparent transparent; }
  .what_flow_sp figure:last-of-type { width: 50%; margin: 0 auto; }
  .what_flow_sp figure:last-of-type::after { display: none; }
  .what_movie_container .what_movie_item { width: 100%; }
  .what_txt_container { margin: 40px 0; }
  .what_txt_container p { font-size: 16px; }
  .what_merit_container figure { width: 80%; margin: 30px auto 0; } }
/* 料金
----------------------------------------------------*/
.price_wrap > h2 + p { font-size: 20px; color: #333; font-weight: bold; text-align: center; }

.price_container { width: 100%; margin: 60px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.price_container .price_item { width: 31.25%; background: #FFF; padding: 0 0 30px; box-sizing: border-box; font-size: 0; }
.price_container .price_item p:nth-of-type(1) { padding: 20px 0; box-sizing: border-box; width: 100%; height: 75px; line-height: 35px; font-size: 24px; font-weight: bold; color: #fff; text-align: center; }
.price_container .price_item p:nth-of-type(2) { text-align: center; margin: 20px auto; font-size: 28px; color: #333; font-weight: bold; }
.price_container .price_item p:nth-of-type(2) span { font-size: 16px; }
.price_container .price_item p:nth-of-type(3) { width: 90%; margin: 0 auto; padding: 6px 0; text-align: center; color: #fff; font-size: 16px; font-weight: bold; border-radius: 4px; }
.price_container .price_item:nth-of-type(1) { border: 4px solid #E2DC00; }
.price_container .price_item:nth-of-type(1) p:nth-of-type(1) { background: #E2DC00; }
.price_container .price_item:nth-of-type(1) p:nth-of-type(3) { background: #DBC003; }
.price_container .price_item:nth-of-type(2) { width: 35.15%; border: 4px solid #003B82; }
.price_container .price_item:nth-of-type(2) p:nth-of-type(1) { background: #003B82; font-size: 28px; position: relative; }
.price_container .price_item:nth-of-type(2) p:nth-of-type(1) span { background: #00A99D; border-radius: 2px; position: absolute; top: -30px; left: 0; right: 0; margin: 0 auto; width: 142px; height: 36px; text-align: center; line-height: 36px; color: #fff; font-size: 20px; font-weight: bold; }
.price_container .price_item:nth-of-type(2) p:nth-of-type(1) span::after { content: ''; display: block; margin: 0 auto; width: 0; height: 0; border-style: solid; border-width: 9px 7px 0 7px; border-color: #00A99D transparent transparent transparent; }
.price_container .price_item:nth-of-type(2) p:nth-of-type(2) { color: #D4145A; }
.price_container .price_item:nth-of-type(2) p:nth-of-type(3) { background: #0165DD; }
.price_container .price_item:nth-of-type(3) { border: 4px solid #D30000; }
.price_container .price_item:nth-of-type(3) p:nth-of-type(1) { background: #D30000; }
.price_container .price_item:nth-of-type(3) p:nth-of-type(3) { background: #D8059D; }
.price_container .price_item:nth-of-type(4) { width: 100%; border: 4px solid #7BC408; margin-top: 30px; }
.price_container .price_item:nth-of-type(4) p:nth-of-type(1) { background: #7BC408; height: 55px; line-height: 15px; }
.price_container .price_item:nth-of-type(4) p:nth-of-type(2) { margin: 20px auto 0; font-size: 16px; color: #333; font-weight: normal; padding: 0 10px; box-sizing: border-box; }

@media screen and (max-width: 896px) { .price_container .price_item { width: 100%; margin-bottom: 40px; }
  .price_container .price_item:nth-of-type(2) { width: 100%; }
  .price_container .price_item:nth-of-type(4) { margin-top: 0; } }
/* 実績
----------------------------------------------------*/
.performance_wrap > h2 + p { font-size: 20px; color: #333; font-weight: bold; text-align: center; }

.performance_container { width: 100%; margin: 30px auto 120px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.performance_container .performance_item { width: 31.25%; }
.performance_container .performance_item figure { width: 100%; height: auto; }
.performance_container .performance_item figure img { width: 100%; height: auto; max-width: 100%; }
.performance_container .performance_item p:nth-of-type(1) { margin: 10px auto; text-align: center; font-size: 16px; color: #00A99D; font-weight: bold; }
.performance_container .performance_item p:nth-of-type(1) span { display: block; font-size: 14px; }
.performance_container .performance_item p:nth-of-type(2) { font-size: 14px; color: #333; font-weight: normal; }

.company_container { width: 100%; margin: 30px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.company_container .company_item { width: 47.26%; }
.company_container .company_item figure { width: 100%; height: auto; }
.company_container .company_item figure img { width: 100%; height: auto; max-width: 100%; }
.company_container .company_item p:nth-of-type(1) { margin: 10px auto; text-align: center; font-size: 16px; color: #0165DD; font-weight: bold; }
.company_container .company_item p:nth-of-type(1) span { display: block; font-size: 14px; }
.company_container .company_item p:nth-of-type(2) { font-size: 14px; color: #333; font-weight: normal; }
.company_container .company_item .construction_container { font-size: 18px; padding: 20px; width: auto; border: 1px solid #ccc; text-align: center; }

@media screen and (max-width: 896px) { .performance_container .performance_item, .company_container .company_item { width: 100%; margin-bottom: 30px; }
  .performance_container .performance_item:last-of-type, .company_container .company_item:last-of-type { margin-bottom: 0; } }
/* FAQ
----------------------------------------------------*/
.faq_container { width: 98%; margin: 0 auto 40px; }
.faq_container .faq_item { width: 100%; display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; }
.faq_container .faq_item p:nth-of-type(odd) { width: 50px; height: 50px; line-height: 50px; text-align: center; font-size: 24px; color: #fff; font-weight: bold; }
.faq_container .faq_item p:nth-of-type(even) { width: 92%; font-size: 16px; color: #333; line-height: 31px; }
.faq_container .faq_item:nth-of-type(1) p:nth-of-type(1) { background: #FF9C43; }
.faq_container .faq_item:nth-of-type(1) p:nth-of-type(2) { font-size: 24px; color: #0165DD; font-weight: bold; padding-top: 8px; }
.faq_container .faq_item:nth-of-type(2) p:nth-of-type(1) { background: #0165DD; }
.faq_container:last-of-type { margin: 0 auto; }
.faq_container:last-of-type .faq_item:last-of-type { margin-bottom: 0; }

@media screen and (max-width: 896px) { .faq_container .faq_item p:nth-of-type(even) { width: 80%; line-height: 28px; font-size: 16px; }
  .faq_container .faq_item:nth-of-type(1) p:nth-of-type(2) { padding-top: 0; font-size: 21px; } }
/* お問い合わせ
----------------------------------------------------*/
.form_wrap > h2 + p { font-size: 14px; color: #333; text-align: center; }
.form_wrap p:nth-of-type(2) { font-size: 16px; color: #333; font-weight: bold; text-align: center; margin-top: 20px; }

.phone_container { width: 60%; margin: 40px auto 50px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; border: 1px solid #F7931E; font-size: 0; }
.phone_container p { width: 40%; padding: 10px; box-sizing: border-box; background: #F7931E; text-align: center; color: #fff; font-size: 16px; font-weight: bold; }
.phone_container a { width: 60%; padding: 0; text-align: center; font-size: 22px; color: #F7931E; font-weight: bold; text-decoration: none; }

@media screen and (max-width: 896px) { .form_wrap > h2 + p, .form_wrap p:nth-of-type(2) { text-align: left; }
  .phone_container { width: 100%; flex-direction: column; }
  .phone_container p { width: 100%; }
  .phone_container a { width: 100%; } }
/* フォーム
----------------------------------------------------*/
.contactform_container { width: 80%; margin: 0 auto; }
.contactform_container p { font-size: 16px; }
.contactform_container table { width: 100%; margin-top: 50px; /*IEの表示崩れ対策*/ table-layout: fixed; }
.contactform_container table tr:last-child th { border-bottom: none; vertical-align: top; }
.contactform_container table tr:last-child td { border-bottom: none; }
.contactform_container table th { width: 30%; border-bottom: 2px solid #003B82; font-size: 16px; font-weight: bold; color: #222; padding: 26px 10px; box-sizing: border-box; }
.contactform_container table th span { font-size: 14px; color: #FFF; text-align: center; padding: 2px 15px; background: #00A99D; float: right; border-radius: 2px; }
.contactform_container table th .multi_line { display: inline-block; vertical-align: middle; }
.contactform_container table td { /*width:70%;*/ border-bottom: 2px solid #ccc; font-size: 16px; color: #222; padding: 20px 40px; box-sizing: border-box; margin-bottom: -1px; }
.contactform_container table .optionalicon { font-size: 14px; color: #2D4675; text-align: center; padding: 2px 15px; background: #ABD8FF; border-radius: 12px; margin-right: 30px; }

.agreementicon { font-size: 14px; color: #FFF; text-align: center; padding: 2px 14px; background: #EB3C38; margin-right: 16px; }

.confirm_box { width: 100%; margin: 0 auto; display: block; border: 1px solid #ffFF00; background: #F9A638; color: #FFF; padding: 10px; box-sizing: border-box; }

#formWrap { /*padding:80px 0;

h3 {margin-bottom:40px;}*/ }
#formWrap > h1 { display: block; text-align: center; margin-bottom: 20px; }
#formWrap > h1 img { width: 25%; height: auto; margin: 0 auto; }

.form_table { width: 90%; margin: 40px auto; }
.form_table th { width: 30%; border-bottom: 2px solid #003B82; /*font-family: $ShueiMaruGo_B;*/ font-size: 16px; font-weight: bold; color: #222; padding: 26px 20px; box-sizing: border-box; text-align: center; }
.form_table td { width: 70%; border-bottom: 2px solid #ccc; font-size: 16px; color: #333; padding: 20px 40px; box-sizing: border-box; }

.form_h3 { box-sizing: border-box; }

.form_section { padding: 120px 0 80px !important; }

.form_to_top { display: block; width: 320px; height: auto; margin: 40px auto; border: 1px solid #003B82; padding: 15px 0; background: #FFF; font-size: 18px; color: #003B82; position: relative; transition: .3s; text-align: center; text-decoration: none; }
.form_to_top:hover { background: #003B82; color: #FFF; transition: .3s; }

.policy_title { font-size: 18px; padding: 10px 0 0; text-align: center; }

.privacypolicy { box-sizing: border-box; position: relative; width: 100%; height: 300px; margin: 24px auto; padding: 24px; border: 1px #CCCCCC solid; background: #efefef; overflow-y: scroll; text-align: left !important; }
.privacypolicy p { text-align: left !important; }
.privacypolicy h4 { margin: 40px 0 20px; font-size: 16px; font-weight: bold; }
.privacypolicy h4:first-child { margin-top: 0; }

.privacypolicy::-webkit-scrollbar { width: 8px; }

.privacypolicy::-webkit-scrollbar-track { background: #ccc; }

.privacypolicy::-webkit-scrollbar-thumb { background: #999; }

.privacypolicy_checkbox_container { width: 100%; text-align: center; }

@media screen and (max-width: 668px) { .contactform_container { width: 100%; margin: 0 auto; }
  .contact_phone_container span { font-size: 24px; }
  .privacypolicy { width: 100%; }
  .contactform_container table tr:last-child th { border-bottom: 2px solid #003B82; }
  .contactform_container table th { width: 100%; display: block; }
  .contactform_container table td { width: 100%; display: block; padding: 20px 0; border-bottom: none; }
  .contactform_container table:nth-of-type(2) tr:nth-of-type(1) td, .contactform_container table:nth-of-type(2) tr:nth-of-type(2) td { flex-direction: column; }
  .contactform_container table:nth-of-type(2) tr:nth-of-type(1) td div, .contactform_container table:nth-of-type(2) tr:nth-of-type(2) td div { width: 80%; margin-bottom: 15px; }
  .contactform_container table:nth-of-type(2) tr:nth-of-type(1) td div::before, .contactform_container table:nth-of-type(2) tr:nth-of-type(2) td div::before { width: 90px; }
  .form_table th { width: 100%; display: block; text-align: left; border-bottom: none; padding: 20px 20px 0; }
  .form_table td { width: 100%; display: block; padding: 20px; }
  .form_to_top { margin: 20px auto; width: 80%; }
  #formWrap > h1 img { width: 80%; } }
/* フォーム装飾
----------------------------------------------------*/
input[type="text"], input[type="tel"], input[type="email"], textarea, select { -webkit-appearance: none; box-sizing: border-box; width: 100%; height: auto; padding: 10px; background: #FFF; border-radius: 3px; transition: all .3s; border: 1px solid #AFAFAF; }
input[type="text"].w100, input[type="tel"].w100, input[type="email"].w100, textarea.w100, select.w100 { width: 98%; margin-left: 10px; }
input[type="text"].w80, input[type="tel"].w80, input[type="email"].w80, textarea.w80, select.w80 { width: 80%; margin-left: 10px; }
input[type="text"].w60, input[type="tel"].w60, input[type="email"].w60, textarea.w60, select.w60 { width: 60%; margin-left: 10px; }
input[type="text"].w40, input[type="tel"].w40, input[type="email"].w40, textarea.w40, select.w40 { width: 40%; margin-right: 20px; margin-left: 10px; }
input[type="text"].w30, input[type="tel"].w30, input[type="email"].w30, textarea.w30, select.w30 { width: 30%; margin-left: 10px; }

input[type="checkbox"] { padding: 10px 12px; background: #efefef; transition: all .3s; width: 25px; height: 25px; vertical-align: bottom; margin-right: 8px; }

input[type="file"] { padding: 10px 0; transition: all .3s; }

/*input[type="text"]:focus , input[type="tel"]:focus , input[type="email"]:focus , textarea:focus { box-shadow: 0 0 4px #86BBCD; border: 1px solid #86BBCD;
}*/
textarea { height: 160px; margin-bottom: 20px; margin-left: 10px; }

::-webkit-input-placeholder { color: #cccccc; }

::-moz-placeholder { color: #cccccc; }

:-ms-input-placeholder { color: #cccccc; }

input[type="submit"] { display: block; width: 320px; height: auto; margin: 40px auto; border: 1px solid #003B82; padding: 15px 0; background: #FFF; font-size: 18px; color: #003B82; position: relative; transition: .3s; text-align: center; text-decoration: none; cursor: pointer; }
input[type="submit"]:hover { background: #003B82; color: #FFF; transition: .3s; }

input[type="button"] { text-decoration: none; margin: 30px auto 0; display: block; text-align: center; background: #FFF; border: 1px solid #333; font-weight: 300; font-size: 18px; color: #333; padding: 5px 0; width: 23%; height: auto; transition: .3s; position: relative; }

@media screen and (max-width: 668px) { input[type="button"] { width: 80%; }
  input[type="submit"] { width: 80%; }
  input[type="text"].w40, input[type="tel"].w40, input[type="email"].w40, textarea.w40, select.w40 { width: 80%; }
  input[type="text"].w60, input[type="tel"].w60, input[type="email"].w60, textarea.w60, select.w60 { width: 80%; }
  textarea { margin-left: 0; } }
/*****************************************************
 Page_name 
*****************************************************/
/* secdtion_name
----------------------------------------------------*/
