@charset "UTF-8";
/*reset and normalise
===============================================*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, abbr, acronym, address, big, cite, del, em, img, ins, kbd, q, s, small, strike, strong, u, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, tbody, tfoot, thead, tr, th, td, article, aside, embed, figure, figcaption, footer, header, hgroup, menu, nav, ruby, section, time, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; font-size: inherit; font: 100%; }

body { font: 13px/1.231 arial,helvetica,clean,sans-serif; *font-size: small; *font: x-small; line-height: 1; }

sup, sub { font-size: 8px; }

u { text-decoration: none; border-bottom: 1px solid #000; }

p, td, dt, dd { font-size: 100%; line-height: 1.6; }

th, td { vertical-align: middle; }

th { font-weight: 700; }

strong { font-weight: 700; }

hr { clear: both; size: 3; color: #eee; border-style: solid; margin: 1em 0; }

/*body
===============================================*/
body { width: 100%; background: #fff; margin: 0 auto; font-family: 游ゴシック体, YuGothic, "YuGothic M", 游ゴシック, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif; color: #333; }

@media all and (max-width: 480px) { body { width: 100%; }
  .spnone { display: none; }
  .spbr { display: inline; } }
@media all and (min-width: 481px) { body { min-width: 1140px; }
  .spbr { display: none; } }
/*basic setting
===============================================*/
p, li, dd, dt, h3, td, th { font-size: 108%; line-height: 1.6; }

ul li { list-style: none; }

a { color: #be366b; text-decoration: none; }
a.sub { color: #999; font-size: 93%; }
a:hover { color: #ff79ad; }

.anchor { position: relative; top: -150px; display: block; }

.more { background: url(../images/arrow_S.png) no-repeat center left; padding-left: 1.25em; }

.clear { clear: both; }

span.clear { display: block; }

.textRed { color: #F36; }

.textPred { color: #be366b; }

.textPoints { color: #ff9933; }

.textGray { color: #b5b5b6; }

.textYGreen { color: #5cb43d; }

.textBGreen { color: #2bb385; }

.textOrange { color: #ff9933; }

.textPblue { color: #757CBB; }

img.fit { width: 96%; display: inline-block; margin: 0 auto; }
img.just_fit { width: 100%; display: inline-block; margin: 0 auto; }
img.fit_s { display: inline-block; margin: 0 auto; }
img.admt1 { padding-top: 1em; }

.center { text-align: center; }

.t_right { text-align: right; }

.border { clear: both; background: url(../images/border.png) no-repeat center center; margin: 1em 0 3em 0; text-align: center; }
.border.ns { margin-bottom: 1.5em; }
.border img { height: 20px; display: inline-block; background: #fff; padding: 0 1em; }

.spaceS, .spaceM, .spaceL { clear: both; height: 6em; }

.spaceC { clear: both; height: 3em; }

.textLarge { font-size: 116%; }

.textRight { text-align: right; }

.wrap { margin: 0 auto; }

.gwrap { width: 100%; }

.s-indent { display: inline-block; padding-left: 1em; }

@media all and (max-width: 480px) { .wrap, .grid2, .grid32, .grid23, .grid3 { display: block; width: 100%; margin: 0 auto; }
  .spcenter { text-align: center; }
  .border, .border.ns { margin: 1em 0; }
  .spaceS, .spaceM, .spaceL { height: 1em; }
  img.fit_s { width: 100%; padding-bottom: 1em; }
  img.sp-fit { width: 100% !important; } }
@media all and (min-width: 481px) { .spaceS { height: 2em; }
  .spaceM { height: 4em; }
  .spaceL { height: 6em; }
  img.fit_s { width: 80%; }
  img.u-left1 { padding-left: 20px; }
  img.u-right1 { padding-right: 20px; }
  .gwrap { display: table; width: 100%; }
  .gwrap.g80 { width: 80%; margin: 0 auto; }
  .grid2 { display: table-cell; width: 48%; vertical-align: middle; }
  .grid23 { display: table-cell; width: 37%; vertical-align: middle; padding-left: 1%; }
  .grid32 { display: table-cell; width: 62%; vertical-align: middle; }
  .grid3 { display: table-cell; width: 33.333333%; vertical-align: middle; }
  .grid2.vt, .grid23.vt, .grid32.vt, .grid3.vt { vertical-align: top; } }
/*#header layout
===============================================*/
#header { width: 100%; max-width: 1280px; }
#header #site_logo a { display: table; color: #000; font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; }
#header #site_logo .logo_img { display: table-cell; vertical-align: middle; }
#header #site_logo .logo_img img { width: 100%; }
#header #site_logo .site_name { display: table-cell; vertical-align: middle; }
#header .tel_num { display: none; font-family: Arial, Helvetica, "sans-serif"; }
#header .tel_num a { transition: all .2s; font-size: 131%; font-weight: bold; color: #000; }
#header .tel_num a:hover { color: #be366b; }

@media all and (max-width: 480px) { #header { width: 100%; margin: 0 auto; }
  #header #site_logo { width: 100%; text-align: center; }
  #header #site_logo img { width: 85px; padding: 10px 0; }
  #header #site_logo { border-bottom: 1px solid #ddd; height: 48px; }
  #header #site_logo .logo_img { width: calc(18vw - 20px); padding: 0 10px; }
  #header #site_logo .site_name { font-size: 4vw; }
  #header:after { content: ""; display: block; clear: both; }
  #header .tel_num { float: left; font-size: 100%; height: 40px; line-height: 40px; padding-left: 15px; position: relative; z-index: 10; }
  #header .tel_num.utility { position: fixed; top: 0px; left: 0px; }
  #header .tel_num a { font-size: 116%; } }
@media all and (min-width: 481px) { #header { width: 100%; margin: 0px auto; padding-top: 20px; display: flex; flex-wrap: wrap; align-content: center; position: relative; }
  #header #site_logo a { width: 600px; }
  #header #site_logo .logo_img { width: 120px; padding: 0 10px; }
  #header #site_logo .site_name { width: 460px; font-size: 146.5%; letter-spacing: 1px; }
  #header .tel_num { margin-left: auto; padding: 20px; text-align: right; font-size: 100%; letter-spacing: 1px; } }
/*#navigation layout
===============================================*/
#navigation ul li a:hover, #navigation ul li a.hover { background: #FFEE7D; }
#navigation ul li.active a { background: #FFEE7D; }

@media all and (max-width: 480px) { #navigation { width: 100%; margin: 0 auto; background: rgba(255, 255, 255, 0.95); position: absolute; top: 49px; left: 0px; }
  #navigation.utility { position: fixed; top: 0px; left: 0px; border-bottom: 1px solid #ddd; overflow-y: scroll; -webkit-overflow-scrolling: touch; }
  #navigation ul { clear: both; padding-top: 7px; border-top: 1px solid #ddd; }
  #navigation ul li br { display: none; }
  #navigation ul li a { display: block; width: calc(100% - 30px); line-height: 1.5; font-size: 108%; padding: 7px 15px; font-weight: bold; }
  #navigation ul li ul { padding-top: 0px; border-top: 0px; }
  #navigation ul li ul li a { font-size: 93%; width: calc(100% - 45px); padding: 3px 15px 3px 30px; color: #666; font-weight: normal; background: #fff !important; }
  #mobileMenu { display: block; float: right; margin: 0; }
  input[type="checkbox"].on-off { -webkit-appearance: none; appearance: none; display: inline-block; width: 100px; height: 40px; background: #f3f3f3 url(../images/mmenu.svg) no-repeat left top; background-size: 95px; padding: 0; transition: 0.15s; outline: none; }
  input[type="checkbox"].on-off + ul { display: none; }
  input[type="checkbox"].on-off:checked { background: #ddd url(../images/mmenu.svg) no-repeat left bottom; }
  input[type="checkbox"].on-off:checked + ul { display: block; height: calc(100vh - 50px); } }
@media all and (min-width: 481px) { #navigation { width: calc(100% - 2px); margin-top: 20px; border: 1px solid #ddd; }
  #navigation.utility { position: fixed; top: 0px; left: 0px; margin-top: 0px; z-index: 9; min-width: 1140px; }
  #navigation ul { width: 100%; display: flex; background: #f6f6f6 linear-gradient(white, rgba(255, 255, 255, 0)); margin: 0; padding: 0; }
  #navigation ul li { display: table; list-style: none; margin: 0; padding: 0; position: relative; width: 16.66666666%; }
  #navigation ul li a { display: table-cell; vertical-align: middle; width: calc(100% - 1px); line-height: 1.4; height: 50px; text-align: center; text-decoration: none; font-size: 100%; color: #000; overflow: hidden; border-right: 1px solid #ddd; transition: 0.15s; font-weight: bold; }
  #navigation ul li a:hover, #navigation ul li a.hover { background: #FDD23E; }
  #navigation ul li:last-child a { border-right: 0px; width: 100%; }
  #navigation ul li.active a { background: #FDD23E; }
  #navigation ul li ul { width: 100%; position: absolute; top: 50px; left: 0px; z-index: 9; display: none; }
  #navigation ul li:hover ul { display: block; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25); }
  #navigation ul li:hover ul li { display: table; width: 100%; border: 0px; }
  #navigation ul li:hover ul li a { background: #fff; z-index: 9; color: #000; font-size: 13px; border: 0px; border-top: 1px solid #ddd; }
  #navigation ul li:hover ul li a:hover, #navigation ul li:hover ul li a.hover { background: #FFEE7D; }
  #mobileMenu { display: none; } }
/*page main -- title setting
===============================================*/
#main { clear: both; width: 100%; }

.mainImg { text-align: center; }
.mainImg__item img { width: 100%; }

.pageTitle { background: url("../images/pageImg_academy.jpg") no-repeat center center; background-size: 100%; text-align: center; }
.pageTitle h2 { color: #757CBB; font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; font-weight: bold; text-shadow: #fff 1px 1px 0, #fff -1px -1px 0, #fff -1px 1px 0, #fff 1px -1px 0, #fff 0px 1px 0, #fff -1px 0, #fff -1px 0 0, #fff 1px 0 0; /*T, B*/ line-height: 1.5; letter-spacing: 1px; }

.chapterTitle { background: #fff; color: #757CBB; font-weight: bold; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #9acbe9; letter-spacing: 1px; }
.chapterTitle.theme-ygreen { color: #5cb43d; }
.chapterTitle.theme-bgreen { color: #2bb385; }

.subTitle, .programTitle { font-size: 150%; line-height: 1.65; font-weight: bold; }
.subTitle span, .programTitle span { color: #757CBB; }
.subTitle.theme-bg, .programTitle.theme-bg { color: #fff; padding: 0.25em 0.5em; margin-bottom: 1em; background-color: #666; }
.subTitle.theme-bg.-blue, .programTitle.theme-bg.-blue { background-color: #6cb8e7; }
.subTitle.theme-bg.-purple, .programTitle.theme-bg.-purple { background-color: #9294c8; }
.subTitle.theme-bg.-bgreen, .programTitle.theme-bg.-bgreen { background-color: #2bb385; }
.subTitle.theme-bg.-red, .programTitle.theme-bg.-red { background-color: #be366b; }
.subTitle.theme-bg.-lightblue, .programTitle.theme-bg.-lightblue { background-color: #99ebff; text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5); }
.subTitle.theme-bg.-green, .programTitle.theme-bg.-green { background-color: #5cb43d; }
.subTitle.theme-redc, .programTitle.theme-redc { color: #be366b; text-align: center; border-bottom: 0px; }
.subTitle.theme-black, .programTitle.theme-black { color: #222; text-align: center; border-bottom: 0px; }
.subTitle.ac-theme-blue, .programTitle.ac-theme-blue { color: #36548c; background: linear-gradient(90deg, #e7e7f0, #fff); padding-left: 10px; }
.subTitle.ac-theme-brown, .programTitle.ac-theme-brown { color: #a75a32; background: linear-gradient(90deg, #f4eae1, #fff); padding-left: 10px; }
.subTitle.ac-theme-green, .programTitle.ac-theme-green { color: #538342; background: linear-gradient(90deg, #e5e8d9, #fff); padding-left: 10px; }
.subTitle.ac-theme-purple, .programTitle.ac-theme-purple { color: #722c6f; background: linear-gradient(90deg, #eae3ea, #fff); padding-left: 10px; }
.subTitle.ac-theme-pink, .programTitle.ac-theme-pink { color: #c64984; background: linear-gradient(90deg, #f6e7ef, #fff); padding-left: 10px; }

@media all and (max-width: 480px) { #main { width: 90%; margin: 1.5em auto; }
  .mainImg { margin-bottom: 10px; margin-top: 40px; }
  .mainImg img { width: 100%; }
  .pageTitle { background-size: 250%; margin-top: 40px; }
  .pageTitle h2 { font-size: 116%; padding: 20px 10px; }
  .chapterTitle { font-size: 131%; }
  .subTitle, .programTitle { font-size: 116%; } }
@media all and (min-width: 481px) { #main { max-width: 1140px; margin: 0 auto; }
  .pageTitle, .mainImg { max-width: 1140px; margin: 30px auto 30px auto; }
  .pageTitle h2 { font-size: 175%; padding: 40px 0; }
  .pageTitle h2.pc_2line { padding: 23px 0; }
  .chapterTitle { font-size: 175%; padding-left: 2px; } }
/*#contents layout, table (main)
===============================================*/
.contents90 { width: 90%; margin: 0 auto; }

.contents90 p { font-size: 116%; line-height: 1.8; padding: 0.5em 0; }

.contents90 p.caption { font-size: 100%; }

.contents90 p.semi, .schedule p.semi { border-left: 2px solid #be366b; padding-left: 1em; background: #f9faef; margin: 1em; }

.contents90 p.semi.pt2, .schedule p.semi.pt2 { border-left: 2px solid #F90; }

.contents90 p.indent1, .schedule p.indent1 { padding: 0.5em 1em; }

.history { background: #F3FCF8; }

.history dl { padding: 1em; }

.history dt { font-weight: bold; color: #2bb385; }

.history dd { padding-left: 1em; }

.t_navi { text-align: center; }

p.g2_readerL { padding-right: 0.5em; }

p.g2_readerR { padding-left: 0.5em; }

.semiName { font-size: 116%; color: #be366b; }

.s_date { display: inline-block; padding: 0.1em 0.5em; color: #be366b; font-weight: bold; }

.entryTxt { padding: 0.25em 1em; margin: 0.5em; border-left: 1px solid #be366b; }

@media all and (max-width: 480px) { .chapterContent { margin-top: 20px; }
  .contents90 { width: 94%; margin: 0 auto; }
  .contents90.spw100 { width: 100%; }
  .contents90 p.semi { margin: 1em 0; }
  .contents90 p.indent1 { padding: 0.5em; }
  .contents90.gwrap:first-child .grid32 p { margin-top: -0.5em; }
  .entryTxt { padding: 0.25em 0.5em; margin: 0.5em 0; }
  p.g2_readerL { padding-right: 0; }
  p.g2_readerR { padding-left: 0; }
  .centerBlocks { margin: 20px auto; }
  .centerBlocks:first-of-type { margin-top: 10px; }
  .centerBlocks .centerImg { padding: 10px; width: calc(100% - 20px); } }
@media all and (min-width: 481px) { .chapterContent { margin-top: 50px; }
  .chapterContent:nth-of-type(1) { margin-top: 0px; }
  .contents90 p { font-size: 131%; }
  .contents90.u-minimal { max-width: 900px; margin-left: auto; margin-right: auto; }
  .centerBlocks { text-align: center; margin: 40px auto; }
  .centerBlocks:first-of-type { margin-top: 20px; }
  .centerBlocks .centerImg { padding: 15px 0; } }
/*table layout
===============================================*/
table.type1, table.type2, table.type3 { cellpadding: 0; cellspacing: 0; width: 100%; }
table.type1 { border: 1px solid #ccc; }
table.type1 th, table.type1 td { padding: 1em; border-bottom: 1px solid #ddd; }
table.type1 th { font-weight: bold; background: #f9f9f9; }
table.type2 th { padding: 1em; font-weight: normal; vertical-align: top; border-bottom: 1px solid #ddd; font-size: 116%; text-align: left; }
table.type2 th.year { padding-left: 0; }
table.type2 td { border-bottom: 1px solid #ddd; font-size: 108%; }
table.type2 tr:nth-child(odd) { background-color: #fff; }
table.type2 tr:nth-child(even) { background-color: #fcfcfc; }
table.type3 { border: 1px solid #ccc; }
table.type3 th { padding: 1em; font-weight: normal; text-align: left; background: #f9f9f9; }
table.type3 td .f_caption { font-size: 93%; }
table.type3 td.t_navi { border-bottom: 1px solid #ccc; }
table.type3 input, table.type3 textarea, table.type3 select { padding: 0.5em; font-size: 16px; }

.required { color: #ff0000; padding: 0 0.5em; font-size: 11px; font-weight: normal; }

input.btn { display: inline-block; background: #be366b; background: linear-gradient(to bottom, #db6b97 0%, #be366b 100%); color: #fff; cursor: pointer; border-radius: 3px; margin: 1em auto; letter-spacing: 1px; }
input.btn:hover { background: #ff9933; }
input.btn.back { background: #eee; color: #000; }
input.btn.back:hover { background: #ccc; }

label { cursor: pointer; }
label:hover { color: #be366b; }

.wbtn_wrap { text-align: center; }

:placeholder-shown { color: #ccc; }

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

:-moz-placeholder { color: #ccc; opacity: 1; }

::-moz-placeholder { color: #ccc; opacity: 1; }

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

.f_space { height: 4px; }

.form_opt { margin-left: 0.75em; padding: 0.5em 1em; border-left: 1px solid #ddd; }

a.ent_btn { display: inline-block; margin: 1em 0; background: #F90 url(../images/arrow_W.png) no-repeat 3% center; color: #fff; padding: 0.5em 1.5em 0.5em 2em; line-height: 1 !important; border-radius: 5px; cursor: pointer; }
a:hover.ent_btn { background-color: #FC0; }

@media all and (max-width: 480px) { table.type1, table.type2 { margin: 1.5em 0; }
  table.type1 th, table.type1 td, table.type2 th, table.type2 td { font-size: 100%; }
  table.type1 th { width: 30%; }
  table.type1 th.outline { width: 25%; }
  table.type2 th { width: 33%; padding: 0.5em; }
  table.type2 td { padding: 0.5em; }
  table.type3 th, table.type3 td { display: block; width: 100%; box-sizing: border-box; }
  table.type3 input, table.type3 textarea, table.type3 select { width: 92%; }
  table.type3 input[type="checkbox"] { width: auto !important; }
  table.type3 td .f_caption { padding: 1em 0; display: block; }
  input.btn { margin-top: 0; width: 80%; }
  .form_opt { font-size: 93%; } }
@media all and (min-width: 481px) { table.type1, table.type2, table.type3 { width: 100%; }
  table.type1 th, table.type1 td, table.type2 th, table.type2 td, table.type3 th, table.type3 td { font-size: 116%; }
  table.type1 th { width: 20%; }
  table.type2 th { width: 20%; }
  table.type2 td { padding: 1em; }
  table.type3 th { width: 20%; border-bottom: 1px solid #ddd; }
  table.type3 td { padding: 0.5em; border-bottom: 1px solid #eee; }
  input.btn { width: 20%; } }
/*other layout
===============================================*/
.topInfo .t-book h3 { padding: 0.25em 0 0.5em 0; font-weight: bold; }
.topInfo .t-book__info { font-size: 100%; padding: 0.5em 0; }
.topInfo .t-book__detail { color: #666; font-size: 85%; text-align: left; padding: 0 1em; }
.topInfo .t-info h4 { line-height: 1.5; font-weight: bold; font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; }
.topInfo .t-info p strong { font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; }

@media all and (max-width: 480px) { .topInfo .t-book { width: 96%; text-align: left; padding: 0 12px; }
  .topInfo .t-book h3 { padding: 0.25em 0 0.5em 0; font-weight: bold; }
  .topInfo .t-book__info { font-size: 100%; padding: 0.5em 0; }
  .topInfo .t-book__detail { color: #666; font-size: 85%; text-align: left; padding: 0 1em; }
  .topInfo .t-book__photo { width: 100px; float: left; padding-right: 1em; }
  .topInfo .t-info { clear: both; margin-top: 30px; padding-top: 1px; }
  .topInfo .t-info h4 { font-size: 116%; margin-top: 1em; }
  .topInfo .t-info p { font-size: 100%; padding-top: 1em; }
  .topInfo .t-info p strong { font-size: 108%; } }
@media all and (min-width: 481px) { .topInfo { display: flex; flex-wrap: wrap; width: 100%; }
  .topInfo .t-book { width: 200px; text-align: center; }
  .topInfo .t-book h3 { padding: 0.25em 0 0.5em 0; font-weight: bold; }
  .topInfo .t-book__info { font-size: 100%; }
  .topInfo .t-book__detail { color: #666; font-size: 85%; text-align: left; padding: 0 1em; }
  .topInfo .t-book__photo { width: 150px; }
  .topInfo .t-info { width: calc(100% - 230px); margin: 0 auto; }
  .topInfo .t-info h4 { font-size: 153.9%; font-weight: bold; margin-top: 1em; margin-bottom: 1em; padding-left: 5px; }
  .topInfo .t-info p { font-size: 116%; padding-top: 1em; padding-left: 5px; }
  .topInfo .t-info p strong { font-size: 108%; } }
@media all and (max-width: 480px) { .top-style2 .item-img { text-align: center; padding-bottom: 20px; }
  .top-style2 .item-img img { width: 200px; } }
@media all and (min-width: 481px) { .top-style2 .item-img { float: right; }
  .top-style2 .item-img img { width: 150px; }
  .top-style2 .item-txt { float: left; width: calc(100% - 160px); } }
.flowChart1__item { text-align: center; border: 1px solid #757CBB; margin: 0 10px; border-radius: 5px; }
.theme-b .flowChart1__item { border: 1px solid #1a89ce; }
.flowChart1__item h4 { background: #757CBB; color: #fff; font-size: 131%; padding: 5px 0; font-weight: bold; }
.theme-b .flowChart1__item h4 { background: #1a89ce; }
.theme-c .flowChart1__item h4 { background: #fff; color: #757CBB; padding: 0; }
.flowChart1__item p { padding: 1em 5px; }
.theme-c .flowChart1__item p { padding: 0 1em; text-align: left !important; }
.flowChart1__item p .caption { font-size: 90%; display: inline-block; line-height: 1.5; }
.flowChart1__item .finner { background: #ffe; display: block; padding: 5px 10px; margin-bottom: 10px; line-height: 1.5; }
.flowChart1__item .fthumb { padding: 15px 0; }
.flowChart1__item .fthumb img { max-height: 150px; }
.flowChart1__item .fthumb img.long { max-height: 100% !important; width: 90%; }
.flowChart1__arr { text-align: center; }

@media all and (max-width: 480px) { .flowChart1 { margin: 20px auto 0 auto; }
  .flowChart1__item h4 { font-size: 116%; }
  .flowChart1__item p { font-size: 116%; padding: 10px 5px; }
  .flowChart1__arr { padding: 7px; }
  .flowChart1__arr img { transform: rotate(90deg); width: 30px; }
  .flowChart1 .finner { text-align: center; margin-top: 10px; } }
@media all and (min-width: 481px) { .flowChart1 { display: flex; flex-wrap: wrap; align-content: center; align-items: center; margin: 40px auto; }
  .flowChart1.theme-c { align-items: stretch; }
  .flowChart1.theme-c .flowChart1__item h4 { font-size: 116%; }
  .flowChart1__item { width: calc(30% - 22px); }
  .flowChart1__item h4 { font-size: 131%; }
  .flowChart1__item p { padding: 1em 5px; }
  .flowChart1__arr { width: 5%; }
  .flowChart1__arr img { width: 80%; }
  .theme-c .flowChart1__arr { position: relative; }
  .theme-c .flowChart1__arr img { position: absolute; top: 45%; left: 5%; } }
/*program layout
===============================================*/
.programTitle { margin-top: 10px; }

.programText .point, .programText .digest, .programText .detail { display: block; margin-bottom: 5px; }
.programText .point { color: #fff; background: #aed4f0; display: inline-block; border-radius: 20px; line-height: 1.5; }
.programText .detail { text-indent: -1em; padding-left: 1em; }

.programList, .pageList { border: 1px solid #28a7e1; border-radius: 5px; padding: 10px 15px; margin: 0 10px; }
.programList.single, .pageList.single { max-width: 500px; margin: 0 auto; }
.programList dt, .pageList dt { color: #28a7e1; font-weight: bold; }
.programList dt:first-letter, .pageList dt:first-letter { color: rgba(40, 167, 225, 0.5); }
.programList.theme-purple, .pageList.theme-purple { border-color: #9294c8; }
.programList.theme-purple dt, .pageList.theme-purple dt { color: #9294c8; }
.programList.theme-purple dt:first-letter, .pageList.theme-purple dt:first-letter { color: rgba(146, 148, 200, 0.5); }
.programList.theme-ygreen dt, .pageList.theme-ygreen dt { color: #5cb43d; }
.programList.theme-ygreen dt:first-letter, .pageList.theme-ygreen dt:first-letter { color: #5cb43d; }
.programList.theme-bgreen dt, .pageList.theme-bgreen dt { color: #2bb385; }
.programList.theme-bgreen dt:first-letter, .pageList.theme-bgreen dt:first-letter { color: #2bb385; }
.programList dd, .pageList dd { text-indent: -1em; padding-left: 1em; margin-left: 1em; }
.programList dd:first-letter, .pageList dd:first-letter { color: #b5b5b6; font-size: 10px; padding-right: 5px; }
.programList dd.normal:first-letter, .pageList dd.normal:first-letter { color: #000; font-size: 100%; padding-right: 0px; }

.pageList { border: 0px; border-radius: 0px; padding: 0px; margin: 0px; }
td .pageList dt, td .pageList dd { padding-left: 0px; }

.programFlow { text-align: center; margin: 1em auto; }
.programFlow .prg-icon { width: 50px; margin: 5px auto 0 auto; }
.programFlow .prg-icon img { width: 100%; }
.programFlow .prg-cv { margin: 0 auto; display: inline-block; background: #f4b4d0; color: #fff; border-radius: 15px; line-height: 1.5; font-weight: bold; }

@media all and (max-width: 480px) { .programText span.point { padding: 5px 15px; }
  .programList { margin: 0px auto 10px auto; }
  .programFlow .prg-cv { padding: 10px 15px; font-size: 116%; }
  .pageList dt, .pageList dd { font-size: 100%; } }
@media all and (min-width: 481px) { .programText span.point { padding: 5px 20px; }
  .programList { padding: 10px 15px; margin: 0 10px; }
  .programList dt, .programList dd { font-size: 116%; }
  .programFlow .prg-cv { padding: 10px 20px; font-size: 131%; }
  .pageList dt, .pageList dd { font-size: 131%; }
  td .pageList dt, td .pageList dd { font-size: 100%; } }
/*#footer layout
===============================================*/
#ptArea { position: fixed; display: none; z-index: 100; }
#ptArea a { display: block; width: 40px; height: 40px; background: #be366b url(../images/item_totop.svg) no-repeat center center; background-size: 25px; text-decoration: none; opacity: 0.9; }
#ptArea a:hover { opacity: 0.75; }

#footer { clear: both; width: 100%; margin: 60px auto 0 auto; }

#copyright { border-top: 1px solid #ddd; background: #f9f9f9; }
#copyright p { text-align: center; }

@media all and (max-width: 480px) { #ptArea { bottom: 30px; right: 20px; }
  #copyright { padding: 20px; }
  #copyright p { font-size: 88%; } }
@media all and (min-width: 481px) { #ptArea { bottom: 60px; right: 40px; }
  #copyright { padding: 40px; }
  #copyright p { font-size: 100%; } }
@media print { body { background: #fff; }
  #navigation.utility { display: none; }
  #ptArea { display: none !important; } }
.btn-common { background: #FDD23E; border: 1px solid #FDD23E; display: inline-block; padding: 15px 30px; font-size: 18px; color: #000; transition: all .2s; }
.btn-common:hover { background: #fff; }

@media all and (max-width: 480px) { .btn-common { display: block; margin: 20px auto; text-align: center; } }
@media all and (min-width: 481px) { .btn-common { display: inline-block; } }
.l-recommend { box-shadow: 0px 0px 7px rgba(108, 184, 231, 0.5); }
.l-recommend .innerB { background: rgba(108, 184, 231, 0.2); border-radius: 5px; }
.l-recommend .innerB p { font-size: 100%; padding: 1em; line-height: 1.5; }
.l-recommend .innerB p strong { display: inline-block; padding-bottom: 0.5em; }
.l-recommend h4 { font-size: 153.9%; font-weight: bold; line-height: 1.5; font-weight: bold; font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; }
.l-recommend p { font-size: 116%; }

.i-book { display: flex; flex-wrap: wrap; align-items: center; }

@media all and (max-width: 480px) { .l-recommend { padding: 10px; margin: 20px auto 0 auto; width: calc(100% - 20px); }
  .l-recommend .innerB { margin-top: 1em; }
  .sp-inyan { width: 100px !important; }
  .sp-rotate { transform: rotateZ(90deg); } }
@media all and (min-width: 481px) { .i-book { width: 100%; }
  .i-book .in1 { width: 20%; }
  .i-book .in1 img { width: 100%; }
  .i-book .in2 { width: 80%; background: url("../images/top_yubi.jpg") no-repeat 60% center; background-size: 200px; }
  .i-book .in2 p { padding: 1em 2em !important; }
  .l-recommend { padding: 10px 10px 20px 10px; margin: 40px auto 20px auto; width: calc(100% - 62px); }
  .l-recommend .innerB { margin-top: 1em; margin-right: 1.5em; }
  .l-recommend h4 { margin-top: 1em; margin-bottom: 1em; padding-left: 5px; }
  .l-recommend p { padding-top: 1em; padding-left: 5px; }
  .pc-large1 { transform: scale(1.65); } }
.tm-boximg { margin: 0 auto; text-align: center; }
.tm-boximg img { height: 200px; }
.tm-boximg + p { position: relative; top: -10px; }

.tm-width1 { margin: 0 auto; text-align: center; }
.tm-width1 img { width: 230px; }
.tm-width1 + p { position: relative; top: -10px; }

.f_arrow { text-align: center; margin: 10px auto; }
.f_arrow img { transform: rotateZ(90deg); width: 60px; }
