@charset "utf-8";

/***************************************************************************************
------------------------------
reset
------------------------------
*****************************/
html{font-size:62.5%;-moz-text-size-adjust:none;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-y:scroll;margin:0;padding:0;border:0;text-align:left;}

body {
    font-family: "M PLUS Rounded 1c", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Verdana, Meiryo, "M+ 1p", sans-serif;
    background: #fff;
    color: #333333;
    font-size: 1.6rem;
	  font-weight: 400;
    line-height: 1.9;
    overflow-wrap: break-word; word-wrap:break-word;word-break:break-word;
}
body{margin:0;padding:0;border:0;}h1,h2,h3,h4,h5,h6,th,optgroup{font-weight: 400}::-webkit-validation-bubble-heading{font-weight: 400}button,input,select,textarea{font-family:inherit;font-size:100%;}*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}address,article,aside,blockquote,canvas,dd,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hr,li,main,nav,noscript,ol,output,p,pre,section,table,tfoot,ul,video,audio,caption,details,embed,ins,legend,menu,summary,tbody,td,th,thead,tr,small{margin:0;padding:0;border:0;vertical-align:bottom;font-size:100%;list-style:none;font-feature-settings:"palt";-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:unset;text-align:justify;/* font-size: 1.3rem; */}a,abbr,acronym,*:after,b,bdo,*:before,big,br,button,cite,code,dfn,em,i,img,input,kbd,label,map,object,q,samp,script,select,small,span,strong,sub,sup,textarea,time,tt,var,applet,audio,del,mark,strike,u{margin:0;padding:0;border:0;vertical-align:bottom;list-style:none}em{font-style:normal}address{font-weight: 400}article,aside,canvas,details,figcaption,figure,header,footer,main,menu,nav,section,summary{display:block}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}input,button,textarea,select{margin:0;padding:0;background:none;border:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;outline:none}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="search"],input[type="reset"],select{border:0}input[type=text],select,textarea{border:2px solid #20a0dc;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}input[type="submit"],input[type="button"]{border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;-webkit-box-sizing:content-box;-webkit-appearance:button;appearance:button;border:none;box-sizing:border-box;cursor:pointer}input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration{display:none}input[type="submit"]:focus,input[type="button"]:focus{outline-offset:-2px}input[type="checkbox"],input[type="radio"]{vertical-align:middle}::-webkit-input-placeholder{color:#cccccc}::-moz-placeholder{color:#cccccc}:-moz-placeholder{color:#cccccc}:-ms-input-placeholder{color:#cccccc}table{border-collapse:collapse;border-spacing:0;width:100%}a,a div,a p,a img,a:hover,a:hover div,a:hover p,a:hover img,a li,a dd{-webkit-backface-visibility:hidden;backface-visibility:hidden}a:focus{outline:none}img{max-width:100%;width:auto;height:auto;margin:0;padding:0;display:inline-block}sup{font-size:75%;vertical-align:top;position:relative;top:0.1em}sub{font-size:75%;vertical-align:baseline;position:relative;top:0.1em}strong{font-weight: 700;background: rgba(0, 0, 0, 0) linear-gradient(transparent 71%, #ffff00 0%) repeat scroll 0 0px;}a{display:inline-block;}a img{backface-visibility:hidden;}
_::-webkit-full-page-media, _:future, :root address{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root dd{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root dt{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root figcaption{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root h1{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root h2{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root h3{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root h4{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root h5{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root h6{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root hr{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root li{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root noscript{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root p{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root pre{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root caption{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root details{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root embed{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root ins{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root legend{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root summary{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root td{font-feature-settings:"pkna"}_::-webkit-full-page-media, _:future, :root th{font-feature-settings:"pkna"}

#wrapper{position:relative;}



/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
カテゴリ
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

/*++++++++++++++++++++++++++++
 common
++++++++++++++++++++++++++++*/
.txtf, .page_lead02, .con_lead, .breadcrumb li a:hover, .level_01, .level_03, .jiyuu_area.post_page .article_con h3, table.table_step th, .maincat_tl .txt, .page_tl .cat_name, .level_02_big, .level_02_simple, .level_03_simple, .level_type_02, .level_special_02, .level_fukidashi_txt, .level_02, .jiyuu_area.post_page .article_con h2, table.calendar_block .date_num, table.calendar_block .moon, .page_cat ul, .mod_label_panel_03 figure+dl>dt, .mod_icon_panel a, .mod_btnbannerimg li a, .mod_btnbanner_noimg .tl, .mod_flow>li dl:first-of-type dt, .mod_chart .copy, .mod_chart .refresh a,.catpage_mv .tl {
  color: #14873d
}
.breadcrumb .breadcrumb_page, .tl_point em, .level_03:before, .jiyuu_area.post_page .article_con h3:before, .radio_label input[type="radio"]+.radio_parts:after, .btn.btn_color a ,.btn.btn_color input, table.calendar_block thead th, .fukidashi_comment:before, .fukidashi_comment:after, .page_cat a, .mod_flow>li dl:first-of-type dt:before, .mod_book_buy .attention:before, .mod_img_panel .img, .btn_style_in,.mod_ranking_no {
  background-color: #14873d;
}
.pager ul .cr a{
 background: #4a9624;
}
.kakomi_border, input[type=text],.breadcrumb a, .breadcrumb .breadcrumb_page, .radio_label input[type="radio"]+.radio_parts, .radio_label input[type="radio"]:checked+.radio_parts:before, .variation_circle li, table, .btn a, input[type="submit"], .btn_style .in, .fukidashi_comment p, .page_cat a, .mod_dotblock, .mod_labelimg .col_in .img, .mod_person, .mod_img_panel .img, .mod_label_panel a, .btn_style_in, .mod_flow>li .con_wrap,.big_bnr:before {
  border-color: #14873d;
}
.breadcrumb li+li:before, .level_02 a:before, .jiyuu_area.post_page .article_con h2 a:before,.link_arrow a:before {
  border-top-color: #14873d;
}
.breadcrumb li+li:before, .level_02 a:before, .jiyuu_area.post_page .article_con h2 a:before,.link_arrow a:before {
  border-right-color: #14873d;
}
.level_02, .jiyuu_area.post_page .article_con h2, table thead th, table tbody th, table tbody td, .mod_flow>li dl {
  border-bottom-color: #14873d;
}
table tbody>tr>td:not(:first-child) {
  border-left-color: #14873d;
}
.btn a, input[type="submit"], .btn_style .in, .mod_img_panel .img, .mod_label_panel a, .mod_flow>li .con_wrap,.big_bnr:before {
  -webkit-box-shadow: 0 5px 0 #14873d;
  -moz-box-shadow: 0 5px 0 #14873d;
  box-shadow: 0 5px 0 #14873d;
}
.btn.btn_color a, .btn_style_in,.btn.btn_color input {
  -webkit-box-shadow: 0 5px 0 #004619;
  -moz-box-shadow: 0 5px 0 #004619;
  box-shadow: 0 5px 0 #004619;
	background: #14873d;
}

a {
  color: #14873d;
}
.txtf02 {
  color: #fff000
}
.pager .cr a, .radio_label input[type="radio"]:checked+.radio_parts {
  background-color: #ffff00;
}

table.calendar_block tbody tr:nth-child(2n) td, .mod_note_block,th,.color_bg,.breadcrumb li a:hover {
  background: #e3feed;
}
.maincat_tl .txt {
    color: #14873d;
}
.breadcrumb li:nth-child(2) a:before {
    background: url(../../assets/images/navicon_kagaku.png) left top no-repeat;
	background-size: cover;
}

/***************************************************************************************
------------------------------
font / a
------------------------------
*****************************/
.kome{padding-left:1em;text-indent:-1em}.kome_block{padding-left:1em;text-indent:-1em;display:block}.kome *{text-indent:initial}

.min {
    font-family :"Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro", "HGS明朝E","ＭＳ Ｐ明朝","MS PMincho", serif;
}

.hosoku { font-size: 1.3rem; }
.txtb { font-size: 110%;}
.txts { font-size: 90%;}

.attxt { color: #ff6c00}
.bold {font-weight: 700 !important;}
.ls_mini {
  letter-spacing: -1px;
}

a {
    text-decoration: underline;
    opacity: 1;
    transition: 0.5s ease;
    -webkit-transition: 0.5s ease;
    transition: opacity 0.5s;
}

.sent p+p, .sent .pstyle+.pstyle, .sent p+.pstyle, .sent p+.pstyle { margin-top: 1em }

/***************************************************************************************
------------------------------
option
------------------------------
*****************************/

.fl{float:left !important}.fr{float:right !important}
.tal{text-align:left !important}.tar{text-align:right !important}.tac{text-align:center !important}

.mb00{margin-bottom:0 !important}.mb05{margin-bottom:5px !important}.mb10{margin-bottom:10px !important}.mb15{margin-bottom:15px !important}.mb20{margin-bottom:20px !important}.mb25{margin-bottom:25px !important}.mb30{margin-bottom:30px !important}.mb35{margin-bottom:35px !important}.mb40{margin-bottom:40px !important}.mb45{margin-bottom:45px !important}.mb50{margin-bottom:50px !important}.mb60{margin-bottom:60px !important}.mb70{margin-bottom:70px !important}.mb80{margin-bottom:80px !important}.mb90{margin-bottom:90px !important}.mb100{margin-bottom:100px !important}.mb110{margin-bottom:110px !important}.mb120{margin-bottom:120px !important}.mb130{margin-bottom:130px !important}.mb140{margin-bottom:140px !important}.mb150{margin-bottom:150px !important}.mb160{margin-bottom:160px !important}.mb170{margin-bottom:170px !important}.mb180{margin-bottom:180px !important}.mb190{margin-bottom:190px !important}.mb200{margin-bottom:200px !important}

.mt00{margin-top:0 !important}.mt05{margin-top:5px !important}.mt10{margin-top:10px !important}.mt15{margin-top:15px !important}.mt20{margin-top:20px !important}.mt25{margin-top:25px !important}.mt30{margin-top:30px !important}.mt35{margin-top:35px !important}.mt40{margin-top:40px !important}.mt45{margin-top:45px !important}.mt50{margin-top:50px !important}.mt60{margin-top:60px !important}.mt70{margin-top:70px !important}.mt80{margin-top:80px !important}.mt90{margin-top:90px !important}.mt100{margin-top:100px !important}.mt110{margin-top:110px !important}.mt120{margin-top:120px !important}.mt130{margin-top:130px !important}.mt140{margin-top:140px !important}.mt150{margin-top:150px !important}.mt160{margin-top:160px !important}.mt170{margin-top:170px !important}.mt180{margin-top:180px !important}.mt190{margin-top:190px !important}.mt200{margin-top:200px !important}

.pb00{padding-bottom:0 !important}.pb05{padding-bottom:5px !important}.pb10{padding-bottom:10px !important}.pb15{padding-bottom:15px !important}.pb20{padding-bottom:20px !important}.pb25{padding-bottom:25px !important}.pb30{padding-bottom:30px !important}.pb35{padding-bottom:35px !important}.pb40{padding-bottom:40px !important}.pb45{padding-bottom:45px !important}.pb50{padding-bottom:50px !important}.pb60{padding-bottom:60px !important}.pb70{padding-bottom:70px !important}.pb80{padding-bottom:80px !important}.pb90{padding-bottom:90px !important}.pb100{padding-bottom:100px !important}.pb110{padding-bottom:110px !important}.pb120{padding-bottom:120px !important}.pb130{padding-bottom:130px !important}.pb140{padding-bottom:140px !important}.pb150{padding-bottom:150px !important}.pb160{padding-bottom:160px !important}.pb170{padding-bottom:170px !important}.pb180{padding-bottom:180px !important}.pb190{padding-bottom:190px !important}.pb200{padding-bottom:200px !important}

.pt00{padding-top:0 !important}.pt05{padding-top:5px !important}.pt10{padding-top:10px !important}.pt15{padding-top:15px !important}.pt20{padding-top:20px !important}.pt25{padding-top:25px !important}.pt30{padding-top:30px !important}.pt35{padding-top:35px !important}.pt40{padding-top:40px !important}.pt45{padding-top:45px !important}.pt50{padding-top:50px !important}.pt60{padding-top:60px !important}.pt70{padding-top:70px !important}.pt80{padding-top:80px !important}.pt90{padding-top:90px !important}.pt100{padding-top:100px !important}.pt110{padding-top:110px !important}.pt120{padding-top:120px !important}.pt130{padding-top:130px !important}.pt140{padding-top:140px !important}.pt150{padding-top:150px !important}.pt160{padding-top:160px !important}.pt170{padding-top:170px !important}.pt180{padding-top:180px !important}.pt190{padding-top:190px !important}.pt200{padding-top:200px !important}

.clearfix:after,.container:after{content:'';clear:both;display:block;height:0;font-size:0;visibility:hidden}

/***************************************************************************************
------------------------------
パーツ
------------------------------
*****************************/

.frontpage .frontpage_none {
  display: none;
}

.frontpage_only .frontpage_only {
  display: block;
}

main:not(.frontpage) .frontpage_none {
  display: block;
}

main:not(.frontpage) .frontpage_only {
  display: none;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
txt
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.con_lead {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 20px;
}

.cat_lead {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
}

.strong {
  font-weight: 700;
}


/*++++++++++++++++++++++++++++
page_lead
++++++++++++++++++++++++++++*/

.page_lead {
  /* font-size: 1.6rem; */
  margin-bottom: 80px;
}

.page_lead02 {
  font-size: 2.1rem;
  margin-bottom: 70px;
  margin-top: -30px;
}

.page_lead p {}


/*++++++++++++++++++++++++++++
リンク
++++++++++++++++++++++++++++*/

.post_page .article_con a, .post_page .page_tag.btn a, .page_type .article a, .txt_link, .sitemap_404 ul a {
  display: inline;
  opacity: 1;
  transition: 0.2s ease;
  -webkit-transition: 0.2s ease;
  position: relative;
}
.post_page .page_tag.btn a {
  color: #333;
}

.post_page .article_con .link_normal a, .page_type .article .link_normal a {
  background: none;
}

.page_type .article .col_in a {
  font-weight: 400;
}

.anchor_link {
  margin-bottom: 145px;
}

.anchor_link.btn a {
  background-image: none;
}

.anchor_link.btn a:after {
  background: url(../../assets/images/icon_anchor.png) left top no-repeat;
  background-size: cover;
  content: "";
  width: 21px;
  height: 14px;
  display: inline-block;
  margin-left: 10px;
  vertical-align: middle;
  margin-top: -7px;
}

.post_page .article_con :not(.btn)>a[href$=".pdf"] {
  position: relative;
  padding-left: 20px;
  margin-left: 4px;
}

.post_page .article_con :not(.btn)>a[href$=".pdf"]:before {
  position: absolute;
  content: "";
  width: 15px;
  height: 18px;
  left: 0;
  background: url(../../assets/images/icon_pdf.png) 0 0 no-repeat;
  background-size: contain;
  top: 2px;
}

.link_arrow a {
  position: relative;
  display: block;
  padding-left: 20px;
}

.link_arrow a:before {
  content: "";
  border-top-width: 2px;
  border-top-style: solid;
  border-right-width: 2px;
  border-right-style: solid;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 8px;
  height: 8px;
  position: absolute;
  top: 11px;
  left: 0;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ブロック
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mtll {
  margin-top: 100px !important;
}

.mbll {
  margin-bottom: 100px !important;
}

.mtl {
  margin-top: 80px !important;
}

.mbl {
  margin-bottom: 80px !important;
}

.mtml {
  margin-top: 60px !important;
}

.mtm {
  margin-top: 45px !important;
}

.pbss {
  padding-bottom: 1px !important;
}

.ptm {
  padding-top: 45px !important;
}

.mtsm {
  margin-top: 35px !important;
}

.mbm {
  margin-bottom: 45px !important;
}

.mts {
  margin-top: 20px !important;
}

.mbs {
  margin-bottom: 20px !important;
}

.mbss {
  margin-bottom: 10px !important;
}

.page_under_00 {
  margin-bottom: -150px !important;
}

.col_fit {
  align-items: stretch;
}

.col_fit .col_in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

.col_fit .col_in a {
  width: 100%;
}

.col_02_s60 .col_in:first-child {
  text-align: right
}

.col_02_s60 .col_in:nth-child(2) {
  text-align: left
}

.col_w .col_in {
  position: relative;
}

.col_w_tl>.col_in {
  padding-top: 75px;
}

.col_w_btn>.col_in {
  padding-bottom: 90px;
}

.col_w_btn .col_in {
  margin-top: 65px;
}

.col_w>.col_in {
  position: relative;
}

.col_w .level_02_big {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}

.col_01, .col_02, .col_03, .col_04 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}

.col_02 {
  justify-content: space-between;
  align-items: stretch;
  position: relative;
}

.col_02>.col_in {
  margin-top: 35px
}

.col_02>.col_in:nth-child(1), .col_02>.col_in:nth-child(2) {
  margin-top: 0
}

.col_02 .col_in, .col_02 .col_02 {
  width: 575px;
}

.col_02 .col_02 .col_in {
  width: 275px;
  padding-top: 0;
  padding-bottom: 0;
}

.inner02 .col_02 .col_in, .side_nav_con .col_02 .col_in {
  width: 400px;
}

.inner02 .kakomi_border .col_02 .col_in {
  width: 385px;
}

.inner03 .col_02 .col_in {
  width: 475px;
}

.inner05 .col_02 .col_in {
  width: 520px;
}

.col_02>.col_in .level_02_big {
  margin-top: 0;
}

.col_03 {
  width: 1248px;
  margin-left: -24px;
  margin-right: -24px;
  overflow: hidden;
}

.col_03:before, .col_03:after {
  content: "";
  display: block;
  width: 368px;
  order: 1;
}

.col_03 .col_in {
  width: 368px;
  margin-top: 45px;
  margin-right: 24px;
  margin-left: 24px;
}

.col_03.col_03_small .col_in {
  margin-top: 25px;
}

.col_03 .col_in:nth-child(1), .col_03 .col_in:nth-child(2), .col_03 .col_in:nth-child(3) {
  margin-top: 0
}

.side_nav_con .col_03 {
  width: 870px;
  width: -webkit-calc(100% + 20px);
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
}

.side_nav_con .col_03 .col_in {
  width: 270px;
  margin-bottom: 0;
  margin-left: 10px;
  margin-right: 10px;
}

.side_nav_con .col_03:before, .side_nav_con .col_03:after {
  content: "";
  display: block;
  width: 290px;
  order: 1;
}

.col_04 {
  overflow: hidden;
  margin-left: -16.6px;
  margin-right: -16.6px;
  width: 1233.2px;
}

.mod_img_panel.col_04 {
  overflow: hidden;
  margin-left: -24px;
  margin-right: -24px;
  width: 1248px;
}

.col_04 .col_in {
  width: 270px;
  margin-top: 20px;
  margin-right: 10px;
  margin-left: 10px;
}
.col_04 .col_in img {
  width: 100%;
}
.mod_img_panel.col_04 {
  overflow: hidden;
  margin-left: -24px;
  margin-right: -24px;
}

.mod_img_panel.col_04 .col_in {
  width: 264px;
  margin-top: 50px;
  margin-right: 24px;
  margin-left: 24px;
}

.mod_img_panel.col_04 .col_in {
  width: 264px;
  margin-top: 50px;
}

.col_04 .col_in:nth-child(1), .col_04 .col_in:nth-child(2), .col_04 .col_in:nth-child(3), .col_04 .col_in:nth-child(4) {
  margin-top: 0
}

.col_150 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin-top: -16px;
  justify-content: center;
}

.col_150 .col_in {
  margin-left: 10px;
  margin-right: 10px;
  margin-top: 16px;
}

.bg_box {
  padding-top: 80px;
  padding-bottom: 150px;
}

.page_tl+.bg_box {
  margin-top: 0;
  padding-top: 0;
}

.kakomi {
  padding: 35px 60px;
}

.kakomi_border {
  background-size: 12.5px 12.5px;
  border-width: 2px;
  border-style: solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  padding: 20px;
}

.kakomi_def {
  background-size: 12.5px 12.5px;
  border-width: 2px;
  border-color: #ccc;
  border-style: solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  padding: 20px;
}

.bg_block {
  padding-bottom: 100px;
  position: relative;
}

.color_bg {
  padding: 50px 0;
}

.color_bg.color_bgin {
  padding: 50px 50px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
パン屑
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.breadcrumb {
  margin-top: -10px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.pr+.breadcrumb {
  margin-top: 15px;
}

.breadcrumb li {
  margin-top: 10px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-left: 0;
  font-size: 1.3rem;
  max-width: 100%;
}
.breadcrumb li+li:before {
  content: "";
  border-top-width: 2px;
  border-top-style: solid;
  border-right-width: 2px;
  border-right-style: solid;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 14px;
  height: 14px;
  margin-left: -5px;
}

.breadcrumb a, .breadcrumb .breadcrumb_page {
  border-width: 2px;
  border-style: solid;
  border-radius: 8px;
  text-decoration: none;
  padding: 3px 9px 2px;
  position: relative;
}
.breadcrumb .breadcrumb_page {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
    width: 90%;
    width: -webkit-calc(100% - 21px);
    width: calc(100% - 21px);
}
.breadcrumb li:not(:first-child) a, .breadcrumb .breadcrumb_page {
  margin-left: 12px;
}

.breadcrumb li:first-child a, .breadcrumb li:nth-child(2) a {
  padding-left: 34px;
}

.breadcrumb li:first-child a:before, .breadcrumb li:nth-child(2) a:before {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../../assets/images/icon_home.png) left top no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 8px;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

.breadcrumb li a:hover {
  opacity: 1;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}

.breadcrumb .breadcrumb_page {
  color: #fff;
}

.breadcrumb li {
  margin-right: 10px;
}

.breadcrumb li:last-child {
  margin-right: 0;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
movie_block
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.movie_block {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.movie_block iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
タイトル
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.post_page .article_con>*:first-child, .page_type .article>.inner:first-child>section:first-child>*:first-child {
  margin-top: 0;
}

h2+h3, h2+h4, h2+h5, h2+h6, h3+h4, h3+h5, h3+h6, h4+h5, h4+h6, h5+h6 {
  margin-top: 0;
}

.tl_point {
  display: inline-block;
}

.tl_point em {
  color: #fff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  line-height: 1;
  vertical-align: baseline;
  padding: 2px 10px;
  margin-right: 10px;
}


/*++++++++++++++++++++++++++++
page_tl
++++++++++++++++++++++++++++*/

.page_tl {
  padding-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
  position: relative;
}

.page_tl .bg_img {
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
}
.page_tl .bg_img img {
width:850px;
}
.page_tl .icon {
  position: relative;
}

.page_tl .level_01 {
  position: relative;
}

.page_tl .bg_img+* {
  min-height: 210px;
  z-index: 2;
  margin-left: 50px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.page_tl .level_01 {
  margin-bottom: 0;
  position: relative;
  z-index: 3;
        display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.page_tl .bg_img+.level_01, .page_tl .bg_img+.icon+.level_01 {
  color: #fff !important;
  margin-right: 40px;
}

.page_tl .icon {
  width: 120px;
  height: 120px;
}

.page_tl .icon img {
  width: 120px;
}

.page_tl .icon+.level_01 {
  margin-left: 25px;
  -webkit-flex: 1;
  flex: 1;
}

.page_tl .cat_name {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  padding-bottom: 7px;
}

.page_tl .page_tl_provider_logo {
  max-height: 25px;
  margin: 0px 0px 10px;

  @media screen and (max-width: 600px) {
    max-height: 16px;
  }
}

/*++++++++++++++++++++++++++++
ノーマル
++++++++++++++++++++++++++++*/

.level_01 {
  font-size: 5.5rem;
  font-weight: 700;
  line-height: 1.4;
  font-size: 4rem;
  margin-bottom: 20px;
  width: 100%;
}

.level_01 .small {
  font-size: 3.5rem;
  font-weight: 400;
  vertical-align: baseline;
}

.category_detail .level_01, .special_detail .level_01 {
  margin-bottom: 0;
}

.level_02, .post_page .article_con h2:not(.level_03) {
  font-size: 2.4rem;
  font-weight: 700;
  border-bottom-width: 5px;
  border-bottom-style: solid;
  margin-bottom: 20px;
  margin-top: 80px;
  line-height: 1.6;
  padding-bottom: 6px;
}

.level_02 a, .post_page .article_con h2 a {
  position: relative;
  text-decoration: none;
  padding-left: 23px;
  overflow: hidden;
}

.level_02 a:before, .post_page .article_con h2 a:before {
  content: "";
  border-top-width: 2px;
  border-top-style: solid;
  border-right-width: 2px;
  border-right-style: solid;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 14px;
  height: 14px;
  position: absolute;
  left: -4px;
  top: 10px;
}

.level_02 a:hover, .post_page .article_con h2 a:hover {
  text-decoration: none;
  text-decoration: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

.level_02_big {
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 15px;
  margin-top: 60px;
  line-height: 1.4;
}

.level_02_simple {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 15px;
  margin-top: 45px;
  line-height: 1.6;
}

.level_03, .post_page .article_con h3 {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 15px;
  margin-top: 30px;
  line-height: 1.7;
  padding-left: 17px;
  position: relative;
}

.level_03:before, .post_page .article_con h3:before {
  position: absolute;
  width: 5px;
  height: 98%;
  height: -webkit-calc(100% - 6px);
  height: calc(100% - 6px);
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

.level_03_simple {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.7;
}

.level_04, .post_page .article_con h4,.jiten_detail h3 {
  font-weight: 700;
  margin-bottom: 3px;
  margin-top: 5px;
}

.maincat_tl {
  padding-top: 100px;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.maincat_tl img {
  width: 150px;
  margin-right: 45px;
}

.maincat_tl .txt {
  font-size: 8rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
}


/*++++++++++++++++++++++++++++
ユニーク
++++++++++++++++++++++++++++*/

.level_type_02 {
  text-align: center;
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 5px;
  margin-top: 50px;
  line-height: 1.6;
}

.level_special_02 {
  text-align: center;
  font-size: 4rem;
  font-weight: 700;
  margin: 130px auto 30px;
}

.level_fukidashi_txt {
  position: relative;
  background: url(../../assets/images/shape_fukidashi.png) left center no-repeat;
  background-size: 180px 160px;
  font-size: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 60px;
}

.level_fukidashi_txt:before {
  content: "";
  display: block;
  height: 160px;
  width: 0px;
  position: relative;
  z-index: 1;
}

.level_fukidashi_txt .fukidashi {
  font-size: 1.8rem;
  width: 160px;
  justify-content: center;
  vertical-align: middle;
  text-align: center;
  font-weight: 700;
  line-height: 1.2;
  padding-bottom: 10px;
  position: relative;
  z-index: 2;
}

.level_fukidashi_txt .fukidashi em {
  display: block;
  line-height: 1;
  font-size: 8rem;
}

.level_fukidashi_txt .tl {
  width: 98%;
  width: -webkit-calc(100% - 195px);
  width: calc(100% - 195px);
  position: relative;
  z-index: 2;
  margin-left: auto;
}

.level_fukidashi_txt+section>.level_type_02:first-of-type {
  margin-top: 0;
}

.level_fukidashi_txt .fukidashi_1s {
  font-size: 9rem;
  line-height: 1;
}

.level_fukidashi_txt_big {
  margin-bottom: 10px;
}

.level_fukidashi_txt_big .tl {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
}


/*++++++++++++++++++++++++++++
ノーマル
++++++++++++++++++++++++++++*/

.catpage_mv {
  height: 500px;
  background: url(../../assets/images/kagaku/mv.png) center center repeat-x;
  background-size: auto 500px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.catpage_mv .icon {
  text-align: center;
  width: 240px;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  padding-top: 10px;
}

.catpage_mv .icon img {
  width: 120px;
}

.catpage_mv .txt {
  background: #fff;
  padding: 0 20px 20px;
  font-weight: 700;
  font-size: 1.8rem;
}

.catpage_mv .tl {
  font-weight: 700;
  font-size: 6rem;
  text-align: center;
  background: #fff;
  padding-top: 10px;
  line-height: 1.6;
}

.catpage_mv .mv_inner {
  width: 520px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ボタン
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.btn a, input[type="submit"], .btn_style .in {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  padding-bottom: 5px;
  position: relative;
  z-index: 1;
  background: #fff;
  background-size: 12.5px 12.5px;
  border-width: 2px;
  border-style: solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  padding: 5px 20px;
  display: inline-block !important;
  font-size: 2rem;
  line-height: 1.6;
  margin-bottom: 5px;
  text-decoration: none;
  color: #333 !important;
  font-weight: 700;
  transition: 0.2s ease;
  -webkit-transition: 0.2s ease;
}

.btn_style .in, .mod_label_panel a, .mod_label_panel a .btn {
  margin-bottom: 5px;
}

.btn a[href$=".pdf"] {
  padding-left: 62px;
}

.btn a[href$=".pdf"]:before {
  position: absolute;
  content: "";
  width: 25px;
  height: 30px;
  left: 20px;
  background: url(../../assets/images/icon_pdf.png) 0 0 no-repeat;
  background-size: contain;
  top: 50%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

.btn_color a, .btn_color input {
  color: #fff !important;
}

.mod_btn_narabi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.mod_btn_narabi .col_in .btn a {
  width: 325px;
  padding: 5px 5px;
}

.mod_btn_narabi .col_in+.col_in {
  margin-left: 50px;
}

.btn_01 a, .btn_01 input[type="submit"] {
  text-align: center;
  text-decoration: none;
  font-size: 3rem;
}

.btn_more {
  text-align: center;
  margin-top: 35px
}

.btn_more a {
  min-width: 250px;
}

.btn_big a {
  text-align: center;
  font-size: 4rem;
  padding-top: 30px;
  padding-bottom: 30px;
}

.btn_xbig a, .btn_xbig input[type="submit"] {
  width: 600px;
  font-size: 6rem;
  margin-top: 150px;
  padding: 12px 10px;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}

.btn_xbig_long a {
  width: inherit;
  font-size: 5rem;
  padding: 20px 40px;
}

.btn_xbig a span {
  display: block;
  font-size: 2rem;
  margin-bottom: -11px;
  padding-top: 7px;
}

.btn.btn_wide a {
  min-width: 275px;
}

.btn_white_nomal a {
  background-image: none;
}

.btn_white a {
  background-image: none;
  padding: 11px 20px;
}

.btnbanner .cat_btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.btnbanner .cat_btn_area li {
  width: 47.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.btnbanner .cat_btn_area li:nth-child(2n) {
  margin-left: 5%;
}

.btnbanner .cat_btn_area li+li:not(:nth-child(1)):not(:nth-child(2)) {
  margin-top: 50px;
}

.btnbanner .cat_btn_area li a {
  width: 100%;
  font-size: 2.5rem;
  line-height: 1.4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-height: 125px;
  padding: 15px 20px;
}

.btnbanner .cat_btn_area li a:before {
  position: absolute;
  content: "";
  right: 0px;
  top: 0;
  width: 100%;
  height: 100%
}

.btnbanner .cat_btn_area li.space_btn_bg01 a:before {
  background: url(../../assets/images/space_icon01.png) right 20px center no-repeat;
  background-size: 121px auto;
}

.btnbanner .cat_btn_area li.space_btn_bg02 a:before {
  background: url(../../assets/images/space_icon02.png) right 20px center no-repeat;
  background-size: 121px auto;
}

.btnbanner .cat_btn_area li.space_btn_bg03 a:before {
  background: url(../../assets/images/space_icon03.png) right 20px center no-repeat;
  background-size: 121px auto;
}

.btnbanner .cat_btn_area li a p {
  display: block;
  width: 100%;
  position: relative;
}

.btnbanner .btn {
  text-align: center;
}

.btnbanner .btn img {
  width: 271px;
}

.btn.btn_big_more a {
  width: 400px;
  font-size: 4rem;
  background-image: none;
  color: #fff;
  padding: 16px;
}

.page_tag.btn {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.page_tag.btn a {
  font-size: 1.3rem;
  padding: 3px 6px;
}

.page_tag.btn li {
  margin-top: 10px;
  margin-right: 10px;
}

.btn_style_in {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border-width: 1px;
  border-style: solid;
  padding: 8px 20px;
  display: block;
  margin-bottom: 5px;
  font-size: 2rem;
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
  color: #FFF;
  font-weight: 700;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}
.btn_preparation a {
    -webkit-box-shadow: 0 5px 0 #958fa11 !important;
    -moz-box-shadow: 0 5px 0 #958fa11 !important;
    box-shadow: 0 5px 0 #958fa1 !important;
    background-color: #b7b4c0 !important;
    border-color: #b7b4c0 !important;
    pointer-events: none;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
big_bnr
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.big_bnr {
    position: relative;
    padding: 20px 20px 20px 0;
    display: table;
    width: 100%;
}

.big_bnr:before {
  position: absolute;
  content: "";
  border-style: solid;
  border-width: 2px;
  border-radius: 5px;
  height: 90%;
  height: -webkit-calc(100% - 40px);
  height: calc(100% - 40px);
  width: 98%;
  width: -webkit-calc(100% - 20px);
  width: calc(100% - 20px);
  background: url(../../assets/images/big_bnr_bg_shinro.png) center bottom no-repeat;
  background-size: 100% auto;
      left: 0;
    top: 20px;
}
.big_bnr:after {
content: "";
display: inline-block;
vertical-align: middle;
height: 100%;
min-height: 380px;
}

.big_bnr .txt_block {
    z-index: 2;
    position: relative;
    padding: 40px 39% 120px 50px;
    width: 100%;
    display: table-cell;
    vertical-align: top;
}

.big_bnr .tl {
  font-size: 4rem;
  font-weight: 700;
  color: #333;
  line-height: 1.5;
  margin-bottom: 5px;
}

.big_bnr .btn {
    position: absolute;
    bottom: 40px;
    left: 50px;
    width: 55%;

}

.big_bnr .btn a {
  width: 100%;
  text-align: center;
}

.big_bnr figure {
  width: 43%;
  max-width: 320px;
  position: absolute;
  top: 50%;
  right: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  z-index: 2;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pager
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.pager {
  margin: 0 auto 0 auto;
  width: auto;
  display: table;
  padding: 0 180px;
  position: relative;
  font-weight: 700;
  font-size: 2rem;
}

.pager a {
  text-align: center;
  padding: 9px 0;
}

.pager .prev a, .pager .next a {
  width: 170px;
}

.pager ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  overflow: hidden;
}

.pager ul li {
  display: table;
  text-align: center;
}

.pager ul li+li {
  padding-left: 5px;
}

.pager ul a {
  width: 47px;
  margin-left: 0;
  display: table-cell;
  vertical-align: middle;
  padding-left: 3px;
  padding-right: 3px;
}

.pager ul .cr a, .pager ul .cr a:hover {}

.pager ul a:before {
  display: none;
}

.pager ul .ellipsis {
  width: 65px;
}

.pager .prev {
  position: absolute;
  left: 0;
  top: 0;
}

.pager a {
  white-space: nowrap;
  background-image: none;
}

.pager .next {
  position: absolute;
  right: 0;
  top: 0;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
form
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/


/*++++++++++++++++++++++++++++
radio
++++++++++++++++++++++++++++*/

.radio_label {
  cursor: pointer;
  position: relative;
}

.radio_label input[type="radio"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.radio_label input[type="radio"]+.radio_parts {
  border-width: 2px;
  border-style: solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  width: 100%;
  display: block;
  font-size: 2rem;
  font-weight: 700;
  padding: 30px 20px 30px 80px;
  position: relative;
  background: #ffffff;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}

.radio_label input[type="radio"]+.radio_parts:before {
  z-index: 0;
  width: 40px;
  height: 40px;
  border: 4px #cccccc solid;
  content: '';
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  border-radius: 40px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 22px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(0%, -50%);
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}

.radio_label input[type="radio"]+.radio_parts:after {
  content: "";
  position: absolute;
  height: 20px;
  width: 20px;
  top: 50%;
  left: 32px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(0%, -50%);
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  border-radius: 40px;
  opacity: 0;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}

.radio_label input[type="radio"]:checked+.radio_parts {
  background: #fff000;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}

.radio_label input[type="radio"]:checked+.radio_parts:after {
  opacity: 1;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}

.radio_label input[type="radio"]:checked+.radio_parts:before {
  border-color: #1fa0dc;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}


/*++++++++++++++++++++++++++++
form_big_area
++++++++++++++++++++++++++++*/

.form_big_area .form_big_area_con {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.form_big_area .form_big_area_con .btn input {
  background-image: url(../../assets/images/icon_search.png);
  background-position: 35px 18px;
  background-repeat: no-repeat;
  background-size: 39px 40px;
  height: 76px;
  padding: 5px 10px 0px 61px;
  margin-left: 10px;
  width: 240px;
}

.form_big_area .form_big_area_con input[type=text] {
  -webkit-box-shadow: inset 4px 4px 0 #ccc;
  -moz-box-shadow: inset 4px 4px 0 #ccc;
  box-shadow: inset 4px 4px 0 #ccc;
  background: #fff;
  height: 80px;
  padding: 0px 40px 0 40px;
  border-width: 2px;
  border-style: solid;
  width: 600px;
  line-height: 1;
  font-size: 3rem;
}

.form_big_area.form_big_area_wide .form_big_area_con {
  justify-items: center;
}

.form_big_area.form_big_area_wide .form_big_area_con input[type=text] {
  width: 100%;
}

.form_big_area.form_big_area_wide .btn {
  margin-top: 20px;
  text-align: center;
  width: 100%;
}

.form_big_area.form_big_area_wide .form_big_area_con .btn input {
  margin-left: 0;
  width: 340px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
リスト
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.li_ml>li {
  font-size: 2rem;
}

main .li_ml>li+li {
  margin-top: 40px;
}

main .li_ml_nirmal>li+li {
  margin-top: 35px;
}

.li_narabi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: -10px;
}

.li_narabi li {
  margin-right: 10px;
  margin-top: 10px;
}

.li_narabi.btn a {
  padding: 5px 10px;
}


/*++++++++++++++++++++++++++++
通常num
++++++++++++++++++++++++++++*/

.li_num, .post_page .article_con ol {
    padding-left: 2em;
}

.li_num>li, .post_page .article_con ol>li {
  position: relative;
  padding-left: 0.5em;
  list-style-type: decimal;
}

.li_num>li+li, .post_page .article_con ol>li+li {
  margin-top: 5px;
}


/*++++++++++++++++++++++++++++
通常li
++++++++++++++++++++++++++++*/

.li_dot>li, .post_page .article_con ul>li {
  position: relative;
  padding-left: 1em;
  /* display: block; */
}

.li_dot>li:before, .post_page .article_con ul>li:before {
  width: 5px;
  height: 5px;
  border-radius: 100px;
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  text-align: right;
  background: #333;
}

.li_dot>li+li, .post_page .article_con ul>li+li {
  margin-top: 5px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
table
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

table {
  position: relative;
  border-width: 2px;
  border-style: solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

th, td {
  padding: 9px 18px 11px 18px;
  vertical-align: top;
}

th {
  width: 25%;
  font-weight: 700;
}

td {
  background: #fff;
}

table thead th, table tbody th, table tbody td {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

table thead th+th {
  border-left: 1px solid #ffffff;
}

table tbody>tr>td:not(:first-child) {
  border-left-width: 1px;
  border-left-style: solid;
}

table tbody tr:last-child th, table tbody tr:last-child td {
  border-bottom: none;
}

table.table_step th {
  background: url(../../assets/images/dot_blue_10px_a30.png) left top repeat #fff;
  background-size: 12.5px 12.5px;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  font-size: 3rem;
  width: 80px;
  line-height: 1;
}


/*++++++++++++++++++++++++++++
calendar_block
++++++++++++++++++++++++++++*/

table.calendar_block {
  overflow: hidden;
  table-layout: fixed;
}

table.calendar_block thead th {
  color: #fff;
  text-align: center;
  position: relative;
  width: 14%;
  width: -webkit-calc(100% / 7);
  width: calc(100% / 7);
  font-weight: 700;
}

table.calendar_block td {
  padding: 3px 10px;
  line-height: 1.5;
  position: relative;
}

table.calendar_block td:before {
  display: block;
  float: left;
  height: 100px;
  content: "";
}

table.calendar_block tbody tr:nth-child(2n) td {
  background: #e1f3f6;
}

table.calendar_block .date_num {
  font-weight: 700;
  font-size: 2rem;
  text-decoration: none;
}

table.calendar_block .date_num a {
  text-decoration: none;
}

table.calendar_block .moon {
  font-weight: 700;
  font-size: 2rem;
  position: relative;
  padding-left: 25px;
}

table.calendar_block .moon:before {
  position: absolute;
  content: "";
  left: 0;
  top: 5px;
  width: 20px;
  height: 20px;
}

table.calendar_block .moon.moon_kagen:before {
  background: url(../../assets/images/moon_kagen.png) left top no-repeat;
  background-size: cover;
}

table.calendar_block .moon.moon_shingetsu:before {
  background: url(../../assets/images/moon_shingetsu.png) left top no-repeat;
  background-size: cover;
}

table.calendar_block .moon.moon_jougen:before {
  background: url(../../assets/images/moon_jougen.png) left top no-repeat;
  background-size: cover;
}

table.calendar_block .moon.moon_mangetsu:before {
  background: url(../../assets/images/moon_mangetsu.png) left top no-repeat;
  background-size: cover;
}

table.calendar_block .date.diff_date {
  color: #ccc;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
画像
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

figcaption, .figcaption_style {
  font-size: 1.3rem;
  padding-top: 5px;
  text-align: justify !important;
}

.post_page .article_con>figure {
  margin-top: 20px;
  text-align: center;
}

.post_page .article_con>figure img {
  border: 1px solid #ccc;
}

.post_page .article_con>figure+*:not(h2):not(h3):not(h4):not(h5) {
  margin-top: 45px;
}

img.img_834 {
  max-width: 834px;
}

img.img_677 {
  max-width: 677px;
}

img.img_325 {
  max-width: 325px;
}

img.img_232 {
  max-width: 232px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
youtube
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
eye_catching
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.eye_catching {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  text-align: center;
  margin-bottom: 20px;
}

.eye_catching img {
  border: 1px solid #cccccc;
}

.eye_catching img {
  max-width: 100%;
  display: inline-block;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
page_cat
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.page_cat_wrap {
  display: flex;
  align-items: center;
}

.page_cat_wrap time {
  margin-top: 10px;
  color: #666;
  display: block;
  margin-left: 10px;
}

.page_cat {
  margin-top: 10px;
  display: flex;
}

.page_cat ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.page_cat li {
  padding: 0;
}

.page_cat li:before {
  display: none;
}

.page_cat li+li {
  margin-left: 10px;
}

.page_cat .pr_tag span,
.page_cat a {
  margin-left: 0;
  border-width: 2px;
  border-style: solid;
  color: #fff !important;
  text-decoration: none;
  border-radius: 5px;
  padding: 3px 15px;
  display: block;
  font-weight: 700;
}

.page_cat .pr_tag span {
  background: #ccc;
  border-color: #ccc;
}

.page_cat dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
feed_item
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.feed_item + .feed_item {
  margin-top: 20px;
}

.feed_item .feed_item_inner {
  display: flex;
  padding: 20px;
  background: #fff;
  border-width: 2px;
  border-style: solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 5px;
  background: #fff;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  text-decoration: none;
  color: #333 !important;
}

.feed_item .feed_item_img {
	position: relative;
  width: 320px;
  height: 200px;
  display: block;
  margin-right: 20px;
}

.feed_item .feed_item_img img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
}

.feed_item .feed_item_desc .feed_item_ttl {
  padding: 0;
  margin-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: 700;
}

.feed_item .feed_item_desc {
  flex: 1 1 0%;
  position: relative;
}

.feed_item .feed_item_desc .feed_item_provider_logo {
  max-height: 25px;
  margin: 0px 0px 10px;

  @media screen and (max-width: 600px) {
    max-height: 20px;
    margin: 10px 0px;
  }
}

.feed_item .feed_item_info {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.feed_item .feed_item_tags {
  max-width: 230px;
  margin-bottom: -5px;
  width: 100%;
}

.feed_item .feed_item_tags {
  align-items: flex-end;
}

.feed_item .feed_item_tags li {
  max-width: 160px;
}

.feed_item .feed_item_tags .pr_tag {
}

.feed_item .feed_item_info .feed_item_btn {
  position: static;
  width: 230px;
  margin: 0;
}

.feed_item .feed_item_info .feed_item_btn a {
  width: 100%;
  display: block;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
parents_head
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.parents_head {
  background: #fdf0ef;
  padding-bottom: 30px;
}

.parents_head_ttl {
  display: flex;
  max-width: 900px;
  margin: 0 auto;
  padding: 25px 0 30px;
}

.parents_head_ttl .tl {
  position: relative;
  font-size: 4rem;
  color: #f091aa;
  font-weight: 700;
  margin-right: 40px;
  line-height: 1;
  padding-top: 5px;
}

.parents_head_ttl .tl span {
  position: absolute;
  -webkit-transform: rotate(-2deg);
  transform: rotate(-2deg);
  width: 136px;
  bottom: -20px;
  right: -25px;
}

.parents_head_ttl .txt {
  color: #f091aa;
  font-weight: 700;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
スライダー
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.slick-slider {
  margin-bottom: 40px;
}

.slick-slide {
  position: relative;
  outline: none;
}

.slick-slide .caption {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  padding: 20px;
  background: rgba(0, 0, 0, .5);
  color: #fff;
  opacity: 0;
  transition: .3s ease;
}

.slick-current .caption {
  opacity: 1;
  transition-delay: .5s;
  padding: 9px 15px 11px 15px;
}

.slider .slick-dots li button {
  width: 15px;
  height: 15px;
}

.slider .slick-dots li button {
  background: #ccc;
  opacity: 1;
}

.slider .slick-dots .slick-active button {
  opacity: 1;
  background: #999;
}


/*++++++++++++++++++++++++++++
slider_top
++++++++++++++++++++++++++++*/

.slider_top_wrap {
  position: relative;
  overflow: hidden;
  text-align: center;
}

.slider_top {
  height: 500px;
  margin-bottom: 40px;
  overflow: hidden;
}

.slider_top .slick-prev:before, .slider_top .slick-next:before {
  content: "";
  opacity: 1;
  transition: 0.5s ease;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  width: 56px;
  height: 61px;
  top: 50%;
  position: absolute;
}

.slider_top .slick-prev:before {
  background: url(../../assets/images/slide_arrow_l.png) center center no-repeat;
  background-size: contain;
  right: 20px;
}

.slider_top .slick-next:before {
  background: url(../../assets/images/slide_arrow_r.png) center center no-repeat;
  background-size: contain;
  left: 20px;
}

.slider_top .slick-next {
  right: 50px;
  right: -webkit-calc(50% - 400px);
  right: calc(50% - 400px);
}

.slider_top .slick-slide img {
  margin-left: auto;
  margin-right: auto;
  width: 850px;
}

.slider_top button.slick-prev.slick-arrow:hover:before, .slider_top button.slick-next.slick-arrow:hover:before {
  opacity: 0.7;
  transition: 0.5s ease;
}

.slider_top button.slick-prev.slick-arrow {
  left: 0;
  left: -webkit-calc(50% - 651px);
  left: calc(50% - 651px);
  width: 226px;
  height: 100%;
  background: url(../../assets/images/slide_side_l.png) right top no-repeat;
  background-size: auto 100%;
  z-index: 100;
}

.slider_top button.slick-next.slick-arrow {
  right: 0;
  right: -webkit-calc(50% - 651px);
  right: calc(50% - 651px);
  width: 226px;
  height: 100%;
  background: url(../../assets/images/slide_side_r.png) left top no-repeat;
  background-size: auto 100%;
  z-index: 100;
}

.slider_top.slick-slider:before {
  position: absolute;
  content: "";
  background: #333333;
  opacity: 0.8;
  top: 0;
  left: -100%;
  left: -webkit-calc(50% + 425px);
  left: calc(50% + 425px);
  z-index: 1;
  width: 100%;
  height: 100%;
}

.slider_top.slick-slider:after {
  position: absolute;
  content: "";
  background: #333333;
  opacity: 0.8;
  top: 0;
  right: -100%;
  right: -webkit-calc(50% + 425px);
  right: calc(50% + 425px);
  z-index: 1;
  width: 100%;
  height: 100%;
}
.slider_top .slick-list {
  height: 100%;
}
.slider_top .slick-list.draggable {
    position: relative;
}

.slider_top .slick-list.draggable:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 850px;
    height: 500px;
    background: url(../images/slider_top_cr.png) center center no-repeat;
    background-size: 100% 100%;
    z-index: 100;
    pointer-events: none;
}

.slider_top .slick-dots li button:before {
  color: #eeeeee !important;
  opacity: 1 !important;
  font-size: 15px !important;
}

.slider_top .slick-dots li.slick-active button:before {
  color: #999999 !important;
  opacity: 1 !important;
}

.slider_top .slick-dots li {
  margin: 0 3px !important;
}

.slider_top .slick-dots {
  bottom: -30px !important;
}

/*++++++++++++++++++++++++++++
parents_slider
++++++++++++++++++++++++++++*/
.parents_slider {
  display: none;
  margin: 0;
}

.parents_slider.slick-initialized {
  display: block;
}

.parents_slider .slick-prev,
.parents_slider .slick-next {
  width : 28px;
  height: 30px;
  top: 102px;
  background: url(../images/parent_slider_arrow.png) center center no-repeat;
  background-size: 28px auto;
  -webkit-transform: none;
  transform: none;
}

.parents_slider .slick-next {
  right: -36px;
}

.parents_slider .slick-prev {
  left: -36px;
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

.parents_slider .slick-prev:hover,
.parents_slider .slick-next:hover,
.parents_slider .slick-prev:focus,
.parents_slider .slick-next:focus {
  background: url(../images/parent_slider_arrow.png) center center no-repeat;
  background-size: 100% auto;
}

.parents_slider .slick-prev:before ,
.parents_slider .slick-next:before {
  display: none;
}

.parents_slider figure {
  width: 100%;
	position: relative;
	height: 230px;
	display: block;
}

.parents_slider figure img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
}

.parents_slider .slick-slide {
  margin: 0 15px;
}

.parents_slider .slick-list {
  margin: 0 -15px;
}

.parents_slider_link {
  width: 100%;
  text-decoration: none;
  position: relative;
}

.parents_slider_ttl {
  font-size: 1.4rem;
  color: #666;
  font-weight: 700;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

.parents_other_info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: -5px;
}

.parents_other_info_list {
  display: flex;
  flex-wrap: wrap;
}

.parents_other_info_list li {
  margin-right: 10px;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
}
.parents_other_info_list li span,
.parents_other_info_list li a {
  text-decoration: none;
  font-size: 1.3rem;
  display: block;
  border: 1px solid #F091AA;
  background: #fff;
  color: #F091AA;
  padding: 3px 15px;
  border-radius: 5px;
}

.parents_other_info li time {
  font-size: 1.3rem;
}

.parents_other_info_list .pr_tag span {
  color: #fff;
  border: 1px solid #ccc;
  background: #ccc;
}


/*++++++++++++++++++++++++++++
calendar_block
++++++++++++++++++++++++++++*/

.slider_himitsu.slick-slider {
  background: #000;
  text-align: center;
  color: #fff;
}

.slider_himitsu.slick-slider .slick-slide img {
  margin-left: auto;
  margin-right: auto;
  max-height: 600px;
  max-width: 750px;
}

.slider_himitsu.slick-slider .slick-slide p {
  padding: 30px 0 10px 0;
  height: 640px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.slider_himitsu.slick-slider .slick-counter {
  text-align: center;
  padding-bottom: 10px;
}

.slider_himitsu.slick-slider[dir="rtl"] .slick-next {
  left: 5px;
  width: 40px;
  height: 40px;
  z-index: 50;
}

.slider_himitsu.slick-slider[dir="rtl"] .slick-next:before {
  content: "";
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  width: 25px;
  height: 25px;
  display: block;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

.slider_himitsu.slick-slider[dir="rtl"] .slick-prev {
  right: 5px;
  width: 40px;
  height: 40px;
  z-index: 50;
}

.slider_himitsu.slick-slider[dir="rtl"] .slick-prev:before {
  content: "";
  border-bottom: 4px solid #fff;
  border-left: 4px solid #fff;
  width: 25px;
  height: 25px;
  display: block;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  margin: 0;
  margin-right: 13px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hr
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/


/*++++++++++++++++++++++++++++
hr_hasami
++++++++++++++++++++++++++++*/

.hr_hasami {
  width: 100%;
  position: relative;
  z-index: 10;
}

.hr_hasami p {
  position: absolute;
  width: 100%;
  height: 30px;
  content: "";
  background: url(../../assets/images/hr_dash.gif) left center repeat-x;
  background-size: 20px 2px;
  left: 0;
  top: -15px;
}

.hr_hasami img {
  width: 37px;
  position: absolute;
  top: 0px;
}

.hr_hasami+h2, .hr_hasami+h3, .hr_hasami+h4 {
  padding-top: 90px
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PR
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.pr {
  overflow: hidden;
  text-align: center;
}

.pr img {
  width: 100%;
}
.pr,
.pr.col_02 .col_in {
text-align: center;
}
.pr>div,
.pr.col_02 .col_in>div {
display:inline-block;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hug_img
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.hug_img {
  overflow: hidden;
  margin-top: 45px;
  margin-bottom: -40px;
}

h1+.hug_img, h2+.hug_img, h3+.hug_img, h4+.hug_img, h5+.hug_img {
  margin-top: 0;
}

.hug_img+*:not(.hug_img) {
  margin-top: 0;
}
.hug_img figure img {
  border: 1px solid #ccc;
}

.hug_img figure, .hug_img .img_box {
  max-width: 400px;
  position: relative;
  z-index: 1;
  text-align: center;
}

.hug_img figure+.sent, .hug_img .sent+figure, .hug_img .img_box+.sent, .hug_img .sent+.img_box {
  margin-bottom: 40px
}

.hug_img.img_r figure, .hug_img.img_r .img_box {
  float: right;
  margin: 0 0 40px 50px;
}

.hug_img.img_l figure, .hug_img.img_l .img_box {
  float: left;
  max-width: 400px;
  margin: 0 50px 40px 0;
  position: relative;
  z-index: 1;
}

.hug_img .img_box figure {
  float: none;
  margin: 0;
  width: 100%;
}

.hug_img.img_r.hug_img_txtnoflow_half .txt_block {
  float: left;
  width: 50%;
}

.hug_img.img_l.hug_img_txtnoflow_half .txt_block {
  float: right;
  width: 50%;
}

.hug_img_txtnoflow_half figure, .hug_img_txtnoflow_half .img_box {
  width: 40%;
  width: -webkit-calc(50% - 50px);
  width: calc(50% - 50px);
  max-width: 100%;
  margin-bottom: 0;
}

.hug_img_txtnoflow_img400 figure, .hug_img_txtnoflow_img400 .sent {
  width: 400px;
  margin-bottom: 0;
}

.hug_img.img_r.hug_img_only_img220 {
  padding: 0;
  margin: 0;
}

.hug_img.img_r.hug_img_only_img220 figure {
  width: 220px;
  margin-bottom: 0;
}

.hug_img.img_r.hug_img_only_img220 .sent_540 {
  width: 540px;
  float: left;
  margin-bottom: 0;
}

.hug_img.img_r_img375 figure {
  width: 375px;
  margin-bottom: 0;
}

.hug_img.img_r .w425 {
  width: 425px;
  float: left;
  margin-bottom: 0;
}

.hug_img.img_l.tour_lead_thum_area figure {
  width: 250px;
  margin-right: 25px;
  margin-bottom: 0;
}

.hug_img.img_l.tour_lead_thum_area .sent {
  float: right;
  width: 575px;
  margin-bottom: 0;
}
.hug_img ul,
.hug_img ol {
  display: inline-block;
  width: 400px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
blockquote
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

blockquote {
  /* background: #e1f3f6; */
  padding: 15px 20px;
  border: 2px solid #cccccc;
  border-radius: 5px;
}

.color_bg blockquote {
  background: #fff;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
fukidashi_comment
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.fukidashi_comment {
  position: relative;
}

.fukidashi_comment:before {
  position: absolute;
  content: "";
  width: 1px;
  height: 12px;
  transform: rotate(32deg);
  -webkit-transform: rotate(32deg);
  -moz-transform: rotate(32deg);
  -o-transform: rotate(32deg);
  -ms-transform: rotate(32deg);
  top: -10.5px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  z-index: 12;
  left: 50%;
  left: -webkit-calc(50% - 3.5px);
  left: calc(50% - 3.5px);
}

.fukidashi_comment:after {
  position: absolute;
  content: "";
  width: 1px;
  height: 12px;
  transform: rotate(25deg);
  -webkit-transform: rotate(-32deg);
  -moz-transform: rotate(-32deg);
  -o-transform: rotate(-32deg);
  -ms-transform: rotate(-32deg);
  right: 50%;
  right: -webkit-calc(50% - 3.5px);
  right: calc(50% - 3.5px);
  top: -10.5px;
  z-index: 12;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}

.fukidashi_comment .fukidashiguchi {
  position: absolute;
  content: "";
  width: 12px;
  height: 10px;
  top: -9px;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
  transform: translate(-50%, 0%);
  background: url(../../assets/images/dot_yellow_20px_a50_a50.png) center top repeat #fff;
  background-size: 25px;
  z-index: 10;
}

.fukidashi_comment .fukidashiguchi:before {
  position: absolute;
  content: "";
  top: 0;
  left: 48%;
  left: -webkit-calc(50% - 6px);
  left: calc(50% - 6px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 0;
  border-color: #fff transparent transparent transparent;
}

.fukidashi_comment .fukidashiguchi:after {
  position: absolute;
  content: "";
  top: 0;
  right: 48%;
  right: -webkit-calc(50% - 6px);
  right: calc(50% - 6px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 6px 10px 0;
  border-color: transparent #fff transparent transparent;
}

.fukidashi_comment p {
  background: url(../../assets/images/dot_yellow_20px_a50_a50.png) center -9px repeat;
  background-size: 25px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border-width: 1px;
  border-style: solid;
  display: block;
  margin-top: 15px;
  text-align: center;
  padding: 6px;
}

.fukidashiguchi_no .fukidashi_comment:before, .fukidashiguchi_no .fukidashi_comment:after {
  display: none;
}

.fukidashiguchi_no .fukidashi_comment p {
  margin-top: 0;
}


/***************************************************************************************
------------------------------
モジュール
------------------------------
*****************************/


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_img_panel
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_img_panel a {
  text-decoration: none;
  color: #333;
  line-height: 1.7;
  font-weight: 700;
}

.mod_img_panel .img {
  margin-bottom: 10px;
  position: relative;
  z-index: 1;
  border-width: 2px;
  border-style: solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  overflow: hidden;
  height: 115px;
}

.mod_img_panel .img img {
  max-width: inherit;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.mod_img_panel a .txt {
  color: #333;
  font-weight: 700;
  display: inline;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  background: none;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_label_panel
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_label_panel li {
  position: relative;
}

.mod_label_panel .btn {
  position: absolute;
  width: calc(100% - 36px);
  bottom: 20px;
  z-index: 1;
  margin: 0 16px;
  padding: 0;
}

.mod_label_panel .btn_style_in {
  width: 100%;
  display: block;
}

.mod_label_panel a {
  background: #fff;
  display: block;
  border-width: 2px;
  border-style: solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 5px;
  background: #fff;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
  text-decoration: none;
  color: #333 !important;
}

.mod_label_panel figure {
  overflow: hidden;
  position: relative;
  height: 157px;
  background: #fff;
}

.mod_label_panel figure img {
  max-width: inherit;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.mod_label_panel figure+dl>dd, .mod_label_panel figure+.tl {
  padding: 10px 17px 90px;
  position: relative;
  font-weight: 400;
  font-weight: 700;
}

.mod_label_panel figure+dl>dt .txts {
  font-size: 1rem;
  vertical-align: baseline;
}

.mod_label_panel figure+dl>dd {
  padding: 5px 17px 50px;
  position: relative;
  font-weight: 400;
}

.mod_label_panel_02 figure+dl>dt {
  color: #333;
  background: none;
  padding-bottom: 0;
padding: 0 20px 0;
    font-weight: 700;
}

.mod_label_panel_02 figure+dl>dd {
  padding-bottom: 20px;
  text-align: justify !important;
}

.mod_label_panel p {
  padding: 10px 17px;
  text-align: justify !important;
}

.mod_label_panel.no_figure .tl {
  padding: 10px 17px 90px;
  font-weight: 700;
  position: relative;
}

.mod_label_panel_03 figure {
  height: auto;
}

.mod_label_panel_03 img {
  position: relative;
}

.mod_label_panel_03 .fukidashi {
  position: absolute;
  top: -30px;
  right: -25px;
  z-index: 10;
  width: 167px;
  height: 161px;
}

.mod_label_panel_03 a {
  position: relative;
  overflow: inherit;
}

.mod_label_panel_03 figure+dl>dt {
  background: none;
  font-size: 4rem;
  line-height: 1.4;
  padding-bottom: 0;
  padding-top: 20px;
}

.mod_label_panel_03 figure+dl>dt .copy {
  font-size: 2rem;
  display: block;
}

.mod_label_panel_03 figure+dl>dt .small {
  font-size: 3rem;
  vertical-align: baseline;
}

.mod_label_panel_03 figure+dl>dd {
  font-weight: 400;
  padding-bottom: 20px;
}

.mod_label_panel_03 .col_in+.col_in {
  margin-top: 50px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_icon_panel
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_icon_panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  justify-content: center;
  margin-top: -20px;
}

.mod_icon_panel_l {
  justify-content: flex-start;
}

.mod_icon_panel li {
  margin-left: 10px;
  margin-right: 10px;
  margin-top: 20px;
}

.inner02 .mod_icon_panel li {
  margin-left: 0;
  margin-right: 8px;
}

.mod_icon_panel a {
  background-image: none;
  width: 200px;
  padding: 21px 3px 12px 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  height: 100%;
  transition: 0.2s ease;
  -webkit-transition: 0.2s ease;
}

.mod_icon_panel p {
  text-align: center;
  width: 100%;
  color: #333333;
  font-size: 3rem;
}

.mod_icon_panel img {
  width: 91px;
}

.mod_icon_panel a .img {
  margin-bottom: 18px;
}

.mod_icon_panel_icon_big img {
  width: 137px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_icon_block
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_icon_block {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.mod_icon_block figure {
  width: 120px;
  margin-right: 20px;
}

.mod_icon_block .txt_block {
  -webkit-flex: 1;
  flex: 1;
}

.mod_icon_block .tl {
  font-size: 2.4rem;
  font-weight: 700;
  color: #333;
  line-height: 1.6;
  margin-bottom: 5px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_btnbannerimg
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_btnbannerimg li a {
  width: 100%;
  background-image: none;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  padding: 15px;
  padding-bottom: 15px;
}

.inner04 .mod_btnbannerimg .col_02 .col_in, .inner04 .mod_btnbanner_noimg .col_02 .col_in {
  width: 450px;
}

.mod_btnbannerimg li, .mod_btnbanner_noimg li {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.mod_btnbanner_noimg.wide li {
  width: 650px;
}

.mod_btnbannerimg li a, .mod_btnbanner_noimg li a {
  width: 100%;
}

.mod_btnbannerimg li a .img {
  width: 80px;
  margin-right: 20px;
}

.mod_btnbannerimg li a p {
  width: 306px;
}

.mod_btnbannerimg li a p .sub {
  font-size: 1.8rem;
  display: block;
  width: 100%;
}

.mod_btnbannerimg li a p .txt {
  font-size: 2.4rem;
  line-height: 1.4;
  display: block;
  width: 100%;
}

.mod_btnbanner_noimg a {
  background-image: none;
  padding: 15px 20px;
}

.mod_btnbanner_noimg .tl {
  font-size: 2.4rem;
  width: 100%;
  display: block;
  text-align: center;
  margin-bottom: 5px;
}

.mod_btnbanner_noimg .cat_btn_area .out_tl {
  width: 100%;
}

.mod_btnbanner_noimg .txt {
  font-weight: 400;
  font-size: 1.8rem;
  text-align: center;
  display: block;
  line-height: 1.9;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_flow
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_flow>li {
  width: 100%;
}

.mod_flow>li+li {
  margin-top: 50px;
  position: relative;
}

.mod_flow>li+li:before {
  background: url(../../assets/images/icon_arrow.png) center center no-repeat;
  background-size: auto 33px;
  position: absolute;
  content: "";
  width: 100%;
  height: 33px;
  left: 0;
  top: -44px;
}

.mod_flow li>dl {
  width: 100%;
  background-image: none;
  padding: 0;
  overflow: hidden;
}

.mod_flow>li dl:first-of-type dt {
  background: url(../../assets/images/dot_blue_10px_a30.png) left top repeat #fff;
  background-size: 12.5px 12.5px;
  padding-left: 20px;
  width: 320px;
  position: relative;
  overflow: hidden;
  height: 100px;
  float: left;
}

.mod_flow>li dl:first-of-type dt:before {
  position: absolute;
  content: "";
  width: 1px;
  height: 140px;
  transform: rotate(25deg);
  -webkit-transform: rotate(25deg);
  -moz-transform: rotate(25deg);
  -o-transform: rotate(25deg);
  -ms-transform: rotate(25deg);
  left: 150px;
  top: -20px;
}

.mod_flow>li dl:first-of-type dt .step {
  font-size: 6rem;
  line-height: 1;
  padding-top: 17px;
}

.mod_flow>li dl:first-of-type dt .step span {
  font-size: 2rem;
  vertical-align: baseline;
}

.mod_flow>li dl:first-of-type dt .tl {
  position: absolute;
  top: 45px;
  left: 155px;
}

.mod_flow>li dl:first-of-type dd {
  float: right;
  width: 676px;
  padding: 21px 25px 0 25px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.9;
  height: 100px;
}


/*++++++++++++++++++++++++++++
mod_flow　オリジナル
++++++++++++++++++++++++++++*/

.mod_flow>li {
  position: relative;
}

.mod_flow>li .con_wrap {
  border-width: 2px;
  border-style: solid;
  padding-bottom: 5px;
  position: relative;
  z-index: 1;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  display: inline-block;
  font-size: 2rem;
  line-height: 1.6;
  margin-bottom: 5px;
  text-decoration: none;
  color: #333;
  font-weight: 700;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}

.mod_flow>li dl {
  overflow: hidden;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}

.mod_flow>li+li {
  margin-top: 150px;
}

.mod_flow.mod_flow_s>li+li {
  margin-top: 65px;
}

.mod_flow.mod_flow_s>li+li:before {
  top: -40px;
}

.mod_flow>li+li:before {
  top: -100px;
}

.mod_flow>li dl:first-of-type dt {
  width: 312px;
  -webkit-border-radius: 4px 0 0 0;
  -moz-border-radius: 4px 0 0 0;
  border-radius: 4px 0 0 0;
}

.mod_flow>li dl:first-of-type dt .tl {
  font-weight: 700;
  font-size: 1.8rem;
  top: 47px;
  left: 155px;
}

.mod_flow>li dl:first-of-type dd {
  padding: 21px 20px 0 20px;
  width: 684px;
}

.mod_flow .con {
  font-size: 1.6rem;
  padding: 20px;
}

.mod_flow .txt_block>section:first-child>.level_03 {
  margin-top: 0;
}

.mod_flow .level_03 {
  margin-top: 40px;
}

.mod_flow .hug_img {
  margin-top: 0;
}

.mod_flow a img {
  opacity: 1;
  transition: 0.5s ease;
  -webkit-transition: 0.5s ease;
}

.inner03 .mod_flow .col_02 .col_in {
  width: 455px;
  display: block;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_flow_narabi
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.inner02 .mod_flow_narabi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  overflow: hidden;
  width: 100%;
  width: -webkit-calc(100% + 26px);
  width: calc(100% + 26px);
  margin-left: -26px;
}

.inner02 .mod_flow_narabi_cal03 .col_in {
  width: 33%;
  width: -webkit-calc(100% / 3);
  width: calc(100% / 3);
  padding-left: 26px;
  position: relative;
}

.inner02 .mod_flow_narabi .col_in+.col_in:before {
  background: url(../../assets/images/icon_arrow_yoko.png) center center no-repeat;
  background-size: contain;
  content: "";
  width: 18px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 4px;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_book_buy
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_book_buy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.mod_book_buy .img_box {
  width: 400px;
}

.mod_book_buy .info {
  font-size: 1.3rem;
  margin-top: 5px;
}

.mod_book_buy .btn_block {
  width: 425px;
}

.mod_book_buy .btn a {
  font-size: 3rem;
  width: 100%;
  text-align: center;
  padding: 25px 10px;
}

.mod_book_buy .attention {
  position: relative;
  font-size: 1.3rem;
  margin-top: 30px;
  padding-left: 60px;
}

.mod_book_buy .attention:before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  width: 47px;
  height: 47px;
  content: "";
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

.mod_book_buy .attention:after {
  position: absolute;
  content: "！";
  line-height: 1;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  color: #fff;
  font-size: 4.5rem;
  font-weight: 800;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_btn_panel
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_btn_panel.col_04 .col_in {
  margin-top: 75px;
}

.mod_btn_panel>li {
  padding-bottom: 65px;
  position: relative;
}

.mod_btn_panel a {
  color: #333;
  text-decoration: none;
  text-align: center;
}

.mod_btn_panel p {
  text-align: center;
}

.mod_btn_panel .txt_block {
  margin-top: 12px;
}

.mod_btn_panel .txt_block .tl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}

.mod_btn_panel .txt_block .txt {
  font-size: 1.3rem;
  margin-top: 5px;
}

.mod_btn_panel .btn_style {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.mod_btn_panel .btn_style .in {
  width: 100%;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_chart
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_chart {
  background: url(../../assets/images/strip45_white_middle.png)#e1f3f6;
  background-size: 65px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  padding: 50px;
}

.mod_chart figure {
  margin-bottom: 45px;
}

.mod_chart figure img {
  max-width: 316px;
  width: 100%;
}

.mod_chart .btn_box.col_02 .col_in {
  width: 350px;
}

.mod_chart .btn_box a {
  width: 100%;
  text-align: center;
  margin-top: 0;
}

.mod_chart .btn_box a span {
  display: inline-block;
  vertical-align: baseline;
  padding-left: 10px;
}

.mod_chart.mod_chart_a .level_fukidashi_txt_big .tl {
  font-size: 5rem;
}

.mod_chart .copy {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 20px;
}

.mod_chart.mod_chart_a .btn_box a {
  font-size: 4rem;
  padding: 30px 10px 20px;
  background-image: none;
  max-width: 350px;
}

.mod_chart.mod_chart_a .btn_box img {
  max-width: 135px;
}

.mod_chart.mod_chart_a .btn_box a span {
  display: block;
  margin-bottom: 10px;
  padding: 0;
}

.mod_chart .refresh {
  margin-top: 30px;
  text-align: center;
}

.mod_chart .refresh a {
  background: none;
  display: inline-block;
}

.mod_chart .refresh a img {
  width: 51px;
  padding-right: 10px;
}

.mod_chart .level_fukidashi_txt_big .tl {
  line-height: 1.3;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_note_block
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_note_block_area {
  background: url(../../assets/images/parastichy_01.png) left top repeat;
  background-size: 20px;
  padding: 25px;
}

.mod_note_block_area_green {
  background: url(../../assets/images/parastichy_02.png) left top repeat;
  background-size: 20px;
}

.mod_note_block {
  background: #e1f3f6;
  padding: 45px;
  position: relative;
  -webkit-box-shadow: 0 4px 0 rgb(180, 180, 180);
  -moz-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.3);
}

.mod_note_block:before {
  position: absolute;
  content: "";
  background: url(../../assets/images/shape_note.png) center top repeat-x;
  background-size: contain;
  width: 100%;
  height: 32px;
  left: 0;
  top: -9px;
}

.mod_note_block .level_02_big {
  margin-top: 0;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 30px;
}

.mod_note_block .level_02_big .small {
  font-size: 3rem;
  display: inline-block;
}

.mod_note_block .btn_more a {
  background-image: none;
}

.mod_note_block .hug_img {
  margin-top: 0;
}

.mod_note_block .mod_note_block_img325no figure {
  margin-bottom: 0;
  max-width: 325px;
  width: 38%;
}

.mod_note_block .mod_note_block_img325no .txt_block {
  width: 56%;
  float: left;
}

.mod_note_block .mod_note_block_img200no figure {
  margin-bottom: 0;
  max-width: 200px;
  width: 24%;
}

.mod_note_block .mod_note_block_img200no .txt_block {
  width: 70%;
  float: left;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_dotblock
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_dotblock {
  background: url(../../assets/images/dot_yellow_10px_a50.png) center -9px repeat;
  background-size: 12.5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border-width: 2px;
  border-style: solid;
  display: block;
  text-align: center;
  padding: 20px 30px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_labelimg
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_labelimg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}

.mod_labelimg .col_in {
  width: 200px;
  position: relative;
}

.mod_labelimg.mod_labelimg_02 .col_in {
  width: 400px;
}

.mod_labelimg.mod_labelimg_02 .col_in:not(:nth-child(1)):not(:nth-child(2)) {
  margin-top: 40px;
}

.mod_labelimg .col_in .img {
  border-width: 2px;
  border-style: solid;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  overflow: hidden;
}

.mod_labelimg .col_in .label {
  margin-top: 10px;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_person
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_person {
  position: relative;
  border-width: 2px;
  border-style: solid;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 425px;
}

.mod_person .txt_block {
  padding: 10px 10px 10px 20px;
  -webkit-flex: 1;
  flex: 1;
  font-size: 2rem;
  line-height: 1.6;
  font-weight: 700;
}

.mod_person .small {
  font-size: 1.1rem;
  vertical-align: baseline;
}

.mod_person .img {
  width: 148px;
  line-height: 1;
  display: block;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_btnbanner_book
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_btnbanner_book a {
  padding: 45px;
  background-image: none;
}

.mod_btnbanner_book a {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  width: 840px;
}

.mod_btnbanner_book a figure {
  width: 252px;
}

.mod_btnbanner_book a .txt_block {
  width: 435px;
}

.mod_btnbanner_book a .tl {
  font-size: 3rem;
  line-height: 1.6;
  margin-bottom: 40px;
}

.mod_btnbanner_book a .txt {
  font-weight: 400;
  line-height: 1.9;
  height: 230px;
  overflow: hidden;;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_kensaku50on_panel
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_kensaku50on_panel {
  width: 750px;
  margin-left: auto;
  margin-right: auto;
}

.mod_kensaku50on_panel.col_02 .col_in {
  width: 350px;
}

.mod_kensaku50on_panel ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  margin-top: -10px;
}

.mod_kensaku50on_panel li {
  width: 62px;
  margin-top: 10px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_ranking
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_ranking_no {
  width: 50px;
  height: 50px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 5px;
  font-size: 2.4rem;
  font-weight: 700;
  margin-right: 10px;
}

.mod_ranking li a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.mod_ranking a {
  text-decoration: none;
}

.mod_ranking_name {
  color: #333;
  -webkit-flex: 1;
  flex: 1;
  line-height: 1.4;
}

.mod_ranking li+li {
  margin-top: 20px;
}


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
mod_imglayout 
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.mod_imglayout .col_in {
  position: relative;
}

.mod_imglayout a img {
  opacity: 1;
  transition: 0.5s ease;
}

.mod_imglayout a {
  text-decoration: none;
  padding-bottom: 70px;
  font-weight: 700;
  color: #333 !important;
}

.mod_imglayout .txt {
  margin-top: 10px;
}

.mod_imglayout .btn {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.mod_imglayout a:hover .btn_style_in {
  margin-top: 3px;
  margin-bottom: 2px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
author_block
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.author_block {
  display: flex;
  justify-content: space-between;
}

.author_img {
  width: 200px;
  margin-right: 20px;
}

.author_desc {
  flex: 1 1 0%;
}

.author_ttl {
  font-weight: 700;
  margin-bottom: 20px;
}

.author_site_item {
  display: flex;
  align-items: center;
}

.author_site_item dt {
  margin-right: 20px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
online
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.online_page_bnr {
  max-width: 830px;
  margin-bottom: 40px;
}

.online_sent p+p, .online_sent .pstyle+.pstyle, .online_sent p+.pstyle, .online_sent p+.pstyle {
  margin-top: 2.4em;
}

.online_mv {
  background:#FFFAFF;
  position: relative;
  z-index: 1;
}

.online_mv:before,
.online_mv:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  width: calc(50% - 490px);
  height: 100%;
  z-index: 10;
}

.online_mv:before {
  left: 0;
  background: url(../images/factory/factory_online_bg_left.png) right top / 180px auto repeat;
}

.online_mv:after {
  right: 0;
  background: url(../images/factory/factory_online_bg_right.png) left top / 180px auto repeat;
}

.online_mv_inner {
  padding: 50px 65px;
  background: #FFFAFF;
  position: relative;
  z-index: 11;
  width: 980px;
  margin: 0 auto;
}

.online_mv_anchor {
  display: flex;
  justify-content: space-between;
  margin-top: -23px;
  padding: 0 28px;
}

.online_mv_anchor a {
  display: block;
  width: 385px;
}

.online_section {
  padding: 95px 0;
}

.online_section_color {
  background: #FFFAFF;
}

.online_section .inner {
    width: 930px;
}

.online_section .level_02 {
  letter-spacing: 0.05em;
}

.online_section .level_03 {
  margin-top: 50px;
  letter-spacing: 0.05em;
}

.online_media {
  display: flex;
  justify-content: space-between;
}

.online_media + .online_media {
  margin-top: 50px;
}

.online_media_img {
  position: relative;
  width: 450px;
}

.online_media_num {
  position: absolute;
  top: 0;
  left: 0;
  background: #AA69C3;
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  z-index: 11;
}

.online_media_img img {
  position: relative;
  z-index: 10;
}

.online_media .hosoku {
  margin-top: 1.8em;
}

.online_media_text {
  width: 350px;
}

.online_row {
  display: flex;
  justify-content: space-between;
}

.online_row_item {
  width: 400px;
}

.online_row_ttl {
  font-size: 2rem;
  margin-bottom: 2rem;
  color: #aa69c3;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}

.online_row_item_pc .online_row_ttl:before {
  content: '';
  width: 58px;
  height: 50px;
  background: url(../images/factory/factory_online_icon_pc.png) center center / cover no-repeat;
  margin-right: 15px;
  position: relative;
}

.online_row_item_sp .online_row_ttl:before {
  content: '';
  width: 33px;
  height: 50px;
  background: url(../images/factory/factory_online_icon_phone.png) center center / cover no-repeat;
  margin-right: 15px;
  position: relative;
}

.online_step_table p + p {
  margin-top: 0.7em;
}

.online_step_table tbody th {
  background: #FFFAFF;
}

.online_step_table th {
  vertical-align: middle;
  width: 120px;
}

.online_step_table td {
  border-left: none !important;
  border-top: none !important;
}

.online_step_table th,
.online_step_table td {
  padding: 18px;
}

.online_step_table img {
  display: block;
  margin: 0 auto;
}

.online_row_method .online_row_item_pc img,
.online_row_method .online_row_item_sp img {
  width: 240px;
}

.online_section_ttl {
  font-size: 6rem;
  text-align: center;
  line-height: 1.5;
  color: #AA69C3;
  font-weight: 700;
  margin-bottom: 10px;
  padding-top: 15px;
  margin-top: -15px;
}

.online_date_block {
  border-radius: 5px;
  background: #AA69C3;
  margin-bottom: 40px;
  display: flex;
}

.online_date_block dt,
.online_date_block dd {
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  padding: 7px 20px;
  letter-spacing: 0.05em;
}

.online_date_block dt {
  border-right: 1px solid #fff;
  padding: 7px 0;
  text-align: center;
  width: 140px;
}

.online_experience_inner {
  width: 650px;
  margin: 50px auto 0;
}

.online_btn_disable.btn_style .in,
.online_btn_color.btn a {
  font-size: 4rem;
  width: 100%;
  padding: 5px 15px;
}

.factory_area .online_btn_disable.btn_style .in {
  color: #fff !important;
  background: #CCCCCC;
  -webkit-box-shadow: 0 5px 0 #666666;
  -moz-box-shadow: 0 5px 0 #666666;
  box-shadow: 0 5px 0 #666666;
  border-color: #ccc;
  text-align: center;
}

.online_btn_disable.btn_style .in span,
.online_btn_color.btn span {
  display: block;
  font-size: 2rem;
  letter-spacing: -0.03em;
  text-align: center;
}

.online_btn_white.btn a {
  width: 410px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.8rem;
  color: #AA69C3 !important;
  padding: 8px 20px;
}

.online_experience_inner .online_btn_white {
  margin-top: 50px;
}

.online_company + .online_company {
  margin-top: 100px;
}

.online_row_faq img {
  width: 240px;
}

.online_step_hosoku {
  background: url(../images/factory/factory_online_icon_ex.png) left top 0.3em / 16px 16px no-repeat;
  padding-left: 1.7em;
  font-size: 1.3rem;
}

.online_dotlist span {
  font-size: 1.2rem;
  line-height: 1;
  vertical-align: top;
  position: relative;
  top: 0.75em;
}

.online_dotlist li {
  text-indent: -1em;
  padding-left: 1em;
}

.online_dotlist li + li {
  margin-top: 0.2em;
}

.online_pull_footer {
  margin-bottom: -200px;
  padding-bottom: 200px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
frontpage
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.parents_area .mod_label_panel p {
  height:110px;
  overflow:hidden;
}
/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.post_page .article_con オリジナル※基本は設定しない
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.post_page .article_con>.youtube,
.post_page .article_con>.col_02,
.post_page .article_con>figure,
.post_page .article_con>.hug_img,
.post_page .article_con>.slider,
.post_page .article_con>ol,
.post_page .article_con>ul,
.post_page .article_con>.hosoku,
.post_page .article_con>table {
  margin-top: 35px;
}
.post_page .article_con .btn {
  margin-top: 1em;
}
.post_page .article_con >h2+*,
.post_page .article_con >h3+*,
.post_page .article_con >h4+* {
  margin-top: 0 !important;
}
.post_page .article_con .col_02 figure img {
  border: 1px solid #ccc;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TOPはさみ
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.hr_hasami_kagaku .hasami_after_line:after {background: #00b41e;}
.hr_hasami_shinro .hasami_after_line:after {background: #f5910a;}
.hr_hasami_himitsu .hasami_after_line:after {background: #e66e5f;}
.hr_hasami_factory .hasami_after_line:after {background: #aa69c3;}
.hr_hasami_jiten .hasami_after_line:after {background: #4b5fd2;}
.hr_hasami_parents .hasami_after_line:after {background: #f091aa;}

.hr_hasami_kagaku p {background-image:url(../images/hr_dash_kagaku.gif);}
.hr_hasami_shinro p {background-image:url(../images/hr_dash_shinro.gif);}
.hr_hasami_himitsu p {background-image:url(../images/hr_dash_himitsu.gif);}
.hr_hasami_factory p {background-image:url(../images/hr_dash_factory.gif);}
.hr_hasami_jiten p {background-image:url(../images/hr_dash_jiten.gif);}
.hr_hasami_parents p {background-image:url(../images/hr_dash_parents.gif);}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TOPアニメーション
________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

/* 自由研究 左 */
.jiyuu_area.bg_block:before {
  -webkit-animation: jiyuu_left 7s ease 0s infinite alternate;
  animation: jiyuu_left 7s ease 0s infinite alternate;
}
/* 自由研究 右 */
.jiyuu_area.bg_block:after {
  -webkit-animation: jiyuu_right 5s ease-in 0s infinite alternate;
  animation: jiyuu_right 5s ease-in 0s infinite alternate;
}

/* 科学 右上 */
.kagaku_area.bg_block:before {
  -webkit-animation: kagaku_rotate 75s linear 0s infinite normal;
  animation: kagaku_rotate 75s linear 0s infinite normal;
}
/* 科学 左中央 */
.kagaku_area.bg_block:after {
  -webkit-animation: kagaku_rotate 30s linear 0s infinite normal;
  animation: kagaku_rotate 30s linear 0s infinite normal;
}
/* 科学 右下 */
.kagaku_area.bg_block .bg_block_in:before {
  -webkit-animation: kagaku_rotate 60s linear 0s infinite normal;
  animation: kagaku_rotate 60s linear 0s infinite normal;
}

/* 未来の仕事 中央の白01 */
.shinro_area.bg_block .bg_block_in:after {
  -webkit-animation: shigoto_center_white 5s linear 0s infinite alternate;
  animation: shigoto_center_white 5s linear 0s infinite alternate;
}

/* まんがでよくわかるシリーズ 丸い吹き出し */
.himitsu_area.bg_block:before {
  -webkit-animation: comic_round 4s ease-in-out 0s infinite normal;
  animation: comic_round 4s ease-in-out 0s infinite normal;
  -webkit-transform-origin: bottom left 100px;
  transform-origin: bottom left 100px;
}
/* まんがでよくわかるシリーズ とがった吹き出し */
.himitsu_area.bg_block:after {
  -webkit-animation: comic_spike 5s ease-in-out 0s infinite normal;
  animation: comic_spike 5s ease-in-out 0s infinite normal;
}

/* 工場見学 右01 */
.factory_area.bg_block:before {
  animation: factory_right1 4s ease-in-out 0s infinite alternate;
}

/* 工場見学 右02 */
.factory_area.bg_block:after {
}

/* 工場見学 左 */
.factory_area .bg_block_in:before {
  animation: factory_left1 4s linear 0s infinite alternate;
}

/* 辞典 左 */
.jiten_area.bg_block:before {
  -webkit-animation: moji_left2 5s linear 0s infinite alternate;
  animation: moji_left2 5s linear 0s infinite alternate;
}
/* 辞典 右 */
.jiten_area.bg_block:after {
  -webkit-animation: moji_right 5s cubic-bezier(0.410, 1.465, 0.630, -0.600) 0s infinite alternate;
  animation: moji_right 5s cubic-bezier(0.410, 1.465, 0.630, -0.600) 0s infinite alternate;
}

/* 保護者の方へ 点 */
.parents_area.bg_block {
  -webkit-animation: bg_move_right_to_left 36s linear 0s infinite normal;
  animation: bg_move_right_to_left 36s linear 0s infinite normal;
  background-position: 0 0;
}

@-webkit-keyframes kagaku_rotate {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes kagaku_rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes shigoto_center_white {
  from {
    left: 20%;
    width: 35%;
  }
  to {
    left: 45%;
    width: 20%;
  }
}

@keyframes shigoto_center_white {
  from {
    left: 20%;
    width: 35%;
  }
  to {
    left: 45%;
    width: 20%;
  }
}

@-webkit-keyframes comic_round {
  0% {
    -webkit-transform:  rotate(0deg) ;
  }
  30% {
    -webkit-transform:  rotate(0deg) ;
  }
  40% {
    -webkit-transform:  rotate(8deg) ;
  }
  50% {
    -webkit-transform:  rotate(0deg) ;
  }
  60% {
    -webkit-transform:  rotate(8deg) ;
  }
  70% {
    -webkit-transform:  rotate(0deg) ;
  }
  100% {
    -webkit-transform:  rotate(0deg) ;
  }
}

@keyframes comic_round {
  0% {
    transform:  rotate(0deg) ;
  }
  30% {
    transform:  rotate(0deg) ;
  }
  40% {
    transform:  rotate(8deg) ;
  }
  50% {
    transform:  rotate(0deg) ;
  }
  60% {
    transform:  rotate(8deg) ;
  }
  70% {
    transform:  rotate(0deg) ;
  }
  100% {
    transform:  rotate(0deg) ;
  }
}

@-webkit-keyframes comic_spike {
  0% {
    -webkit-transform:  scaleX(1.00) scaleY(1.00) ;
  }
  17% {
    -webkit-transform:  scaleX(1.20) scaleY(1.20) ;
  }
  33% {
    -webkit-transform:  scaleX(1.00) scaleY(1.00) ;
  }
  50% {
    -webkit-transform:  scaleX(1.10) scaleY(1.10) ;
  }
  66% {
    -webkit-transform:  scaleX(0.90) scaleY(0.90) ;
  }
  83% {
    -webkit-transform:  scaleX(1.20) scaleY(1.20) ;
  }
  100% {
    -webkit-transform:  scaleX(1.0) scaleY(1.0) ;
  }
}

@keyframes comic_spike {
  0% {
    transform:  scaleX(1.00) scaleY(1.00) ;
  }
  17% {
    transform:  scaleX(1.20) scaleY(1.20) ;
  }
  33% {
    transform:  scaleX(1.00) scaleY(1.00) ;
  }
  50% {
    transform:  scaleX(1.10) scaleY(1.10) ;
  }
  66% {
    transform:  scaleX(0.90) scaleY(0.90) ;
  }
  83% {
    transform:  scaleX(1.20) scaleY(1.20) ;
  }
  100% {
    transform:  scaleX(1.0) scaleY(1.0) ;
  }
}

@-webkit-keyframes moji_left {
  from {
    right: 50%;
  }
  to {
    right: 65%;
  }
}

@keyframes moji_left {
  from {
    right: 50%;
  }
  to {
    right: 65%;
  }
}

@-webkit-keyframes moji_left2 {
  0% {
    -webkit-transform: scale(1.15);
  }
  25% {
    -webkit-transform: scale(0.8);
  }
  50% {
    -webkit-transform: scale(1.05);
  }
  75% {
    -webkit-transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1.0);
  }
}

@keyframes moji_left2 {
  0% {
    transform: scale(1.15);
  }
  25% {
    transform: scale(0.8);
  }
  50% {
    transform: scale(1.05);
  }
  75% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1.0);
  }
}

@keyframes factory_right1 {
  from {
    transform-origin: top right;
    transform: rotate(15deg);
  }
  to {
    transform-origin: top right;
    transform: rotate(-115deg);
  }
}

@keyframes factory_left1 {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-30%);
  }
}

@-webkit-keyframes moji_right {
  from {
    bottom: -42px;
  }
  to {
    bottom: -35%;
  }
}

@keyframes moji_right {
  from {
    bottom: -42px;
  }
  to {
    bottom: -35%;
  }
}

@-webkit-keyframes bg_move_right_to_left {
  from {
    background-position: 0, 0;
  }
  to {
    background-position: 100%, 0;
  }
}

@keyframes bg_move_right_to_left {
  from {
    background-position: 0, 0;
  }
  to {
    background-position: 100%, 0;
  }
}
