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

/* RESET */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body { background: var(--beige); color: var(--text); overflow-x: hidden; line-height: 1.7; }
img, video, svg { display: block; max-width: 100%; vertical-align: top; }
ol, ul { list-style: none; }
h1,h2,h3,h4,h5,h6 { font-feature-settings: "pkna" 1; }
a { color: inherit; text-decoration: none; transition: opacity 0.3s; }
a:hover { opacity: 0.75; }
a:hover img { opacity: 0.75; }
button { cursor: pointer; background: none; border: none; padding: 0; font: inherit; }
input, textarea, select { font: inherit; }
input[type="submit"], input[type="button"] { -webkit-appearance: none; appearance: none; cursor: pointer; }
textarea:focus, input[type="text"]:focus { background: #ffc0cb; }
p { margin-bottom: 1em; }

@import url('https://fonts.googleapis.com/css?family=Lato&display=swap');
body { font-family: 'hiragino-kaku-gothic-pron','Hiragino Kaku Gothic ProN','Hiragino Sans','Avenir','Lato', sans-serif; }
html, body { overflow-x: clip; }
:root {
  --red:      #f31540;
  --d_red:    #a40008;
  --text:     #2e2949;
  --beige:    #f9f4f2;
  --pl_peach: #ffe3d7;
  --border:   #dcdbda;
  --bluegray: #6c80a4;
  --steel:    #646c77;
  --font_serif: 'hiragino-mincho-pron', 'Hiragino Mincho ProN', serif; 
}

.br_sp { display: none; }
.br_pc { display: inline; }
@media (max-width: 768px) { .br_sp { display: block; } .br_pc { display: none; } }
@media (min-width: 769px) { .br_pc { display: block; } }

.mt_1 { margin-top: 1em; }
.mt_2 { margin-top: 2em; }
.mt_3 { margin-top: 3em; }
.mt_4 { margin-top: 4em; }
.mt_6 { margin-top: 6em; }

.mb_1 { margin-bottom: 1em; }
.mb_2 { margin-bottom: 2em; }
.mb_3 { margin-bottom: 3em; }
.mb_4 { margin-bottom: 4em; }
.mb_6 { margin-bottom: 6em; }

/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////　ヘッダー　*/
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/

/* HEADER */
#site_header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: transparent; border-bottom: 0.5px solid transparent; height: 3.5em; display: flex; align-items: center; justify-content: space-between; padding: 0 1em; transition: background 0.4s ease, border-color 0.4s ease; } 
#site_header.is_scrolled { background: #fff; border-bottom: 0.5px solid var(--border); }
#site_header.is_scrolled a { color: var(--text); }
.header_logo { font-size: 0.75em; letter-spacing: 0.18em; color: var(--text); font-weight: 400; }
.header_logo img.logo_default { height: 50px; margin-top: 0.5em; transition: color 0.4s ease; }
.header_logo img.logo_scrolled { height: 35px; width: auto; transition: color 0.4s ease; }
.logo_scrolled { display: none; }
#site_header.is_scrolled .logo_default { display: none; }
#site_header.is_scrolled .logo_scrolled { display: block; }

.header_nav { display: flex; gap: 1.5em; align-items: center; }
.header_nav a { font-size: 0.9em; letter-spacing: 0.06em; color: #b70024; transition: color 0.4s ease; }
.header_nav .header_cta { background: var(--red); color: #fff !important; padding: 0em 1.2em; line-height: 3em; font-size: 0.85em; letter-spacing: 0.06em; border-radius: 2em; }
.header_right { display: flex; align-items: center; gap: 0; padding-right: 2.5em; } 
.header_burger { position: fixed; top: 1.2em; right: 1em; z-index: 300; display: flex; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; }
.header_burger span { display: block; width: 22px; height: 1.5px; background: var(--text); transition: all 0.3s; }
.header_burger.is_open span { background: #fff; } .header_burger.is_open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.header_burger.is_open span:nth-child(2) { opacity: 0; }
.header_burger.is_open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

@media (max-width: 1000px) { 
  .header_nav { display: none; } 
 }

/* MENU OVERLAY */
#menu_overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--text); z-index: 200; transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.77,0,0.175,1); overflow-y: auto; display: flex; flex-direction: column; padding: 5em 2em 3em; text-align: center; }
#menu_overlay.is_open { transform: translateX(0); }
.menu_member {  padding: 1.5em; margin: 0 auto 2em auto; max-width: 400px; width: 100%; }
.menu_member p { font-size: 0.9em; color: rgba(255,255,255,0.7); letter-spacing: 0.15em; margin-bottom: 0.75em; }
.menu_member a { background: #FFF; display: block; font-size: 1em; color: var(--text); padding: 0.6em 0; letter-spacing: 0.05em; margin-bottom: 0.2em; }
.menu_member a:last-child { background: var(--red); color: #fff;}
.menu_nav_group { margin: 2em auto; max-width: 400px; width: 100%; }
.menu_nav_group strong { display: block; font-size: 0.9em; letter-spacing: 0.18em; color: rgba(255,255,255,0.7); margin-bottom: 0.75em; font-weight: 400; }
.menu_nav_group a { display: block; letter-spacing: 0.06em; color: #fff; padding: 0.75em 0; border-bottom: 0.5px solid rgba(255,255,255,0.1); }
.menu_nav_group a:last-child { border-bottom: none; }
.menu_login_state { display: block; }
.menu_loggedin_state { display: none; }
body.is_loggedin .menu_login_state { display: none; }
body.is_loggedin .menu_loggedin_state { display: block; }
.demo_toggle { position: fixed; bottom: 1em; right: 1em; z-index: 9999; background: var(--text); color: #fff; font-size: 0.7em; padding: 0.5em 1em; border-radius: 4px; cursor: pointer; letter-spacing: 0.05em; }

.center { text-align: center; }

/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////　トップページ　*/
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/


/*///////////////// HERO */

#sitetop_hero { position: relative; width: 100%; height: 75vh; }

.hero_stage { position: absolute; inset: 0; isolation: isolate; }
.hero_video_wrap { position: absolute; inset: 0; overflow: hidden; }
.hero_video_wrap video { position: absolute; inset:0; width: 100%; height: 100%; object-fit: cover; }
.hero_copy { position: absolute; padding-top: 8em; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: center; color: #fff; }
.hero_logo { position: absolute; top: calc(50% - 4em); left: 0; width: 100%; mix-blend-mode: multiply; } 
.hero_logo svg { height: 2em; width: auto; }
.hero_h1 { font-family: var(--font_serif); font-size: 3em; font-weight: 500; color: #fff; letter-spacing: 0.05em; line-height: 1.35; margin-bottom: 0.6em; text-shadow: 0 2px 20px rgba(0,0,0,0.45), 0 1px 5px rgba(0,0,0,0.35); }
.hero_sub { font-family: var(--font_serif); font-size: 1.3em; color: #FFF; letter-spacing: 0.15em; line-height: 1.8; text-shadow: 0 1px 10px rgba(0,0,0,0.45), 0 1px 3px rgba(0,0,0,0.3); margin-bottom: 0; }

@media (max-width: 768px) { 
  .hero_copy { padding-top: 3.5em; }
  .hero_h1 { font-size: 2em; } 
  .hero_sub { font-size: 0.9em; } 
  .hero_logo { width: 300px; top: calc(50% - 6em); } 
}

/*/////////////////　共通　*/

.sitetop_h2 { color: var(--text); font-size: 1.6em; margin-bottom: 2em; }
.sitetop_h2 span { color: var(--red); display: block; letter-spacing: 0.2em; font-size: 0.8em; font-weight: normal; margin-bottom: 0.1em; }

/*/////////////////　PICK UP　*/


#sitetop_pickup { background: transparent; padding: 2em 0 2.5em; margin-top: -6em; position: relative; z-index: 10; }
#slider_wrap { width: 100%; }
#slider_wrap .l_inner { padding: 0; }
#slider .slick-track { display: flex; }
#slider .slick-slide { height: auto; display: flex; }
#slider .slide_item a { width: 100%; }
#slider .slide_item { padding: 0 0.4em; }
#slider .slide_item a { display: block; border-radius: 0.5em; overflow: hidden; background: #fff; }
#slider .slide_item .slide_img { width: 100%; aspect-ratio: 16/9; overflow: hidden; }
#slider .slide_item .slide_img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
#slider .slide_item a:hover .slide_img img { transform: scale(1.03); }
#slider .slide_item .slide_body { padding: 0.75em 1em; }
#slider .slide_item .slide_tag { font-size: 0.6em; color: var(--red); letter-spacing: 0.1em; margin-bottom: 0.3em; }
#slider .slide_item .slide_title { font-size: 0.78em; color: var(--text); line-height: 1.55; letter-spacing: 0.03em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#slider .slide_item .slide_title.is_wrap { white-space: normal; }
#slider_wrap .slick-dots { position: static; margin-top: 1.25em; display: flex !important; justify-content: center; gap: 6px; list-style: none; padding: 0; }
#slider_wrap .slick-dots li { width: 24px; height: 2px; margin: 0; }
#slider_wrap .slick-dots li button { width: 100%; height: 100%; padding: 0; background: var(--border); border: none; border-radius: 1px; font-size: 0; cursor: pointer; transition: background 0.3s; }
#slider_wrap .slick-dots li button::before { display: none; }
#slider_wrap .slick-dots li.slick-active button { background: var(--red); }
#slider_wrap .slick-prev, #slider_wrap .slick-next { display: none !important; }

@media (max-width: 768px) { 
#slider .slide_item { padding: 0 0.3em; }  
}

/* Slider CSS */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list {position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: block; }
.slick-track:before, .slick-track:after { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; height: 100%; min-height: 1px; }
[dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }
.slick-slide { padding: 0px 10px; }
@media screen and (max-width: 480px) { .slick-slide { padding: 0px 5px; } }
/* スライドの中身がページのレンダリング時に一瞬見えるのを防ぐ */
.slick-prev:before, .slick-next:before { color: black; }

/*/////////////////　ABOUT　*/


.sitetop_about_principle {
background-color: #fff;
background-image: linear-gradient(to bottom, #f9f4f2 0%, rgba(255,255,255,0.7) 20%, rgba(255,255,255,0) 100%), url(../img/principle_bg.jpg);
background-position: top center, center bottom;
background-repeat: no-repeat, no-repeat;
background-size: 100% 100%, 100% auto;
}

.sitetop_about .l_narrow { padding: 6em 0em 4em 0em; }
.sitetop_about h3 { font-size: clamp(1.5em, 4vw, 1.8em); font-family: var(--font_serif); color: var(--text); text-align: center; letter-spacing: 0.05em; font-weight: normal; line-height: 1.6; margin-bottom: 1.5em; }
.sitetop_about_lead { font-size: 0.95em; color: var(--text); text-align: center; letter-spacing: 0.15em; line-height: 2; margin-bottom: 4em; }
.sitetop_about_proof { display: flex; justify-content: center; gap: 4em; list-style: none; }
.sitetop_about_proof dt { font-size: 0.8em; color: var(--bluegray); text-align: center; margin-bottom: 0.6em; }
.sitetop_about_proof dd { font-size: 2em; font-family: var(--font_serif); font-weight: bold; color: var(--text); text-align: center; }
.sitetop_about_proof dd.note { font-size: 0.8em; font-weight: normal; color: var(--bluegray); margin-top: 0.6em; }

.sitetop_about_principle_divider { width: 80%; height: 1px; border: none; background: var(--border); margin: 0 auto; }

.sitetop_principle { padding-bottom: 12em;} 

.sitetop_principle .l_inner {
background-image: linear-gradient(to bottom, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.6) 40%, rgba(255,255,255,0) 100%);
background-position: top center;
background-repeat: no-repeat;
background-size: 100% 100%;
padding: 4em 0em;
}
.sitetop_principle h3 { font-size: clamp(1.5em, 4vw, 1.6em); font-family: var(--font_serif); color: var(--text); margin-bottom: 1.5em; letter-spacing: 0.05em; font-weight: normal; text-align: center;}
.sitetop_principle p { font-size: 0.95em; color: var(--text); letter-spacing: 0.15em; line-height: 2; margin-bottom: 4em; text-align: center;}
.sitetop_principle_patent img { max-width: 400px; width: 100%; height: auto; margin: 0 auto 4em; }
.sitetop_principle .note { font-size: 0.8em; color: var(--bluegray); line-height: 1.7; text-align: center; }

@media (max-width: 768px) { 
  .sitetop_about { padding-bottom: 4em; }
  .sitetop_about .l_narrow { padding: 4em 0em 4em 0em; }
  .sitetop_about_proof { display: block; }
  .sitetop_about_lead { text-align: left; }
  .sitetop_about_proof div:first-child { margin-bottom: 4em; }
  .sitetop_about_principle_divider { width: 100%; }
  .sitetop_principle { padding-bottom: 8em; background-size: 120%; }
  .sitetop_principle .l_inner { padding: 0em; }
  .sitetop_principle p { text-align: left; }
}

/*/////////////////　LECTURE　*/

.sitetop_lecture { padding: 6em 0em 0em 0; background: linear-gradient(to bottom, #fff 30%, #ffe3d7 100%); }
.sitetop_lecture_photos { display: flex; gap: 1em; margin-bottom: 3em; }
.sitetop_lecture_photos img { width: calc(50% - 0.5em); height: auto; display: block; }
.sitetop_lecture_catch { font-size: clamp(1.5em, 4vw, 1.8em); font-family: var(--font_serif); color: var(--text); text-align: center; font-weight: normal; line-height: 1.6; margin-bottom: 2em; }
.sitetop_lecture_lead { font-size: 0.95em; color: var(--text); letter-spacing: 0.15em; text-align: center; line-height: 2; margin-bottom: 8em; }

.sitetop_lecture_theme { background: url(../img/bg_g_01.png) center / cover no-repeat; padding: 2em 0em 4em 0em;}
.sitetop_lecture_theme .l_narrow div { background-color: #FFF; padding: 1em; border-radius: 1em; }
.sitetop_lecture_theme_label { color: #fff; text-align: center; font-size: 0.9em; margin-bottom: 1.5em; }
.sitetop_lecture_theme_list { display: flex; background: #fff; border-radius: 0.5em; overflow: hidden; list-style: none; border: 1px solid var(--border);}
.sitetop_lecture_theme_list li { display: flex; justify-content: center; flex-wrap: wrap; flex: 1; text-align: center; padding: 2em 1em; border-right: 1px solid var(--border); }
.sitetop_lecture_theme_list li:last-child { border-right: none; }
.sitetop_lecture_theme_en { width: 100%; display: block; color: var(--red); font-size: 0.75em; font-weight: bold; letter-spacing: 0.1em; margin-top: -0.6em; margin-bottom: 0.2em; }
.sitetop_lecture_theme_ja { width: 100%; display: block; color: var(--text); font-weight: bold; font-size: 1em; }

@media screen and (max-width: 768px) {
  .sitetop_lecture { padding: 4em 0em 0em 0; }
  .sitetop_lecture_lead { text-align: left; margin-bottom: 4em;}
  .sitetop_lecture_theme .l_narrow div { border-radius: 1.5em; }
  .sitetop_lecture_theme_list { flex-wrap: wrap; border-radius: 16px; }
  .sitetop_lecture_theme_list li { flex: 0 0 50%; border-right: 1px solid #eee; border-bottom: 1px solid #eee; padding: 1.5em 0.5em; }
  .sitetop_lecture_theme_list li:nth-child(2n) { border-right: none; }
  .sitetop_lecture_theme_list li:nth-child(3), .sitetop_lecture_theme_list li:nth-child(4) { border-bottom: none; }
}

/*/////////////////　EXPERIENCE　*/

.sitetop_experience { padding: 6em 0; background-color: var(--beige); }
.sitetop_experience_catch { font-size: clamp(1.5em, 4vw, 1.8em); font-family: var(--font_serif); color: var(--text); text-align: center; font-weight: normal; line-height: 1.6; margin-bottom: 1.2em; }
.sitetop_experience_lead { font-size: 0.95em; color: var(--text); text-align: center; line-height: 1.8; margin-bottom: 3em; }
.sitetop_experience_grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5em; list-style: none; margin-bottom: 3em; }
.sitetop_experience_card { border: 1px solid var(--border); background: #fff; padding: 2em 1.8em; border-radius: 0.5em; letter-spacing: 0.05em; }
.sitetop_experience_card_title { font-size: 1.3em; font-family: var(--font_serif); color: var(--text); font-weight: bold; margin-bottom: 0.6em; }
.sitetop_experience_card_text { font-size: 0.9em; color: var(--bluegray); line-height: 1.7; margin-bottom: 0em; }

@media screen and (max-width: 768px) { 
  .sitetop_experience { padding: 4em 0; }
  .sitetop_experience_grid { grid-template-columns: 1fr; gap: 1em; } 
}

/*/////////////////　CTA　*/

.sitetop_cta { background: url(../img/bg_g_01.png) center / cover no-repeat; padding: 5em 0; text-align: center; }
.sitetop_cta_title { font-size: clamp(1.2em, 4vw, 1.7em); color: #fff; font-family: var(--font_serif); line-height: 1.6; font-weight: normal; }
.sitetop_cta p { font-size: 0.95em; display: block; margin-top: 1em; margin-bottom: 2em; color: #fff; }
.sitetop_cta_btn { display: inline-block; background: linear-gradient(90deg, #ff8a00, #ff5536, #ff8a00); 
color: #fff; font-weight: bold; font-size: 0.95em; padding: 0.9em 2.2em; border-radius: 8px; text-decoration: none; 
transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.5s ease; }
.sitetop_cta_btn:hover {
transform: translateY(-4px);
box-shadow: 0 4px 8px rgba(220, 0, 43, 0.5);
animation: cta_float 1.8s ease-in-out infinite;
opacity: 1;
}
@keyframes cta_float {
0%, 100% { transform: translateY(-2px); }
50% { transform: translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
.sitetop_cta_btn { animation: none; transition: none; }
}

/*/////////////////　INFO. */

#info { background-color: var(--beige); overflow: hidden; padding: 3em 0em; }
#info_list ul { margin: 2em auto; }
#info_list ul li { border-bottom: 1px solid var(--border); }
#info_list ul li a { display: flex; align-items: baseline; gap: 1.5em; padding: 0.8em 0em;}
#info_list ul li a span { display: block; }
.i_post_data { font-size: 14px; font-family: var(--font_serif); color: var(--steel); }
.i_ctgry { min-width: 5em; font-size: 13px; color: var(--red);  }
.post_title { font-family: var(--font_serif); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 768px) { 
#info_list ul li a { flex-wrap: wrap; gap: 0em; padding: 0.8em 0em; }
.i_post_data { font-size: 11px; margin-right: 1em; }
.i_ctgry { min-width: 0em; font-size: 10px; }
.post_title { width: 100%; display: table-column; font-family: var(--font_serif); }
}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////　タイトル装飾　*/
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/

#pt_title { height: 280px; background-image: url(../img/nmbg01.png); background-position: center; background-size: cover; 
background-color: #FFF; background-repeat: no-repeat; display: flex; align-items: center;
text-shadow: 1px 1px 0 #ffffff8f, -1px -1px 0 #ffffff8f, 1px -1px 0 #ffffff8f, -1px 1px 0 #ffffff8f, 1px 1px 0 #ffffff8f; }
#pt_title h3 { font-size: 38px; color: #3E3E3E; text-align: center; line-height: 1.3em; margin: 0 auto; }
#pt_title h3 span {font-size: 18px;     line-height: 1em; text-align: center; display: block; font-weight: normal; }
@media screen and (max-width: 520px) {
#pt_title { height: 190px; }
}

#t_pagelink { display: flex; gap: 1em; 	flex-wrap: wrap; justify-content: center; margin: 2em 0em;}
#t_pagelink li { padding: 0.5em 1em; background-color: #FFF; border-radius: 5px; text-align: center; font-size: 24px; }

@media screen and (max-width: 1200px) {
#t_pagelink { margin: 0em 0em 2em 0em; }
}
@media handheld, only screen and (max-width: 1100px) {
#t_pagelink li { padding: 0.2em 0.5em; text-align: center; font-size: 18px; }
}

.title01 { font-size: 1.8em; color: #a0a5bc; margin-bottom: 0.5em;
text-align: center;
padding: 0.5em; border-top: solid 2px #b5bbd0; border-bottom: solid 2px #b5bbd0;
background: -webkit-repeating-linear-gradient(-45deg, #e9eaee, #e9eaee 3px,#f3f4f8 3px, #f3f4f8 7px);
background: repeating-linear-gradient(-45deg, #e9eaee, #e9eaee 3px, #f3f4f8 3px, #f3f4f8 7px);
}

.title_01 { width: 100%; text-align: center; margin-bottom: 0%; margin: 0%; color: #FFF;}
.title_01 span { width: 100%; display: block; background-color: #72799b; border: 4px solid #FFF; outline: solid 1px #d7d1cc; padding-top: 6px; padding-right: 5px; padding-left: 5px; vertical-align: top; padding-bottom: 4px; }
.title_01:before { content:""; display: block; background-image: url(../img/deco_02.png); background-repeat: no-repeat; background-position-x: center;background-size:184px 36px; width: 184px; height: 36px; margin-left: auto; margin-right: auto; padding-bottom: 2px; }
.title_01:after { content:""; display: block; background-image: url(../img/deco_04.png); background-repeat: no-repeat; background-position-x: center;background-size:184px 36px; width: 184px; height: 36px; margin-left: auto; margin-right: auto; margin-top: 4px; }

.title_02 { width: 100%; text-align: center; margin: 0%; color: #FFF; line-height: 1.3em; }
.title_02 span { width: 100%; display: block; background-color: #72799b; border: 4px solid #FFF; outline: solid 1px #d7d1cc; padding-top: 10px; padding-right: 5px; padding-left: 5px; vertical-align: top; padding-bottom: 8px; }
.title_02:before { content:""; display: block; background-image: url(../img/deco_02.png);background-repeat: no-repeat; background-position-x: center;background-size:184px 36px;width: 184px; height: 36px; margin-left: auto; margin-right: auto; padding-bottom: 2px;}

.title_02_w { width: 100%; text-align: center; margin: 0%; color: #FFF; line-height: 1.3em; }
.title_02_w span { width: 100%; display: block; background-color: #2b314b; border: 4px solid #72799b; outline: solid 1px #FAFAFA; padding-top: 10px; padding-right: 5px; padding-left: 5px; vertical-align: top; padding-bottom: 8px; }
.title_02_w:before { content:""; display: block; background-image: url(../img/deco_02_w.png);background-repeat: no-repeat; background-position-x: center;background-size:184px 36px;width: 184px; height: 36px; margin-left: auto; margin-right: auto; padding-bottom: 2px;}

.title_03 { display: inline-block; background-color: #72799b; color: #FFF;  border: 1px solid #33425B; padding: 4px 10px 2px 10px; margin-bottom: 2%; }

.title04 { margin-bottom: 2%; padding-bottom: 5px; padding-left: 5%; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #CCC; background-image: url(../img/bgtx05.png); background-repeat: repeat-y; padding-top: 5px; font-size: 16px; margin-top: 2%; }
.title05 { margin-bottom: 2%; padding-bottom: 2px; padding-left: 2%; background-image: url(../img/bgtx05.png); background-repeat: repeat-y; padding-top: 2px; font-size: 16px; margin-top: 0px; background-color: #E60D0A; color: #FFF; font-weight: 500; padding-right: 2%; display: inline-block; border: 1px solid #F00; }
.title06 { font-size: 1.2em; background-color: #F8F8F8; min-height: 35px; border-top-width: 3px; border-top-style: double; border-top-color: #808080; padding-top: 14px; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #808080; padding-right: 2%; padding-left: 2%; margin-bottom: 4%; padding-bottom: 14px; }

@media screen and (max-width: 1200px) {
.title04 { padding-left: 4%; }
}

@media screen and (max-width: 480px) {
.title01 { font-size: 1.4em; }
.title04 { padding-left: 6%; }
}

.list_decimal li { border-bottom: 1px dotted #47517e; margin-bottom: 5px; padding-bottom: 5px; }
.list_decimal li span:nth-child(1) { padding: 0px 2px 0px 2px; background-color: #47517e; color: #FFF; margin-right: 5px; }

@media handheld, only screen and (max-width: 720px) {
.title_01:after, .title_01:before { background-size:150px auto; height: 29px;}
.title_02:before, .title_02_w:before  { background-size:150px auto; height: 29px; }
}

.square_h { background-image: url(/img/square.png); padding-left: 35px; background-repeat: no-repeat; height: 20px; }

/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////　リンク 汎用　*/
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/

.link { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: var(--border); display: inline-block; float: right; }
.link a { color: var(--text); }
.link:after { content: "→"; margin-right: 0.5em; }

.morelink a  { color: #FFF; background-color: #0f1420; font-size: 13px; font-weight: 500; float: right; padding-right: 5px; padding-left: 5px; margin-top: 10px; }
.morelink a:after { content: "\e41";  font-family: 'icomoon'; margin-left: 5px; font-size: 11px; }


/*/////////////////　mailmag　TOPと兼用　*/

#site_link_area { width:100%; margin: 0px; padding: 2em 0em 2em 0em; font-size: 16px; text-align: center; }

h3.site_link_h3 { font-size: 26px; margin: 2em 0em; text-align: center; }
#site_link_area h3.f_h3 { margin: 0 auto; text-align: center; }
#site_link { width: 80%; color: #FFF; margin: 0 auto; padding: 2em 0px 6em 0px; font-size: 16px; text-align: center;
display: flex; justify-content: center; flex-wrap: wrap; flex-flow: row wrap; }
#site_link h2 { font-weight:bold; color: #1F2229; font-size: 38px; margin-bottom: 0.3em;}
#site_link div { width: calc(100% / 3 - 1em); margin: 0px 0.5em 0.5em 0.5em; color: #2f343f; }
#site_link img { width: 100%; height: auto; margin-bottom: 0.5em; }
#site_link h3 + span { font-size: 12px; line-height: 1.6em; display: inline-block; }

@media screen and (max-width: 768px) {
h3.site_link_h3 { font-size: 26px; margin: 1.5em 0em 0em 0em; text-align: center; }
#site_link { padding-top: 0em; }
#site_link div { width: 100%; margin-top: 2em; color: #2f343f; }
}

/*/////////////////　タイトルエリア　*/

#page_title { font-size: 2em; text-align: center; margin: 1em 0em;}
#page_title span { font-size: 15px; margin-top: 0.5em; text-align: center; display: block; font-weight: normal; }

/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////　カリキュラム紹介 リスト　*/
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/

.csummary { padding: 1em 0em; }
.csummary h3 { font-size: 24px; color: #fff; padding: 2em 1em; text-align: center; min-height: 7em; display: flex; align-items: center; justify-content: space-around; }
.csummary h3 span span { display: block; color: #777; mix-blend-mode: multiply;}
.csummary h4 { font-size: 17px;  margin: 1em 0em 1em 0em; line-height: 1.6em; min-height: 3.5em; }
.csummary ul { display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: stretch; }
.csummary ul li { width: calc(33.3% - 1%); margin: 0em 0.5% 0em 0.5%; }
.csummary ul li a { display: block; border: #b5bbd0 solid 1px; color: #2f343f; }
.csummary ul li a div { padding: 1em 0.5em 0.5em 0.5em; background-color: #FFF; }
.csummary ul li a div.s_cat { padding: 0em; }
.csummary ul li a div.s_cat span { width: 8em; display: inline-flex; align-items: center; justify-content: center; color: #555b75; padding: 0.4em 1em; margin: 0em 0.5em 0em 0em; text-align: center; border: #b5bbd0 solid 1px; border-radius: 1em; line-height: 1em;}
.csummary ul li p { font-size: 15px; padding: 0em; margin-bottom: 0em; }
.csummary ul li p span { display: block; }

.csummary ul li h4 ~ p { border: #b5bbd0 solid 1px; margin-bottom: 0em; display: flex; }
.csummary ul li h4 + p { border-bottom: none; }
.csummary ul li h4 ~ p span:nth-child(1) { width: 30%; display: flex; align-items: center; justify-content: center; font-size: 14px; padding: 2px 3px; background-color: #e4e7ef; }
.csummary ul li h4 ~ p span:nth-child(2) { width: 70%; text-align: right; display: inline-block; font-size: 14px; padding-right: 5px;}
.external { margin-bottom: 2em; }
.external h2 { font-size: 23px; line-height: 1.3em; border-bottom: #b5bbd0 solid 1px; margin: 1.5em 0em; padding-bottom: 0.5em; }
.external h2 span { font-size: 16px; font-weight: 300; }
.external ul { display: flex; justify-content: flex-start; flex-wrap: wrap; align-items: stretch; }
.external ul li { width: calc(33.3% - 1%); margin: 0em 0.5% 3em 0.5%; }
.external ul li a img { width: 100%; border: #b5bbd0 solid 1px; margin-bottom: 1em; }
.external ul li a { color: #2f343f; }
.external ul li a span { display: block; }


.csummary .h_icn_b, .external .h_icn_b { line-height: 1em; font-size: 23px; margin: 1.5em 0em; }
.csummary .h_icn_b::before, .external .h_icn_b::before { content: ""; margin-right: 0.5em; background-image: url("../img/heading-icon_01.svg"); height: 1em; width: 2em; background-repeat: no-repeat; background-size: contain; background-position: center; display: inline-block; vertical-align: -3px; }


@media screen and (max-width: 1385px) {
.csummary ul li, .external ul li { width: 49%; margin-bottom: 1em; }
.csummary ul li:last-child { margin-bottom: 0em; }

}

@media screen and (max-width: 825px) {
.csummary { padding: 0em; }
.csummary ul li, .external ul li { width: 100%; }
.csummary h3 {  padding: 1em; min-height: 2em;}
.external h2 span { display: block; }
}

.cc_pl h3 { background-color: rgba(45, 119, 255, 1); }
.cc_pc h3 { background-color: rgba(180, 39, 77, 1); }
.cc_ic h3 { background-color: rgba(39, 125, 194, 0.9); }
.cc_li h3 { background-color: rgba(240, 198, 27, 0.9); }
.cc_mf h3 { background-color: rgba(153, 194, 39, 0.9); }
.cc_mc h3 { background-color: rgba(194, 39, 130, 0.9); }
.cc_mh h3 { background-color: rgba(248, 82, 85, 0.9); }
.cc_se h3 { background-color: rgba(140, 122, 204, 0.9); }
.cc_rse h3 { background-color: rgba(82, 197, 217, 0.9); }
.cc_mwm h3 { background-color: rgba(168, 0, 15, 0.9); }
.cc_mi h3 { background-color: rgba(232, 80, 53, 0.9); }
.mpc { flex-direction: column; }
h3.mpc span span { display: inline; padding-right: 0.2em;}


label { font-size: 14px; font-weight: 700; color: #5B6B83; margin: 0px; padding: 0px; width: 100%; display: block; }
input { width:100%; font-size:20px; padding:2px; }

/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////　新しいカラーリング　基本カラム設定　*/
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/

#ma_wrap { width: 100%; margin-right: auto; margin-left: auto; display: block; }
#ma_topimg {  margin-right: auto; margin-left: auto;overflow: hidden;  }
#ma_topimg img { width: 100%; height: auto; }

/*/////////////////　single_column　汎用コンテナ　*/

.ma_con { margin-right: auto; margin-left: auto; overflow: hidden; }
.ma_con h2 { color: #FFF; background-color: #47517e; width: 100%; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; font-weight: normal; }
.in_white { background-color: #FFF; margin: 0px; padding: 3%; overflow: hidden; }

/*/////////////////　double_column　*/

.double_col { margin-right: auto; margin-left: auto; overflow: hidden; }
.double_col .in_white { padding: 6.5%; }
.double_col a { font-size: 14px; color: #2f343f; font-weight: normal; }
.double_col .left { width: 49%; float: left; }

.double_col .left h2, .double_col .right h2 { color: #FFF; background-color: #47517e; width: 100%; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; font-weight: normal; }
.double_col .left img, .double_col .right img  { text-align: center; margin-right: auto; margin-left: auto; display: block; width: 100%; height: auto; }
.double_col .right { width: 49%; float: right; }

@media screen and (min-width: 1800px)  {
.ma_con, .double_col { width: 80%; }
}

@media screen and (max-width: 1800px)  {
.ma_con, .double_col {  width: 90%; }
}
@media handheld, only screen and (max-width: 1200px) {
.ma_con, .double_col {  width: 85%; margin: 1em auto; }
}
@media handheld, only screen and (max-width: 768px) {
.ma_con, .double_col {  width: 92.5%; }
.double_col .left { width: 100%; margin-bottom: 3%;}
.double_col .right { width: 100%;}
}

/*/////////////////　column left_main　*/

.lmain_col { margin-right: auto; margin-left: auto; overflow: hidden; }
.lmain_col .left { width: 73.5%; float: left; }
.lmain_col .left h2 , .lmain_col .column_right h2 { color: #FFF; background-color: #47517e; width: 100%; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; font-weight: normal; }
.lmain_col .left img { text-align: center; margin-right: auto; margin-left: auto; display: block; width: 100%; height: auto; }
.lmain_col .right { width: 24.5%; float: right; }
.lmain_col .right img { width: 100%;}

@media handheld, only screen and (max-width: 1200px) {
.lmain_col { width: 100%;}
}
@media handheld, only screen and (max-width: 768px) {
.lmain_col .left { width: 100%; margin-bottom: 3%;}
.lmain_col .right { width: 100%;}
}

/*/////////////////　column right_main　*/

.rmain_col { margin-right: auto; margin-left: auto; overflow: hidden; }
.rmain_col .left { width: 24.5%; float: left; }
.rmain_col .left h2 , .lmain_col .column_right h2 { color: #FFF; background-color: #47517e; width: 100%; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; font-weight: normal; }
.rmain_col .left img { text-align: center; margin-right: auto; margin-left: auto; display: block; width: 100%; height: auto; }
.rmain_col .right { width: 73.5%; float: right; }

@media handheld, only screen and (max-width: 1200px) {
.rmain_col { width: 100%;}
}
@media handheld, only screen and (max-width: 768px) {
.rmain_col .left { width: 100%; margin-bottom: 3%;}
.rmain_col .right { width: 100%;}
}

.tyushaku { font-size: 15px; line-height: 20px; padding-top: 1%; padding-bottom: 1%; }

/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////　カリキュラム紹介 個別　*/
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*
#curriculum_main_img { width: 100%; padding: 4% 0%; }
#curriculum_main_img #w_column { height: 370px; margin: auto; background-color: #FFF; display: block; text-align: center; overflow: hidden; }
#curriculum_main_img #w_column img { width: 50%; float: left; margin:  0px; padding: 0px; }
#curriculum_main_img #w_column div { width: 50%; height: 370px; float: right; text-align: center; position: relative; }
#curriculum_main_img #w_column div p {  height: 370px;	position: absolute; top: 65%; right: 0;bottom: 0;left: 0;margin: auto; }
#curriculum_main_img #w_column div p span { font-size: 28px; font-weight: 700; display: block; line-height: 1.4em; }

#w_column { margin: 8% auto; display: block; overflow: hidden; }
#w_column img { width: 50%; height: auto; float: left; margin: 0%; padding: 0%; }
#w_column div { width: 50%; float: left; position: relative; }
#w_column ul li {  }
#w_column .left img {}
*/

#curriculum_main_img { width: 100%; padding: 6% 0% 4% 0%; }
#curriculum_main_img img { padding: 2em; height: auto; margin: auto; display: block;text-align: center; }
#curriculum_main_img h1 { padding-bottom: 1em; font-size: 1.6em; color: #FFF; display: block;  text-align: center; }

#curriculum_main_img div { text-align: center;  margin: 2em auto; }
#curriculum_main_img div span { display: block; margin: auto; }
#curriculum_main_img div #c_name_en { font-size: 40px; color: #FFF; display: block; margin: 1em 0px 1em 0px;}
#curriculum_main_img div #c_name { font-size: 28px; display: inline; line-height: 1em; color: #FFF; padding: 5px 3em 3px 3em; border-radius: 3px; margin: 1em auto; }
#curriculum_main_img p { margin: 1.5em 0em 0em 0em; padding: 0em 1em; }
#curriculum_main_img p span { font-size: 20px; color: #FFF;}

.mwm_bg { background-image: url(/img/mwm_bg.png?2019) ; background-size:cover; background-position: center top;}
.od_bg { background-image: url(/img/od_bg.png?2019) ; background-size:cover; background-position: center top;}
.mc_bg { background-image: url(/img/mc_bg.png?2019) ; background-size:cover; background-position: center top;}
.mh_bg { background-image: url(/img/mh_bg.png?2019) ; background-size:cover; background-position: center top;}
.mi_bg { background-image: url(/img/mi_bg.png?2019) ; background-size:cover; background-position: center top;}
.li_bg { background-image: url(/img/li_bg.png?2019) ; background-size:cover; background-position: center top;}
.se_bg { background-image: url(/img/se_bg.png?2019) ; background-size:cover; background-position: center top;}
.rse_bg { background-image: url(/img/rse_bg02.png) ; background-size:cover; background-position: center bottom;}
.mf_bg { background-image: url(/img/mf_bg.png?2019) ; background-size:cover; background-position: center;}
.mpc_bg { background-image: url(/img/mpc_bg.png) ; background-size:cover; background-position: center top;}

@media handheld, only screen and (max-width: 768px) {
#curriculum_main_img { width: 100%; padding: 4% 0%; }
#curriculum_main_img div #c_name { font-size: 23px; padding: 3px 0.5em; }
}

#caution { width: 100%; margin: 2em 0em; } #caution .inner { padding: 3em; margin: auto; }
#caution h2 { font-size: 1.3em; text-align: center; } #caution h3 { text-align: center; margin-bottom: 1em; }
#caution div { margin: 1em auto 2em auto; }
@media handheld, only screen and (max-width: 1200px) {
#caution .inner { width: 100%; padding: 5%;}
}

#fees { width: 100%; margin: 2em 0em; } #fees .inner { padding: 3em; margin: auto; background-color: #FFF;}
#fees .fees_title { width: 300px; background-color: #47517c; color: #FFF; text-align: center; border-radius: 20px;  border: #E0DDDD solid 2px; padding: 5px; margin: 0em auto 3em auto; }
#fees dl { background-color: #F6F4F2; font-size: 20px; border: #E0DDDD dotted 1px; border-top-style: none;  }
#fees dl, #fees dt , #fees dd { margin: 0; padding: 0; }
#fees dt, #fees dd { padding: 2%; }
#fees dt { font-size: 18px; width: 25%; text-align: center; clear: left; float: left; border-top: #E0DDDD dotted 1px; line-height: 1.3em; }
#fees dd { width: 75%; margin-left: 25%; text-align: right; background: #fff; border-left: #E0DDDD solid 1px ; border-top: #E0DDDD dotted 1px; }
#fees dd span { padding-left: 10px; }

@media handheld, only screen and (max-width: 1200px) {
#fees .inner { width: 100%; padding: 5%;}
#fees dl { width: 100%; }
}

@media handheld, only screen and (max-width: 768px) {
#fees dl { width: 100%; margin: 0px; padding: 0px; background-color: #F6F4F2; font-size: 20px; border: #E0DDDD dotted 1px; border-top-style: none;  }
#fees dt { width: 100%; display: block; float: none; }
#fees dd { width: 100%; display: block; margin-left: 0%; text-align: center; border-left: none; }
#fees .fees_title { width: 250px; margin: 0em auto 1em auto;}
#fees dd span { display: block; padding-left: 0px; font-size: 13px; }
}

.fees { width: 100%; margin: 0em; } .fees .inner { padding: 3em; margin: auto;}
.fees dl { background-color: #F6F4F2; font-size: 20px; border: #E0DDDD dotted 1px; border-top-style: none;  }
.fees dl, .fees dt , .fees dd { margin: 0; padding: 0; }
.fees dt, .fees dd { padding: 2%; }
.fees dt { font-size: 18px; width: 25%; text-align: center; clear: left; float: left; border-top: #E0DDDD dotted 1px; line-height: 1.3em; }
.fees dd { width: 75%; margin-left: 25%; text-align: right; background: #fff; border-left: #E0DDDD solid 1px ; border-top: #E0DDDD dotted 1px; }
.fees dd span { padding-left: 10px; }

@media handheld, only screen and (max-width: 1200px) {
.fees .inner { width: 100%; padding: 5%;}
.fees dl { width: 100%; }
}

@media handheld, only screen and (max-width: 768px) {
.fees dl { width: 100%; margin: 0px; padding: 0px; background-color: #F6F4F2; font-size: 20px; border: #E0DDDD dotted 1px; border-top-style: none;  }
.fees dt { width: 100%; display: block; float: none; }
.fees dd { width: 100%; display: block; margin-left: 0%; text-align: center; border-left: none; }
.fees .fees_title { width: 250px; margin: 0em auto 1em auto;}
.fees dd span { display: block; padding-left: 0px; font-size: 13px; }
}

@media handheld, only screen and (max-width: 768px) {
#fees dl { width: 100%; margin: 0px; padding: 0px; background-color: #F6F4F2; font-size: 20px; border: #E0DDDD dotted 1px; border-top-style: none;  }
#fees dt { width: 100%; display: block; float: none; }
#fees dd { width: 100%; display: block; margin-left: 0%; text-align: center; border-left: none; }
#fees .fees_title { width: 250px; margin: 0em auto 1em auto;}
#fees dd span { display: block; padding-left: 0px; font-size: 13px; }
}

#application { padding: 0% 0% 5% 0%;}

.bg_mwm { background-image: url(/img/d_red_bg.png); background-repeat: no-repeat; background-position: center top; background-size:cover;}

#headline_wbg { background-color: #FFF; padding: 4% 0% 3% 0%; }
#headline_wbg h2 { font-size: 1.8em; line-height: 1.2em; text-align: center; margin-bottom: 2%;}
#headline_wbg p { font-size: 1.2em; text-align: center; }
#headline_wbg span { display: block;}

#headline_dbbg { background-color: #2b314b;  color: #FFF;  padding: 4% 0% 3% 0%; }
#headline_dbbg h2 { font-size: 1.8em; line-height: 1.2em; text-align: center; margin-bottom: 2%;}
#headline_dbbg p { font-size: 1.2em; text-align: center; }
#headline_dbbg span { display: block;}

#feature { /*background-image: url(/img/about_bg_05.png);*/ padding: 2% 0%; background-repeat: no-repeat; background-position: center top; background-size:cover; }
#feature div { padding: 4% 0%; background-repeat: no-repeat; background-position: center top;  margin: auto; font-size: 1em; text-align: center; color: #FFF; }
#feature p { width: 66%; margin: auto; font-size: 1em; text-align: center; color: #FFF; margin-bottom: 2%; }
#feature p span { display: block;}

.summary { width: 100%;  overflow: hidden;  }
.summary .inner { padding: 4em 0% 4em 0%; margin: auto; }
.summary h2 { font-size: 25px; line-height: 1.4em; text-align: center; margin-bottom: 2em; }
.summary h3 { font-size: 25px; line-height: 1.4em; text-align: center; margin-bottom: 2em; }
.summary .icon { font-size: 3em; margin: auto; display: block; text-align: center; margin-bottom: 0.5em; color: #ccc; font-weight: normal; }
.summary p { text-align: center; margin-bottom: 3em;}
.summary p span { display: block; }

@media handheld, only screen and (max-width: 768px) {
.summary p span { display: inline; }
.summary .icon { font-size: 2.5em; margin: auto; display: block; text-align: center; margin: 0.5em 0%; }

.summary h2 { font-size: 20px; margin-bottom: 1em; }
.summary h3 { font-size: 18px; margin-bottom: 1em; }

}


#figure_01 { width: 100%; margin: 1em 0%; }
#figure_01 #fc_01 { width: 100%; background-color: #72799b; color: #FFF; padding: 0.3em 0.5em;  border-radius: 3px;font-size: 1.4em; }

#figure_02 { width: 100%; overflow: hidden; }
#figure_02_inner { margin: auto; }
#figure_02_inner img { width: 40%; /*float: left;*/ height: auto; margin: 0% auto 4% auto; padding: 0%; display: block; }
/*#figure_02_inner div { width: 55%; float: right; overflow: hidden; text-align: left; overflow: hidden;}*/
#figure_02_inner div div { width: 100%;  background-color: #F6F4F2; border: #E0D7CC solid 1px; height: auto; overflow: hidden; padding: 2%; margin-bottom: 2%;}
#figure_02_inner div div img { width: 30%; height: auto; float: left; margin: 0% 4% 2% 0%; }
#figure_02_inner div div h3 { font-size:1.2em; margin-bottom: 2%; float: left; }
#figure_02_inner div div p { width: 66%; margin: 0px; float: left; text-align: left; }

#point_list { width: 100%; overflow: hidden; }
#point_list ul { width: 100%; display: block; margin:auto;}
#point_list ul li { width: 32%;  margin-right: 2%; float: left; }
#point_list ul li:nth-child(3) { margin-right: 0%; }
#point_list ul li p { border-radius: 5px; text-align: center; padding: 5%; background-color: #f6f6f6;}
#point_list ul li p span { background-color: rgba(0, 0, 0, 0.3); border-radius: 20px; padding: 3px 20px 0px 20px; display:block; min-width: 100px ; color: #FFF; }
#point_list ul li p img { width: 80%; height: auto; display: block; margin: 40px auto 25px auto;}
#point_list h3 { font-size: 28px; line-height: 1.4em; margin-bottom: 6%; text-align: center; }

#mwm_option { background-color: #FFF; padding: 3%; overflow: hidden; margin: 2% 0%; border: #AEB4BA solid 1px;}
#mwm_option img { width:25%; height: auto; float: left; margin: 0px; }
#mwm_option div  { width: 72%; float: right; text-align: left; margin: 0px; }
#mwm_option div h4 { font-size: 1.2em; margin-bottom: 2%;}
#mwm_option div p { margin: 0px; text-align: left;}

#figure_03 { width: 60%; float: left; margin-bottom: 4%; }
#pm_naiyo { margin:0%; overflow: hidden; width: 100%; }
#pm_naiyo div { overflow: hidden; margin-bottom: 5px; font-size: 1em; }
#pm_naiyo h4 { float: left; margin-right: 10px; }
.pm_p_name { width: 35px; margin-right: 10px;  padding: 5px; background-color: #F6F4F2; color: #72799b ; display: inline-block;  text-align: center; border: 1px solid #E0D7CC; }
.naiyo { float: left; padding-top: 6px; font-weight: normal; }

#figure_04 { width: 35%; float: right; margin-bottom: 4%; }
#figure_04 img { width:100%; height: auto; margin-bottom: 1em; }
#figure_04 p { font-size: 1em; line-height: 1.4em; text-align: center;}

#figure_05 { clear: both; padding: 3%; border: #df2306 solid 1px; background-color: #FFF; }
#figure_05 img { width: 100%; height: auto; }
#figure_05 h3 { margin-bottom: 4%;  color: #72799b ; border: #E0D7CC solid 1px; background-color: #F6F4F2; padding: 1.5% 3% 1% 3%; text-align: left; line-height: 1em; }

#seve_info { width: 100%; padding: 4% 0% 4% 0%; overflow: hidden; text-align: center; }
#seve_info .inner { padding: 1% 3% 2% 3%; background-color: #FFF;}
#seve_info h2 { margin-bottom: 4%; }
.seve_info { width: 100%; overflow: hidden; margin-bottom: 0%; text-align: left; }
.seve_info img { width: 45%; float: left; margin-right: 2%; border: #e1e1e1 solid 1px; }
.seve_info div { width: 52%; float: right; text-align: left; }

#voice_area { padding: 4% 0% 4% 0%; background-color: #FFF; text-align: left; }

#for_an_application { padding: 4% 0% 4% 0%; }
#for_an_application a.btn { display: block;  width: 350px; text-align: center; font-size: 23px; margin: 0 auto 1em auto; }

#for_contact { padding: 4% 0% 4% 0%; text-align: center; }

#kaiko_sche_wrap { margin: 2em auto;}
#kaiko_sche_wrap h2 { font-size: 25px; line-height: 1.2em; text-align: center; margin-bottom: 2em; }


.kaiko_sche { width: 100%; padding: 0%; margin: 0em auto 2em auto; overflow: hidden;}
.heijitsu , .kyujitsu , .doyo { padding: 1%; margin-bottom:1%; }
.heijitsu p, .doyo p , .kyujitsu p { margin:0px;}
.nittei_wrap { width: 100%; overflow: hidden; margin-bottom: 15px; }
/*.sbox { width: 48%; float: left; margin: 0% 1% 0% 1%; }*/
.sbox { width: 100%; margin: 0% 1% 0% 1%; }
.sbox h3  { font-size: 25px; line-height: 1.5em; text-align: left; margin-bottom: 0.5em; border-bottom: 1px solid #990606;}
.sbox h3 .mini { display: block; font-size: 13px; font-weight: 500; line-height: 1.2em; margin-bottom: 1em;}
.tsuki { width: 18%; float: left; background-color: #B90800; color: #FFF; border: 1px solid #990606; padding-top: 8px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; }
.tsuki span:nth-child(1) { width: 100%; display: block; text-align: center; font-size: 28px; font-weight: 700; }
.tsuki span:nth-child(2) { width: 100%; display: block; font-size: 13px; text-align: center; }
.shosai { float: right; width: 80%; }
.shosai p { width: 99%; display: block; overflow: hidden; margin-bottom: 5px; }
.shosai p:nth-child(1) { border-bottom: #b8bdc9 solid 1px; }
.shosai p:nth-child(2) { clear: both; }
.shosai p span.kikan { float: left; display: block; }
.shosai p span.type { float: right; display: block;}
.shosai p span.kikan span { display: inline; font-size: 15px; font-weight: normal; }
.kikan { font-size: 20px; font-weight: 700;}
.type_heijitsu { color: #FFF; background-color: #345C91; text-align: center; padding-right: 10px; padding-left: 10px; }
.type_nichiyo { color: #FFF; background-color: #FF6666; text-align: center; padding-right: 10px; padding-left: 10px; }
.type_doyo { color: #FFF; background-color: #2E849E; text-align: center; padding-right: 10px; padding-left: 10px; }
.jikan { text-align: left; }
.jikan span { display: inline !important; font-size: 15px; font-weight: normal; }


@media screen and (max-width: 1200px) {
.contents_wrap .inner { width: 100%; padding: 4%; }
.summary .inner { width: 100%; padding: 4%; }

#curriculum_main_img { width: 100%; margin: auto; }
#curriculum_main_img img { width: 100%; height: auto; padding: 5% 5% 5% 5%;}
#curriculum_main_img h1 { padding-bottom: 5%; font-size: 1.4em;}

#page_menu { width: 100% !important; padding: 1em 1em 0.5em 1em; }
#page_menu ul li { margin-bottom: 0.5em; }

#headline_wbg, #headline_dbbg { padding: 5%; }
#headline_wbg h2, #headline_dbbg h2 { font-size: 1.4em; line-height: 1.2em; margin-bottom: 4%;}
#headline_wbg p, #headline_dbbg p { font-size: 1.1em; }

#feature div { width: 100%; padding: 5%; }

#kaiko_sche_wrap { width: 100%; margin: 2em auto;}
#kaiko_sche_wrap h2 { margin-bottom: 0em; }
.kaiko_sche { width: 100%; margin: 0px; }

#figure_02_inner { width: 100%; }
#for_contact { padding: 4em 5% 2em 5%; }

#curriculum_main_img #w_column { width: 100%; height: auto; margin: 0%; padding: 0%; }
#curriculum_main_img #w_column div { height: auto; }
#curriculum_main_img #w_column div p { height: auto; top: 5em; }
#curriculum_main_img #w_column div p span { font-size: 22px; line-height: 1.4em; }

#w_column { width: 100%; margin: 0% auto;  }

.kaiko_sche .sbox { width: 100%; }
.kaiko_sche .sbox h3 { margin-bottom: 1em; }
.kaiko_sche .sbox:nth-child(1) { margin-bottom: 2em; }
.tsuki { width: 100%; float: none; background-color: #B90800; color: #FFF; border: 1px solid #990606; padding-top: 8px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; }
.tsuki span:nth-child(1) { width: 100%; display: block; text-align: center; font-size: 20px; font-weight: 700; }
.tsuki span:nth-child(2) { line-height: 1.2em;}
.shosai { width: 100%; float: none; text-align: left; margin-top: 0.5em;}
}

@media screen and (max-width: 768px) {

#headline_wbg span, #headline_dbbg span { display: inline;}
#feature p { width: 100%; text-align:left; } #feature p span { display: inline;}
#feature_02 p { width: 100%; text-align:left; }

#figure_02_inner img { width: 80%; display: block; float: none; text-align: center; margin: 0 auto;}
#figure_02_inner div { width: 100%; }
#figure_02_inner div div { padding: 4%; background-color: #FFF; border: #AEB4BA solid 1px; }
#figure_02_inner div div img { width: 50%; float: none; margin: auto; margin-bottom: 6%; }
#figure_02_inner div div h3 { font-size:1.2em; float: none; text-align: left; color: #72799b; padding-bottom: 1%; border-bottom: #72799b dotted 1px; }
#figure_02_inner div div p { width: 100%; text-align: left;}
#figure_02 + ul { margin-top: 2em; }

.style_mgbg .inner h2 { margin-bottom: 4%; }
.style_mgbg .inner h4 {color: #72799b; padding-bottom: 1%; border-bottom: #72799b dotted 1px;}
.style_mgbg .inner p { text-align: left; margin: 0%;}
#mwm_option { padding:4%; text-align: center; }
#mwm_option img { width: 50%; float: none; margin: auto; margin-bottom: 6%;}
#mwm_option div  { width: 100%; text-align: left; margin: 0px; }

#figure_03 { display: none; }

#figure_04 { width: 100%; margin-bottom: 6%; text-align: center; }
#figure_04 img { width: 70%; height: auto; margin: auto; }
#figure_04 p { font-size: 1em; line-height: 1.4em; margin-top: 2em ; }

#figure_05 { clear: both; padding: 3%; border: #df2306 solid 1px; background-color: #FFF; }
#figure_05 img { width: 100%; height: auto; }
#figure_05 h3 { margin-bottom: 4%;  color: #72799b ; border: #E0D7CC solid 1px; background-color: #F6F4F2; padding: 1.5% 3% 1% 3%; text-align: left; line-height: 1em; }

#seve_info { width: 100%; padding: 0% 0% 0% 0%; }
#voice_area { padding: 0% 0% 4% 0%; background-color: #EBECED ; }

.summary h2.title_01 { font-size: 1.2em; }
.jikan { text-align: left !important; display: block !important; }
}

@media screen and (max-width: 767px) {
#point_list ul li { width: 300px; float: none; margin: 0% auto 2em auto;}
#point_list ul li:nth-child(3) { margin-right: auto; }
#point_list ul li img { width: 100%; height: auto; display: block; margin: 0px auto 2em auto;}
#point_list h3 { font-size: 28px; line-height: 1.4em; margin: 2em 0em; text-align: center; }
}

@media screen and (max-width: 640px) {
.summary p { text-align: left;}
#for_an_application a.btn { width: 100%; }

#curriculum_main_img #w_column { width: 100%; height: auto; margin: 0%; padding: 3%; }
#curriculum_main_img #w_column img { width: 100%; float: none; margin: 0%; padding: 0%; }
#curriculum_main_img #w_column div { width: 100%; height: auto; float: none; }
#curriculum_main_img #w_column div p { height: auto; position: relative; top: 0; margin: 4% auto;}
#curriculum_main_img #w_column div p span { font-size: 20px; line-height: 1.4em; display: inline; }
#w_column img { width: 100%; }
#w_column div { width: 100%; }
#page_menu h2 { width: 100%; padding-top: 0px; }
#page_menu h2:after { content: "\e40";font-family: 'icomoon'; display:block; font-size:20px; margin: 0.5em 0em; font-weight: normal;}
#page_menu ul { display:none;  width: 100%; }
.page_menu_fixed { position: fixed; top: 0; z-index: 4; background-color: rgba(89,108,134,0.65); }
}

@media screen and (max-width: 620px) {
.seve_info img { width: 100%; margin-right: 0%; }
.seve_info div { width: 100%; margin-top: 4%; }
#point_list h3 { font-size: 23px; }

}
@media screen and (max-width: 480px) {
#point_list ul li { width: 100%; }
#point_list ul li p { width: 70%; margin: 0 auto 2em auto; }
#point_list ul li img { width: 100%; margin: 0px;}
}

/*--------------------　感想エリア　共通  --------------------*/

#voice_text { margin-bottom: 40px; width: 49%; float: left; }
#voice_text p { margin-bottom: 1.5em; }
#voice_text:nth-child(odd) { margin-right: 2%; }
.v_block { border: 1px solid #E0D7CC; padding: 20px; overflow: hidden; background-color: #FFF; text-align: left !important; }
.v_block img { display: block; width: auto; margin: 0em auto 1em auto; }
.v_block .orange { display: inline; } .v_block .pink { display: inline; }
.summary .v_block { margin-bottom: 1em; }
 @media screen and (max-width: 1023px) {
#voice_text { margin-bottom: 0px; width:100%; float: none;  }

#voice_text:nth-child(2n) { margin-right: 0%; }
}　


/*--------------------　請求エリア  --------------------*/

#req_btn { overflow: hidden; width: 102%; margin-right: -2%; }
#req_btn a img { float: left; width: 48%; margin-right: 2%; }
@media screen and (max-width: 720px) {
#req_btn { overflow: hidden; width: 100%; margin-right: 0%; }
#req_btn a img { float: left; width: 100%; margin-right: 0%; margin-bottom: 2%; }
#req_btn a #rec_btn_d { margin-bottom: 0%; }
}

/*--------------------　申し込みの流れ  --------------------*/

#appl_step { background-color: #FFF; padding: 1em; margin-top: 1.5em; }
#appl_step h5 { background-color: #e9eaee; border: 1px solid #47517e; padding-top: 1%; padding-right: 2%; padding-bottom: 1%; padding-left: 2%; color: #47517e; }
#appl_step h6 { margin-top: 1em; overflow: hidden; border-bottom: 1px solid #47517e; padding-bottom: 0.5em; }
#appl_step h6 span:nth-child(1) { float: left; width: 10%; display: block; background-color: #47517e; color: #FFF; margin-right: 3%; text-align: center; }
#appl_step h6 span:nth-child(2) { float: right; width: 86%; display: block; font-weight: normal; line-height: 1.3em; }

#appl_step p { margin-top: 3%; }


/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////　Lifeコース　*/
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/

/*#life_summary , #life_summary ul { margin-bottom: 6%; overflow: hidden; }
#life_summary ul li { width: 20%; padding: 20px ; margin: 0% 2.5%; text-align: center; background-color: #FFF; display: inline-block; float: left; color: #1F2229; }
#life_summary ul li span { display: block; }
#life_summary ul li span:nth-child(1) { font-size: 18px; font-weight: 700; }
*/

table.life_summary { width: 100%; border-collapse: collapse; margin-bottom: 3em; }
.life_summary th, .life_summary td  { padding: 5px; border: 1px solid #f0c047; }
.life_summary th { background: #e3b235; color: #FFF; font-weight: 700; } .life_summary th:before { content:"■ "; font-size: 23px; color:#c08435; }
.life_summary th { width: auto; text-align: left; }
.life_summary td { width: auto; text-align: center; }

@media only screen and (max-width: 640px) {
  .life_summary tr {
    display:block;border: 1px solid #f0c047;
    margin-bottom: 10px;
  }
  .life_summary th {
    display:block;
    width: 100%;
  }
  .life_summary td {
    display: list-item; text-align: left;
    width: 100%;
    margin-left: 10%;
    border:none;
  }
}

.lc_05_box { width: 100%; overflow: hidden; margin-bottom: 30px;}
.lc_05_box p { line-height: 1.6em; margin:auto; position:relative;}
.kogi_no { float: left; height: 100px; width: 100px; font-size: 1em; color: #FFF; font-weight: 700; background-color: #e3b235; text-align: center; margin-right: 30px; background-image: url(/img/list_icon.png); background-repeat: no-repeat; background-position: center 65px; line-height: 1em; padding: 10px; }
.kogi_no .mini { font-size: 0.8em; margin-top: 5px; display: block; font-weight: normal; color: #2f343f; }
p.arrow_box { text-align: left; }
.arrow_box { position: relative; float: right; width: 84%; padding: 20px; background-color: #FFF; text-align: left; }
.arrow_box:after, .arrow_box:before { right: 100%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; }
.arrow_box:after { border-color: rgba(224,215,204,0.0); border-right-color: #FFF; border-width: 20px; top: 30%; margin-top: -20px; }

#life_Category_tab ul.tab li { float: left;}

#life_c_box { background-image: none; width: 31.3%; min-height: 290px ; max-height: 1000px ; margin-bottom: 2%; margin-right: 1%; margin-left: 1%; overflow: hidden; float: left; background-color: #f4f9fc; padding: 10px 10px 5px 10px; }
#life_c_box h3 { font-size: 20px; line-height: 1.2em; text-align: center; margin-bottom: 1em; }
#life_c_box h3 span { font-size: 14px; font-weight: normal; display: block; line-height: 1.4em; margin-top: 0.5em;}
#life_c_box h3 .mini { display: inline; }
#life_c_box_inner { padding: 3%; margin: 0px; width: 100%; overflow: hidden; }
#life_c_box_inner p { overflow: hidden; margin-top: 10px; padding-top: 10px; text-align: left; border-top-width: 4px; border-top-style: double; border-top-color: #a5a5a5; margin-bottom: 0em; }
#life_c_box_inner p a img { width: 20%; float: left; margin: 0% 2% 0% 0%; }
.name_and_mobtn { width: 75%; display: block; float: left;}
.name_and_mobtn span { display: block; cursor:pointer;}
.name_and_mobtn span:nth-child(2) { display: block; padding: 1px; text-align: center; border-radius:10px; border: #ccc solid 1px; }
.name_and_mobtn span:hover { color: #666; }
.name_and_mobtn a { color: #666; }

.life_category { height: 32px; margin: 0px 0px 20px 0px; position: relative; }
.life_category:after { content: ' '; position: absolute; width: 100%; height: 1px; display: inline-block; background-color: #b8bdc9; left: 0px; z-index: 1; top: 15px; }
.life_category span { width:130px; height: 32px; text-align: center; padding: 3px 5px 3px 5px; position: absolute; z-index: 2; top: 0; left: 0;right: 0;bottom: 0;margin: auto; }

#life_timeline .arrow_box { text-align: left; }
#life_Category_tab { width:100%;}
#life_Category_tab ul { width:100%; margin-bottom: 5%;}
#life_Category_tab ul li { position: relative; top: 0px; color: #FFF; width:23% ;border-radius: 3px; padding: 0.3em 0.5em; margin: 0% 1% 2% 1%; transition: All 250ms ease; cursor: pointer; }
#life_Category_tab ul li span { width:100%; text-align: center; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#life_Category_tab ul li:nth-child(1) { background-color: #fb951c; box-shadow: 0px 5px 0px #a46500;}
#life_Category_tab ul li:nth-child(2) { background-color: #f5367f; box-shadow: 0px 5px 0px #ae0b54;}
#life_Category_tab ul li:nth-child(3) { background-color: #2079b1; box-shadow: 0px 5px 0px #074569;}
#life_Category_tab ul li:nth-child(4) { background-color: #88cb1c; box-shadow: 0px 5px 0px #367a08;}
#life_Category_tab ul li:hover { opacity: 0.8; }
#life_Category_tab ul li:active { position: relative; top: 5px; box-shadow: none !important; transition: All 250ms ease; }

#life_Category_tab ul li:nth-child(1).select { background-color: #ea8600; }
#life_Category_tab ul li:nth-child(2).select { background-color: #d51f71; }
#life_Category_tab ul li:nth-child(3).select { background-color: #16608f; }
#life_Category_tab ul li:nth-child(4).select { background-color: #4b9d15; }

.bg_red { background-color: #C21808; color: #FFF; }
.bg_orange { background-color: #fb951c; color: #FFF; }
.bg_yellow { background-color: #FFBF00; color: #FFF; }
.bg_blue { background-color: #2079b1; color: #FFF; }
.bg_pink { background-color: #f5367f; color: #FFF; }
.bg_green { background-color: #88cb1c; color: #FFF; }

@media screen and (max-width: 1200px) {
#life_summary ul li { width: 48%;  padding: 2%; margin: 0% 1% 2% 1%; text-align: center; display: inline-block; float: left; color: #1F2229; }
.lc_05_box { width: 100%; overflow: hidden; margin-bottom: 30px; }
.lc_05_box p { line-height: 1.6em; margin:auto; position:relative;}
.kogi_no { float: none; margin: 0 auto; margin-bottom: 40px; font-size: 1em; line-height: 1em; }


.arrow_box { float: none; width: 100%; padding: 1em; }
.arrow_box:after, .arrow_box:before { top: 100%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; }
.arrow_box:after { border-color: rgba(224,215,204,0.0); border-right-color: #FFF; border-width: 20px; top: 0%; margin-top: 0px; }
.arrow_box {
  position: relative;
  background: #ffffff;
}
.arrow_box:after {
  bottom: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(255, 255, 255, 0);
  border-bottom-color: #ffffff;
  border-width: 20px;
  margin-left: -20px; top: 0%; margin-top: -40px;
}

}
@media screen and (max-width: 768px) {
#life_c_box { width: 48%; }
}
@media screen and (max-width: 640px) {
#life_c_box { width: 100%; }
.sp_text_a_left { text-align: left !important;}
}


/*///////////////////////////////////////////////*/
/*/////////////////   access              　　　 */
/*///////////////////////////////////////////////*/

#map_list  { margin-bottom: 5%; }
#map_list a { font-weight: normal; }
#map_list a:before { font-family: 'icomoon'; content: "\e40"; margin-right:10px;}
.map_wrap { margin-bottom: 100px; }
.map_wrap h2 { margin-bottom:20px; background-image: url(../img/bgtx05.png); background-repeat: repeat-y; padding-left: 20px; height: 40px; padding-top: 8px; background-color: #F4F1EE; }
.map_wrap h3 { clear: both; border-left-width: 5px; border-left-style: solid; border-left-color: #CCC; margin-bottom: 20px; padding-left: 20px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #CCC; }

.address img { float: left; margin-right: 30px; }
.address p { float: left; }
.address { margin-top: 30px; margin-bottom: 30px; overflow: hidden; }

#close { width: 100%; margin-right: auto; margin-left: auto; }
#close a  { text-align: center; padding: 2%; background-color: #72799b; display: block; margin-right: auto; margin-left: auto; color: #FFF; margin-bottom: 0px; }
#close a:hover { background-color: #47517e; }


/*///////////////////////////////////////////////*/
/*/////////////////   About  &   OPS  &　event   */
/*///////////////////////////////////////////////*/


hr.style-nine { padding: 0; color: #CCC; text-align: center; margin-top: 30px; height: 30px; width: 100%; border-top-width: medium; border-top-style: double; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: #b8bdc9; clear: both; }

#con_left  { margin-bottom: 30px; width: 30%; }
#con_left  { float: left; }
#con_right { width: 55%; float: right; text-align: right; }
#con_right img { width: 100%; margin-bottom: 3%; height: auto; }

#con_right_ops { float: right; }
#con_right_ops img { width: 320px; float: right; margin-bottom: 3%; }

#con_320 img { width: 320px; float: left; margin-top: 3%; margin-right: 3%; padding: 0px; margin-bottom: 0px; }
#con_text { width: 60%; float: left; padding-right: 3%; }

#op_plan_list { margin-bottom: 10px; margin-top: 20px; font-size: 0.8em; }
#op_plan_list li { overflow: hidden; border-bottom-width: 1.5px; border-bottom-style: dotted; border-bottom-color: #CCCCCC; padding-top: 5px; border-left-width: 10px; border-left-style: solid; border-left-color: #CCCCCC; padding-left: 10px; margin-top: 5px; margin-bottom: 5px; }

.p_list_t { width: 25%; font-size: 16px; display: inline-block; }
.p_list_c { width: 25%; font-size: 16px; display: inline-block; text-align: right;}

@media screen and (max-width: 1000px) {
.p_list_t { width: 60%; }
.p_list_c { width: 40%; }
}
@media screen and (max-width: 768px) {
#save_img, #save_img img { width: 100%; }
}
@media screen and (max-width: 768px) {
#con_left  { width: 100%; }
#con_right { width: 100%; }
#con_right_ops { float: none; text-align: center; }
#con_right_ops img { margin-right: auto; margin-left: auto; float: none; }
#con_text { width: 100%; float: none; padding-right: 0%; }
#con_320  { width: 100%; text-align: center; }
#con_320 img { margin-right: auto; margin-left: auto; float: none; }
}

@media screen and (max-width: 350px) {
#con_right_ops img, #con_320 img { width: 100%;  }
}


.time_sch { background-color: #EBF4F6; border-bottom: 1px solid #CCC; border-left: 1px solid #CCC; border-right: 1px solid #CCC; }
.time_sch div { border-top: 1px solid #CCC; overflow: hidden; width: 100%; position: relative; display: table; }
.time_sch div .time { font-size: 20px; font-weight: 700; background-color: #72799b; width: 20%; text-align: center; vertical-align: middle; margin: auto; top: 0px; color: #FFF; display: table-cell; padding: 5px; }
.time_sch div p { font-size: 18px; display: table-cell; margin: 0px; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; }
.time_sch div p span.time_con { display: block; }
.time_sch div p span.time_con > span { display: block; text-indent: -1em;  padding-left: 1em; line-height: 1.3em; }
.bb { background-color: #EBF4F6; }
.yb { background-color: #FFC; }
.rb { background-color: #FCC; }
.wb { background-color: #FFF; }

@media screen and (max-width: 768px) {
  .time_sch div .time { padding: 5px; display: block; width: 100%; font-size: 18px; font-weight: normal; }
  .time_sch div p { width: 100%; display: block; }
  .time_sch div p span.time_con > span { margin-bottom: 0.5em; }
}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////　footer　*/
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/

footer { background-color: #ffffff; }

#footer_wrap { padding: 4em 0em; }
#footer_wrap .footer_flex_wrap { display: flex; padding: 0em; }
#footer_wrap .footer_flex_wrap .f_box_40 { width: 30%; padding-right: 3em; }
#footer_wrap .footer_flex_wrap .f_box_60 { width: 70%; }
#footer_wrap #footer_sitelogo img { width: 250px; }

#footer_wrap .footer_flex_wrap:nth-child(2) { flex-direction: row-reverse; }

#footer_wrap .footer_flex_wrap #sns ul { display: flex; gap: 1em; }
#footer_wrap .footer_flex_wrap #sns ul li a img { width: auto; height: 35px; }

#f_contact_area { padding: 0em 0em 2em 0em; }
#f_contact_area a { color: var(--text);}
#f_contact_area #contact_link { font-size: 13px; border: #dcdbda solid 1px; padding: 0.2em 0.5em; margin-bottom: 1em; display: block; width: 15em; text-align: center; }
#f_contact_area #contact_kobe { font-size: 15px; font-weight: normal; margin-bottom: 2em; }
#f_contact_area #contact_kobe span { display: block; line-height: 1.6em; }

#footer_box { background-color: #f31540; padding: 0em; color: #FFF; }
#footer_box .l_inner { display: flex; justify-content: space-between; flex-direction: row-reverse; align-items: center; margin: 0em auto; padding: 1em 0em; }
#footer_box .l_inner p { margin-bottom: 0em; }
#footer_box .l_inner #copyright { display: block; font-size: 12px; }
#footer_box .l_inner div:nth-child(2) { text-align: right; display: flex; }
#footer_box .l_inner a { line-height: 1.3em; padding: 0.3em 0em; color: #FFF; }
#footer_box .l_inner #cookie_setting { margin-bottom: 0em; }
#footer_box .l_inner #cookie_setting a { font-size: 12px; font-weight: normal; }
#footer_box .l_inner #cookie_setting a:nth-child(1) { margin-right: 1em; }

#site_map_box_wrap { width: 100%; overflow: hidden; font-size: 15px; z-index: 3; }
#site_map_box_wrap a { color: #FFF; font-weight: normal; } 
#site_map_box_wrap .contents { padding-bottom: 0px; }

#site_map_box { width: 100%; } 
#site_map_box a { color: var(--text); font-weight: normal; font-size: 0.9em;  }

#site_map_01 { margin: 0em 0em 3em 0em; }
#site_map_01 ul { display: flex; justify-content: space-between; flex-wrap: wrap; }
#site_map_01 ul li { width: 25%; border-right: #dcdbda solid 1px; } 
#site_map_01 ul li a { width: 100%; font-size: 0.9em; text-align: center; position: relative; display: inline-block; transition: .3s; }
#site_map_01 ul li a span { font-weight: bold; } 
#site_map_01 ul li:nth-child(1) a { border-left: #dcdbda solid 1px;}

#bc_wrap { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: stretch; } 

#bc_wrap ul li a { display: flex; align-items: center; gap: .75em; transition: transform .35s cubic-bezier(.22,1,.36,1), color .35s cubic-bezier(.22,1,.36,1); will-change: transform; }
#bc_wrap ul li a::before { content: "›"; flex-shrink: 0; color: #F31540; font-size: 1.6em; line-height: 1; transform: translateY(-.09em);}
#bc_wrap ul li a:hover { transform: translateX(4px); }

#bc_wrap ul li a span { display: block; flex: 1; }

#site_map_02 { border: #dcdbda solid 1px; border-radius: 10px;}
#site_map_02 div { width: 100%; padding: 0.4em; font-weight: 700; border-bottom: #dcdbda solid 1px; text-align: center; }
#site_map_02 div span:nth-child(1) { width: 100%; display: inline; padding-top: 1em;  }
#site_map_02 ul { width: 100%; padding: 1em; }
#site_map_02 ul li a { padding: 0.3em 0em; display: flex; justify-content: space-between; }

#site_map_02 { width: 65%; }
#site_map_03 { width: 32%; } 
#site_map_03 ul li a { display: flex; justify-content: space-between; padding: 0.4em 0em; border-bottom: #dcdbda solid 1px; }

@media screen and (max-width: 1200px) {
  #bc_wrap { display: block; } #site_map_03, #site_map_02 { width: 100%; }
  #site_map_02 { margin: 1em 0em 1.25em 0em; }
}

@media screen and (max-width: 768px) {
  #footer_wrap { padding: 1em 0em ; }
  #footer_wrap .footer_flex_wrap { display: block; }
  #footer_wrap .footer_flex_wrap .f_box_40 { width: 100%; padding-right: 0em;  }
  #footer_wrap .footer_flex_wrap .f_box_60 { width: 100%; }
  #footer_wrap #footer_sitelogo img { width: 98%; margin: 1.5em auto 2em auto; }
  #f_contact_area { padding: 4em 0em 2em 0em; margin: 0em; }
  #site_map_01 { margin: 0em; }
  #site_map_03 ul li a { padding: 0.5em 0em; width: calc(100% - 2em); margin: 0 auto; }
  #f_contact_area #contact_kobe { text-align: center; }
  #f_contact_area #contact_link { margin: 0em auto 1em auto; }
  #site_map_box_wrap .contents { width: 100%; margin: 0em; }
  #footer_wrap .footer_flex_wrap #sns ul { justify-content: center; margin-bottom: 2em; }
  #footer_box .l_inner { padding: 1em; display: block; text-align: center; font-size: 15px; }
  #footer_box .l_inner p { margin-bottom: 1em; }
  #footer_box .l_inner #copyright { text-align: center;font-size: 13px; font-weight: normal; }
}

@media screen and (max-width: 520px) {
  #site_map_box_wrap { padding-top: 0em; } 
  #site_map_01 { margin: 0em 0em 0em 0em; }
  #site_map_01 ul li { width: calc(50% - 0.25em); margin: 0.25em 0em; padding: 0.2em; border: #dcdbda solid 1px; }
  #site_map_01 ul li:nth-child(1) a { border-left: #b5bbd0 solid 0px; }
}
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*/////////////////      google-maps  */
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/

@media screen and (max-width: 1200px) {
.google-maps { position: relative; padding-bottom: 75%; height: 0; overflow: hidden; margin: 0px; }
.google-maps iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }
}

#cse-search-box input { padding:2px; font-size: 18px; border: #c1c1c1 solid 1px; }

/*///////////////////////////////////////////////*/
/*/////////////////     form               　    */
/*///////////////////////////////////////////////*/

#form_box { border: 1px solid #47517e; overflow: hidden; padding: 3%; }
#form_box div { overflow: hidden; margin-bottom: 3px; }
.form_h01 { display: block; text-align: center; color: #FFF; font-weight: 700; border: 1px solid #47517e; padding: 0.5em ; margin-bottom: 0.5em; clear: both; font-size: 1.1em;  background-color: #72799b;  }
.form_h02 { display: block; margin-bottom: 2px; float: left; padding-top: 1.5%; padding-right: 1%; padding-bottom: 1%; padding-left: 2%; width: 23%; margin-right: 1%; min-height: 58px; height: auto; font-weight: normal; color: #FFFFFF; background-color: #72799b; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 5px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #72799b; border-right-color: #72799b; border-bottom-color: #72799b; border-left-color: #AEB4BA; }
.form_input { width: 76%; float: right; display: block; background-color: #FFF8EE; min-height: 57px; height: auto; padding: 1%; border: 1px solid #EEE0CB; }
.form_input2 { background-color: #fff8ee; border: 1px solid #eee0cb; display: block; float: right; min-height: 52px; padding: 1%; width: 76%; }

.form_input input { padding: 1%; border: 1px solid #E0D7CC; margin-right: 10px; font-size: 1.1em; width: 70%; background-color: #FFF;}
.form_input2 input { padding: 1%; border: 1px solid #E0D7CC; margin-right: 10px; font-size: 1.1em; width: 70%; background-color: #FFF;}
.form_input2 input[type=radio] { display: inline; width: 20px; }
.form_input2 input[type='text'] { font-size: 1.1em; margin-right: 10px; width: 200px; }

select { box-shadow: 1px 1px 1px rgba(0,0,0,0.05);
outline: none; -moz-appearance: none; text-indent: 0.01px;
text-overflow: ''; vertical-align: middle; font-size: inherit; color: inherit;
-webkit-appearance: button; -moz-appearance: button; appearance: button;
appearance: none; -webkit-appearance: none; -moz-appearance: none;
height: 40px;
border: 1px solid #ddd; color: #5B6B83; width: 100%; border-radius: 3px; background-color: #F6F4F2; background-image: url(/img/select_btn_arrow.png); background-repeat: no-repeat; background-position: right; margin-bottom: 5px; padding-top: 8px; padding-right: 12px; padding-bottom: 8px; padding-left: 12px; }
select:hover { background-color: #E7E5E3; }
select option { background-color: #fff; color: #2f343f; }
select::-ms-expand { display: none; }
select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #828c9a; }

#select_needs { background-color: #fcffe4; }


.select-wrap { position:relative; }

#form_box select { height: 39px; margin-bottom: 0px; }

label { display: inline;}
textarea {  font-size: 1.2em; border: 1px solid #D6C6B0; background-color: #FFF; }

#mail_add input { width: 30%; }
#job input { font-size: 1.1em; }
form_input_gazo { width: 76%; float: right; display: block; background-color: #FFF8EE; height: auto; padding: 1%; border: 1px solid #EEE0CB; }
.form_input_gazo input { padding: 1%; border: 1px solid #E0D7CC; margin-right: 10px; font-size: 1.1em; width: 70%; }
.sel_sub { width: 40%; display: block; }
.form_txt { width: 76%; display: block; float: right; }
.form_button { border: 1px solid #E0DDDD; display: block; padding: 1em 1em 0.8em 1em; margin-top: 3%; background-color: #FFF8EE; }
.form_button button:active { position: relative; top: 5px; box-shadow: none !important; transition: All 250ms ease; }
.form_button button { font-size: 1.2em; width: 60%; background: #b60018; font-weight: 700; color: #fff; display: block; padding:0.3em; border-radius: 5px; box-shadow: 0px 5px 0px #a01b1b; text-shadow: rgba(0,0,0,.5) 0px -1px 0px; border-top: 1px solid #a01b1b; border-left: 1px solid #a01b1b; border-right: 1px solid #a01b1b; border-bottom: 1px solid #CC082D; margin: 0px auto 0.5em auto; }
.form_button button:hover { background: #af1311; }
.form_button input:active { position: relative; top: 5px; box-shadow: none !important; transition: All 250ms ease; }
.form_button input { font-size: 1.2em; width: 60%; background: #b60018; font-weight: 700; color: #fff; display: block; padding:0.3em; border-radius: 5px; box-shadow: 0px 5px 0px #a01b1b; text-shadow: rgba(0,0,0,.5) 0px -1px 0px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #a01b1b; border-right-color: #a01b1b; border-bottom-color: #CC082D; border-left-color: #a01b1b; margin: 0px auto 0.5em auto; }
.form_button input:hover { background: #af1311; }

#captcha_code { margin-bottom: 10px; width: 100%; padding: 2px; font-size: 25px; }

.ui-tooltip, .arrow:after { background:rgba(91,107,133, 0.95) !important; border: 1px solid #AEB4BA; }
.ui-tooltip { padding: 10px 20px; color: white !important; border-radius: 20px !important; font-size: 14px; text-transform: uppercase; }
.arrow { width: 70px; height: 16px; overflow: hidden; position: absolute; left: 50%; margin-left: -35px; bottom: -16px; }
.arrow.top { top: -16px; bottom: auto; }
.arrow.left { left: 20%; }
.arrow:after { content: ""; position: absolute; left: 20px; top: -20px; width: 25px; height: 25px;
-webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
.arrow.top:after { bottom: -20px; top: auto; }

#seek_category { width: 100%;  display: block; }

input[type=checkbox] { display: none; -webkit-appearance: checkbox; }
.checkbox { margin: 0.2em 0.1em 0.2em 0em; padding: 0.8em 0.8em 0.8em 2.5em; line-height: 1em; position: relative; display: inline-block; border-radius: 8px; background-color: #f6f7f8; vertical-align: middle; -webkit-transition: background-color 0.2s linear; transition: background-color 0.2s linear; cursor: pointer; }
.checkbox:after { position: absolute; top: 50%; left: 0.5em; display: block; margin-top: -10px;width: 16px;height: 16px; border: 2px solid #bbb; border-radius: 6px;content: '';-webkit-transition: border-color 0.2s linear;transition: border-color 0.2s linear; }
.checkbox:before { position: absolute; top: 50%; left: 0.9em; display: block; margin-top: -7px; width: 5px; height: 9px; border-right: 3px solid #5B6B83; border-bottom: 3px solid #5B6B83; content: ''; opacity: 0; -webkit-transition: opacity 0.2s linear;transition: opacity 0.2s linear; -webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg); }
input[type=checkbox]:checked + .checkbox:before { opacity: 1; }
.checkbox:hover { background:rgba(91,107,133, 0.3) } .checkbox:hover:after { border-color: #5B6B83; }

.cat_green_01 { background-color: #40cf8d; }
.cat_green_02 { background-color: #3ea645; }
.cat_green_03 { background-color: #69a63d; }

.cat_pink_01 { background-color: #ee5a81; }
.cat_pink_02 { background-color: #ee5a5f; }
.cat_pink_03 { background-color: #e03e61; }

.cat_orange_01 { background-color: #ff733f; }
.cat_orange_02 { background-color: #ff933f; }
.cat_orange_03 { background-color: #ffc23f; }

.cat_blue_01 { background-color: #71cdde; }
.cat_blue_02 { background-color: #71a2de; }
.cat_blue_03 { background-color: #497ecc; }
.cat_blue_04 { background-color: #6bbeb7; }

.cat_purple_01 { background-color: #7b87c6; }
.cat_purple_02 { background-color: #997cc7; }
.cat_purple_03 { background-color: #a87cc7; }

.cat { padding: 0.5em 0.5em 0.5em 2.3em; width: auto;  color: #FFF; }
.cat:after { border: 1px solid #FFF; left: 0.4em; }
.cat:before { border-right: 2px solid #FFF; border-bottom: 2px solid #FFF; left: 0.8em; }
.cat:hover:after { border-color: #aaaaaa; }
.cat:hover { background:rgba(91,107,133, 1); cursor: pointer; }


#teikan { width: 100%; height: 400px; overflow-y: scroll;  display: block; border: #CCC solid 2px; }
#checkbox_wrap { width: 250px; text-align: center; font-weight: 700; margin: 2em auto;  }
.chkbox input { text-align: center; display: block; margin: auto;}
label.checkbox_text {cursor : pointer;position: relative;padding-left : 25px;margin-right : 20px;overflow : hidden;position : relative;padding-left : 25px;display: inline-block;}
label.checkbox_text:before {content : '';position : absolute;width : 20px;height : 20px;left : 0px;top: 0;border : 1px solid #B3B3B3;z-index : 3;}
label.checkbox_text:after {content: '';position : absolute;top: 40%;left: 6px;display : block;margin-top : -8px;width: 8px;height: 12px;border-right: 3px solid #D65;border-bottom : 3px solid #D65;transform : rotate(45deg);-webkit-transform : rotate(45deg);-moz-transform : rotate(45deg);z-index : 1;}
label.checkbox_text input[type="checkbox"] {-moz-appearance: none;-webkit-appearance: none;position : absolute;left : -40px;width: 20px; height: 20px;display: block;box-shadow : 41px 0px #FFF;z-index: 2;margin: 0px;padding: 0px;}
label.checkbox_text input[type="checkbox"]:checked {box-shadow : none;}
label.checkbox_text input[type="checkbox"]:checked:focus {box-shadow : 40px 0px #666; opacity: 0.1;}
label.checkbox_text input[type="checkbox"]:focus {box-shadow : 41px 0px #EEE;}
#teikan pre {
white-space: pre-wrap;
word-wrap: break-word;
font-family: Open Sans, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "ヒラギノ角ゴシック", Meiryo, sans-serif;
}

.focus { background: #ffc0cb; }

@media screen and (max-width:   1200px) {

#form_box  { background-color: #FFFFFF; padding: 0%; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; }
.form_input input { width: 100%; font-size: 1.5em; padding: 2%; line-height: 1.3em; }
.form_h01 { background-color: #FEFEFE; border: none; color: #BBAB93; margin: 0em; margin-bottom: 0.5em; padding: 0em; }
.form_h01:before { content:"■ ";}.form_h01:after { content:" ■";}
.form_h02 { float: none; width: 100%; height: auto; min-height: auto; background-image: none; padding: 2%; font-size: 1.3em; }
.form_input { width: 100%; height: auto; }
.form_input2 { width: 100%; height: auto; }

.form_input_gazo { width: 100%; height: auto; background-color: #FEF3E1; }
#mail_add input { width: 100%; }

select { -webkit-appearance: none; padding: 5px; width: 100%; background-color: #FFFFFF; font-size: 1.1em; }
.form_txt { width: 100%; }

.sel_sub { width: 100%; display: block; float: right; }

.form_input input { background-color: #FFFFFF; float: left; margin-right: 10px; font-size: 1.1em; width: 70%; padding: 5px; }
.form_button input  { width: 100%; padding: 10px; height: auto; }
#mail_add input {  width: 100%; }
#mail_add { height:100px; }
#job { height: 60px; }

#mail_add { height:auto; }
#job { height:auto; }
#atmark { font-size: 24px; font-weight: 700; display: block; text-align: center; }

}

@media screen and (max-width:  640px) {
.form_input input { width: 100%; }
.form_input2 input[type='text'] { margin-right: 0px; width: 100%; }
}


#telephone_numbers { clear: both;  padding-top: 10px; font-size: 15px; margin: 3em 0px; }
#telephone_numbers li { list-style-type: square; list-style-position: inside; }
#telephone_numbers li span { display: inline-block; width: 260px; text-align: right; }
#telephone_numbers li span:nth-child(1) { border-left-width: 0px; border-left-style: solid; border-left-color: #FFFFFF; padding-left: 0px; text-align: left; }
#telephone_numbers li span .sp_tel { color: #2f343f; }
#telephone_numbers li .fg { margin-left: 2em;}
#telephone_numbers li span:before { margin-right: 1em; }

@media screen and (max-width:   1200px) {
#telephone_numbers li span .sp_tel { color: #36F; }
}

@media screen and (max-width:  720px) {
#telephone_numbers { clear: both; padding-top: 10px; font-size: 1em; width: 100%; }
#telephone_numbers li { width: 100%; text-align: left; overflow: hidden; margin-bottom: 3%; display: block; padding-left: 15px; background-image: url(/img/linkhead.png); background-repeat: no-repeat; background-position: 0px 8px; line-height: 1.5em; }
#telephone_numbers li span { float: left; width: auto; text-align: left; }
#telephone_numbers li span:nth-child(1) { padding-left: 0px; width: 95%; float: none; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #b8bdc9; margin-bottom: 3px; font-weight: 700; }
}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*///////////////// レイアウト  */
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/

/*/////////////// 基本のラッパー 100% ////////////////////////*/
.contents_wrap  { width: 100%; padding: 0% 0% 0% 0% ;}
/*////////////////////////////////////////////////////////////*/
.l_inner { margin: 0 auto; }
.l_narrow { max-width: 900px; margin: 0 auto; }
@media screen and (min-width: 1601px) { .l_inner { width: 1260px; } }
@media screen and (max-width: 1600px) { .l_inner { width: 75%; } }
@media screen and (max-width: 1200px) { .l_inner { width: 85%; } }
@media screen and (max-width: 768px)  { .l_inner { width: calc(100% - 2em); } }
/*////////////////////////////////////////////////////////////*/


/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/
/*///////////////// 共通アニメーション  */
/*///////////////////////////////////////////////////////////////////////////////////////////////////////*/


/* 画面に入ったら.is_activeを付与 */
@media (prefers-reduced-motion: reduce) {
  .fade_in, .fade_in_up, .fade_in_zoom { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* フェードイン */
.fade_in { opacity: 0; transition: opacity 0.8s ease; }
.fade_in.is_active { opacity: 1; }

/* フェードイン+スライドアップ */
.fade_in_up { opacity: 0; transform: translate3d(0, 56px, 0) scale(0.96); transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
.fade_in_up.is_active { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }

/* フェードイン+ズームイン */
.fade_in_zoom { opacity: 0; transform: scale(0.85); transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
.fade_in_zoom.is_active { opacity: 1; transform: scale(1); }


.data_not_found { color: #3cb000; }


