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

	トップページ＆共通レイアウト定義 CMS

*****************************************************************/
/* ====== BASE Module SET ===== */
* {
  box-sizing: border-box; }

html,
body {
  margin: 0;
  padding: 0; }

html {
  overflow-y: scroll;
  font-size: 100%;
  scroll-padding-top: 130px; }

.scrOff {
  overflow: clip;
  overscroll-behavior: none; }

.scrOff .page_inner {
  z-index: auto; }

h1, h2, h3, h4, h5, h6,
p, ul, ol, dl, dt, dd, li,
table, td, th,
address,
blockquote, form, fieldset, legend, div, hr, pre {
  margin: 0;
  padding: 0;
  font-style: normal;
  text-align: left;
  font-size: 100%;
  line-height: 1.2; }

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

body {
  background: #FFF;
  /*font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","meiryo","MS P Gothic","ＭＳ Ｐゴシック","Osaka", sans-serif;*/
  font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, sans-serif;
  font-weight: normal;
  text-align: center;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #333; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

th, td {
  vertical-align: top; }

svg,
img {
  border: 0;
  vertical-align: top;
  outline: none;
  max-width: 100%;
  height: auto; }

svg {
  overflow-x: visible;
  overflow-y: visible; }

img,
input,
select,
textarea {
  margin-top: 0;
  margin-bottom: 0;
  vertical-align: middle;
  font-size: 1rem; }

select,
input[type="button"],
input[type="submit"] {
  appearance: none; }

select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"] {
  padding: 5px;
  border: 1px solid #ccc; }

button {
  background-color: transparent;
  border: 0;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

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

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

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

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

abbr {
  border: 0; }

hr {
  margin: 2em 0;
  display: block;
  border: 0;
  border-bottom: 1px solid #ddd;
  clear: both; }

img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-transition: 0.25s;
  -webkit-transition: 0.25s;
  transition: 0.25s;
  vertical-align: top;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  user-drag: none; }

iframe {
  display: block;
  vertical-align: top; }

i,
em {
  font-style: normal; }

a {
  color: #333;
  background: transparent;
  transition: 0.25s; }

a:hover,
a:focus {
  color: #666; }

a:hover img,
a:focus img {
  filter: brightness(110%); }

ul li {
  list-style: none; }

::selection {
  background-color: #3f5aa7;
  color: #fff; }

::-moz-selection {
  background-color: #3f5aa7;
  color: #fff; }

input::selection,
textarea::selection {
  background-color: #b6d6fd;
  color: #333; }

input::-moz-selection,
textarea::-moz-selection {
  background-color: #b6d6fd;
  color: #333; }

div,
ul,
section,
article {
  width: auto; }

a.tel {
  color: #004e9c;
  font-size: 150%;
  font-weight: 700;
  text-decoration: none;
  display: inline-block; }

a[href^="tel:"] {
  color: #004e9c;
  font-weight: 700;
  text-decoration: none; }

a.tel_dis {
  cursor: default;
  pointer-events: none;
  font-weight: 700;
/*color: #333 !important;*/ }

#main a[href$=".pdf"]:after {
    content: " ";
    display: inline-block;
    width: 20px;
    height: 23px;
    background: url(../../../kochi_share/images/ico_pdf.png) no-repeat;
    background-size: 100% auto;
    vertical-align: middle;
    margin-left: 10px
}

.sp_i {
  display: none; }

.sp_b {
  display: none; }

.pc_i {
  display: inline; }

.pc_b {
  display: block; }

.sp_ib {
  display: none; }

.pc_ib {
  display: inline-block;
  *display: inline;
  zoom: 1; }

.txt_c {
  text-align: center; }

.txt_r {
  text-align: right; }

.hid {
  visibility: hidden; }

/*============================================================
	TopContentsStyle
============================================================*/
/*============================================================
	Page / column
============================================================*/
#page {
  width: 100%;
  margin: 0 auto;
  text-align: left;
  padding-top: 120px; }

.inner {
  width: 100%;
  max-width: 1220px;
  padding: 0 10px;
  text-align: left;
  margin: 0 auto;
  position: relative; }

#main .sec_max960{width: 100%;max-width:960px;margin:0 auto;}
#main .sec_max720{width: 100%;max-width:720px;margin:0 auto;}
#main .sec_max640{width: 100%;max-width:640px;margin:0 auto;}
#main .sec_max480{width: 100%;max-width:480px;margin:0 auto;}
#main .sec_max320{width: 100%;max-width:320px;margin:0 auto;}

#main .box{padding:1em;border:dotted 2px #ccc;border-radius:10px;}
/*============================================================
	Header
============================================================*/
#page_header {
  width: 100%;
  position: fixed;
  z-index: 100;
  background: #fff;
  top: 0;
  left: 0;
  text-align: center;
  border-bottom: 2px solid #3551a2; }
  #page_header .inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  #page_header .num {
    margin-left: auto;
    margin-right: 20px;
    font-weight: bold;
    font-size: 0.88rem; }
  #page_header h1 {
    max-width: 340px;
    width: 40%;
    padding: 15px 0; }

.btn_h_login {
  display: inline-block;
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  background: #004ea2;
  padding: 10px 15px 10px 15px;
  border-radius: 30px;
  font-size: 0.88rem; }
  .btn_h_login img {
    width: 30px;
    margin-right: 10px;
    vertical-align: middle; }

.btn_h_login:hover,
.btn_h_login:focus {
  color: #fff;
  background: rgba(0, 78, 162, 0.8); }

.faq_title i,
.faq_anser i:not(.fa),
.tit_teikibin_kikan,
h2,
h3,
h4,
h5,
h6,
.bold,
.btn_more,
.faq_category_list,
.sec_words,
.sec_umaimon,
.ozashiki_grp,
.sec_shikitari,
.grp_voice_serif,
.sicchu_link,
.sec_tosaben,
.pop_tosaben,
.txt_contact_tel,
.tit_contact,
.sec_gree_3 h3,
.num_recipe li::before,
.tit_step_num,
.link_att,
.grp_preparation,
.txt_head_set,
.open_step,
.card_2type,
.btn_link,
.btn_link_double,
.sec_open_merit h3,
th,
.sec_merit_item th,
.tit_left,
.sec_merit_item strong,
.tit_cnter,
.fnt_corp,
.grp_2 strong,
.merit_list strong,
.merit_ico,
.page_link,
.tbl_service,
.sec_netshop_features_item h3,
.txt_netshiten_chr,
.faq_title,
.sec_page_head,
.page_sub_head,
.page_main_head,
.pc_menu {
  font-family: corporate-logo-ver2, メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, sans-serif; }

.tbl_service h4,
.tbl_service p {
  font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, sans-serif; }

.pc_menu {
  width: 100%;
  border-top: 2px solid #3551a2;
  /*li:focus div,
  li:hover div{
   display: flex;
  }*/
  /*商品一覧部分*/ }
  .pc_menu ul {
    display: flex;
    justify-content: space-between;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: -0.05em;
    width: 100%;
    margin: auto;
    max-width: 1340px;
    border-left: 1px solid #ccc; }
  .pc_menu li {
    width: 20%;
    position: relative;
    border-right: 1px solid #ccc; }
  .pc_menu .on + div {
    display: flex;
    flex-wrap: wrap; }
  .pc_menu li:focus > a,
  .pc_menu li:hover > a {
    border-bottom-color: #3551a2; }
  .pc_menu a {
    display: block;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    padding: 16px 0;
    border-bottom: 0 solid #fff;
    color: #004ea2;
    position: relative; }
    .pc_menu a::before {
      display: block;
      width: 10px;
      height: 10px;
      position: absolute;
      top: 50%;
      right: 12px;
      border-right: 2px solid #004ea2;
      border-bottom: 2px solid #004ea2;
      content: "";
      transform: rotate(45deg);
      margin-top: -7px; }
  .pc_menu a:hover, .pc_menu .on {
    border-bottom-color: #3551a2;
    background: #3551a2;
    color: #fff; }
    .pc_menu a:hover::before, .pc_menu .on::before {
      border-color: #fff; }
  .pc_menu .btn_close {
    position: absolute;
    top: 10px;
    right: 15px;
    display: block;
    width: 15px;
    height: 15px;
    background: url("../images/btn_close_menu_pc.png") no-repeat 0 0;
    background-size: contain;
    z-index: 10; }
  .pc_menu div {
    position: absolute;
    border: 1px solid #e0e0e0;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    display: none;
    z-index: 10;
    font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, sans-serif; }
  .pc_menu .sub_menu_l div {
    width: 600px; }
  .pc_menu .sub_menu_m div {
    width: 450px; }
  .pc_menu li:last-child div {
    right: 0;
    left: auto;
    width: 500px; }
  .pc_menu section + section {
    margin-left: 5%; }
  .pc_menu section {
    padding-top: 40px; }
  .pc_menu h2 {
    padding: 0 20px 0 20px;
    color: #004ea2;
    line-height: 1;
    font-size: 1.125rem;
    margin: 0; }
  .pc_menu ul ul {
    display: block;
    letter-spacing: 0;
    padding: 0 20px 20px 20px;
    font-size: 0.88rem;
    width: 100%;
    border-left: 0; }
    .pc_menu ul ul li {
      width: 100%;
      border-right: 0; }
    .pc_menu ul ul a {
      padding: 10px 0;
      color: #333;
      /*#000 →　#333へ*/
      text-align: left;
      border: 0; }
      .pc_menu ul ul a::before {
        display: none; }
    .pc_menu ul ul li:last-child a {
      border-bottom: 0; }
    .pc_menu ul ul a:hover, .pc_menu ul ul a:focus {
      color: #004ea2;
      background: none; }
  .pc_menu ul ul.product_list {
    padding: 40px 20px 0px 20px; }
  .pc_menu ul.product_list + section + section,
  .pc_menu ul.product_list + section {
    padding-top: 20px; }
  .pc_menu ul h2 + ul {
    padding-top: 20px; }

@media screen and (max-width: 900px) and (min-width: 769px) {
  #page {
    padding-top: 120px; }

  .pc_menu li {
    width: 100%; }
  .pc_menu ul {
    font-size: 0.78rem; }
  .pc_menu a::before {
    width: 5px;
    height: 5px; } }
@media screen and (max-width: 768px) {
  .pc_menu {
    display: none; } }
/*
@media screen and (max-width: 1110px) {
 #page{
  padding-top: 116px ;
 }
 .pc_menu{
  li{
   width: 100%;
  }
  ul{
   font-size: 0.88rem;
  }
  a{
   padding: 15px 0;
  }
 }
}
@media screen and (max-width: 900px) {
 #page{
  padding-top: 8%;
 }
 .pc_menu{
  display: none;
 }
}
*/
/*============================================================
	Nav
============================================================*/
/*============================================================
	Main
============================================================*/
/* Main Design */
#main p,
#main li,
#main dd,
#main dt,
#main blockquote,
#main pre,
#main td,
#main th {
  line-height: 1.6;
  font-size: 1rem; }

#main p,
#main ul,
#main dl,
#main ol,
#main blockquote,
#main pre,
#main table {
  margin-bottom: 1em; }

#main td,
#main th {
  margin-bottom: 0; }

#main h1,
#main h2,
#main h3,
#main h4,
#main h5,
#main h6 {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1em; }

#main ol li {
  margin-left: 1.6em; }

#main *:last-child {
  margin-bottom: 0; }

#home #main {
  padding: 20px 0 215px 0; }
  #home #main::before {
    content: "";
    display: block;
    width: 100%;
    height: 720px;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../images/bg_cloud_1.webp") repeat-x 0 0;
    background-size: auto 100%;
    z-index: 0; }

.btn_more_application {
  display: inline-block;
  position: relative;
  line-height: 1;
  font-weight: bold;
  font-size: 1.125rem;
  border: 5px solid #000;
  color: #000;
  background: none;
  text-decoration: none;
  padding: 12px 1.5em;
  border-radius: 30px;
  text-align: center; }

.btn_more {
  display: inline-block;
  position: relative;
  line-height: 1;
  font-weight: bold;
  font-size: 1.125rem;
  border: 2px solid #3551a2;
  /*5px　→　2pxへ修正*/
  color: #3551a2;
  background: #fff;
  text-decoration: none;
  padding: 12px 2.5em 12px 1.5em;
  border-radius: 30px;
  text-align: center; }
  .btn_more::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #3551a2;
    border-right: 2px solid #3551a2;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 5px);
    right: 15px; }

.btn_open {
  display: inline-block;
  position: relative;
  line-height: 1;
  font-weight: bold;
  font-size: 1rem;
  border: 5px solid #e0482a;
  color: #e0482a;
  background: #fff;
  text-decoration: none;
  padding: 12px 2.5em;
  border-radius: 30px;
  text-align: center; }

.btn_open:hover,
.btn_open:focus {
  background: #e0482a;
  border-color: #e0482a;
  color: #fff; }

.btn_open_red {
  background: #e0482a;
  border-color: #e0482a;
  color: #fff; }

.btn_more:hover,
.btn_more:focus {
  color: #fff;
  background: #3551a2; }
  .btn_more:hover::before,
  .btn_more:focus::before {
    border-color: #fff; }

.btn_more_red {
  background-color: #fff;
  color: #e0482a;
  border-color: #e0482a; }
  .btn_more_red::before {
    border-color: #e0482a; }

.btn_more_redbg {
  background-color: #e0482a;
  color: #fff;
  border-color: #e0482a; }
  .btn_more_redbg::before {
    border-color: #fff; }

.btn_more_wht {
  background: none;
  color: #fff;
  border-color: #fff; }
  .btn_more_wht::before {
    border-color: #fff; }

.btn_more_red:hover,
.btn_more_red:focus {
  background-color: #e0482a;
  color: #fff;
  border-color: #e0482a; }
  .btn_more_red:hover::before,
  .btn_more_red:focus::before {
    border-color: #fff; }

.btn_more_redbg:hover,
.btn_more_redbg:focus {
  background-color: #fff;
  color: #e0482a; }
  .btn_more_redbg:hover::before,
  .btn_more_redbg:focus::before {
    border-color: #e0482a; }

.btn_more_s {
  display: inline-block;
  position: relative;
  line-height: 1;
  font-weight: bold;
  font-size: 1rem;
  border: 2px solid #0071bc;
  /*5px　→　2pxへ修正*/
  color: #0071bc;
  background: #fff;
  text-decoration: none;
  padding: 12px 1.5em;
  border-radius: 30px;
  text-align: center; }

.btn_more_s:hover,
.btn_more_s:focus {
  color: #fff;
  background: #0071bc; }

.btn_more_pdf {
  padding: 12px 60px 12px 25px;
  background: url("../images/ico_pdf.png") calc(100% - 15px) 50% no-repeat; }
  .btn_more_pdf::before {
    content: normal; }

.btn_more_pdf:hover,
.btn_more_pdf:focus {
  color: #fff;
  background: #3551a2 url("../images/ico_pdf.png") calc(100% - 15px) 50% no-repeat; }

#main {
  overflow: hidden;
  position: relative;
  background: #23b9db;
  background: url("../images/bg_beach.webp") no-repeat right bottom #23b9db;
  background-size: auto 300px;
  padding-bottom: 215px;
  /* ===== top_blog_slide ===== */
  /* ===== top_bnr_slide ===== */ }
  #main .inner {
    max-width: 1020px; }
  #main .blog_inner {
    max-width: 1240px; }
  #main .inner_m {
    max-width: 1160px; }
  #main .inner_s {
    max-width: 1060px; }
  #main .change {
    margin: 0 !important;
    text-align: center; }
  #main .change_2 {
    text-align: center; }
  #main .btn_more_min {
    width: 100%;
    max-width: 350px; }
  #main .top_main_menu {
    position: relative;
    padding-top: 20px;
    margin-bottom: 40px; }
    #main .top_main_menu .top_pic {
      display: block;
      border: 5px solid #fff;
      box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2);
      border-radius: 40px;
      overflow: hidden; }
      #main .top_main_menu .top_pic img {
        width: 100%; }
    #main .top_main_menu .top_main_menu_1 {
      width: 22.5%;
      position: absolute;
      top: 8%;
      left: 1%; }
      #main .top_main_menu .top_main_menu_1 li {
        margin-bottom: 5%; }
    #main .top_main_menu .top_main_menu_2 {
      width: 13%;
      position: absolute;
      top: 7%;
      right: 1%; }
      #main .top_main_menu .top_main_menu_2 li {
        margin-bottom: 0; }
  #main .cau_info {
    color: #e60012;
    padding: 15px;
    border-radius: 10px;
    border: 2px solid #e60012;
    background-color: #fff;
    display: flex;
    align-items: center; }
    #main .cau_info h2 {
      width: 195px;
      line-height: 1;
      background: url("../images/img_caution.png") no-repeat left center;
      background-size: 30px auto;
      padding: 10px 0 10px 45px;
      min-height: 25px;
      margin: 0; }
    #main .cau_info p {
      font-weight: bold;
      line-height: 1.25;
      margin: 0; }
    #main .cau_info a {
      color: #e60012; }
  #main .top_bnr_slide {
    margin: 0 auto 30px auto;
    max-width: 1140px; }
  #main .top_bnr_1 {
    display: flex;
    margin: 0 auto 60px auto;
    max-width: 1110px;
    justify-content: space-between; }
    #main .top_bnr_1 li {
      width: 33%;
      max-width: 320px;
      text-align: center; }
  #main .sub_nav {
    position: relative;
    display: flex;
    justify-content: space-between;
    border: 5px solid #fff;
    background: #fdfcdc;
    position: relative;
    padding-top: 20px;
    margin: -2% auto 30px auto;
    max-width: 930px;
    border-radius: 40px;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1);
    align-items: center;
    padding: 20px 30px; }
    #main .sub_nav h2 {
      margin: 0;
      order: 2;
      width: 24%; }
    #main .sub_nav ul {
      margin: 0;
      order: 1;
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 74%; }
    #main .sub_nav a {
      display: block;
      text-align: center; }
      #main .sub_nav a img {
        max-width: 140px; }
  #main .ico_news_cate {
    display: inline-block;
    min-width: 120px;
    flex-basis: 120px;
    background: #ccc;
    padding: 8px 0;
    text-align: center;
    line-height: 1;
    border-radius: 20px;
    font-size: 0.88rem;
    font-weight: bold;
    color: #fff; }
  #main .ico_news_cate_campaign {
    background: #809e18; }
  #main .ico_news_cate_important-notices {
    background: #e60012; }
  #main .ico_news_cate_news {
    background: #3551a2; }
  #main .sec_top_info {
    background: #fff;
    padding: 40px 50px;
    border-radius: 40px;
    margin-bottom: 35px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative; }
    #main .sec_top_info h2 {
      width: 30%; }
    #main .sec_top_info .news_list {
      width: 66.5%;
      min-height: 150px; }
      #main .sec_top_info .news_list p {
        margin-left: 0;
        line-height: 1.25; }
      #main .sec_top_info .news_list time {
        display: block;
        font-weight: normal;
        margin-bottom: 0.5em;
        line-height: 1; }
    #main .sec_top_info .change {
      position: absolute;
      bottom: 50px;
      left: 0;
      width: 30%; }
  #main .news_list a {
    text-decoration: none;
    display: flex;
    justify-content: flex-start;
    text-decoration: none;
    align-items: flex-start;
    padding: 10px 0;
    gap: 10px;
    border-bottom: 1px dotted #ccc; }
  #main .news_list p {
    margin: 0;
    font-weight: bold; }
  #main .sub_nav_bnr {
    margin: 0 auto;
    max-width: 1085px; }
    #main .sub_nav_bnr ul {
      display: flex;
      justify-content: space-between; }
    #main .sub_nav_bnr li {
      width: 32%; }
  #main .top_blog_slide_2 li,
  #main .top_blog_slide li {
    padding-bottom: 5px; }
    #main .top_blog_slide_2 li dl,
    #main .top_blog_slide li dl {
      margin: 0; }
    #main .top_blog_slide_2 li dt, #main .top_blog_slide_2 li dd,
    #main .top_blog_slide li dt,
    #main .top_blog_slide li dd {
      font-size: 0.88rem;
      display: inline; }
    #main .top_blog_slide_2 li dt,
    #main .top_blog_slide li dt {
      color: #637fd1;
      font-weight: bold; }
    #main .top_blog_slide_2 li dd,
    #main .top_blog_slide li dd {
      margin-right: 0.25em; }
  #main .sec_top_blog {
    padding: 95px 0 75px 0;
    background: url("../images/bg_cloud_2.webp") repeat-x 0 0;
    background-size: auto 100%; }
    #main .sec_top_blog h2 {
      text-align: center;
      margin-bottom: 35px; }
      #main .sec_top_blog h2 img {
        width: 78%;
        max-width: 470px; }
  #main .blog_top_slide,
  #main .top_blog_slide_2,
  #main .top_blog_slide {
    margin-bottom: 30px; }
    #main .blog_top_slide .owl-carousel .owl-stage-outer,
    #main .top_blog_slide_2 .owl-carousel .owl-stage-outer,
    #main .top_blog_slide .owl-carousel .owl-stage-outer {
      padding: 5px 0; }
    #main .blog_top_slide .owl-prev,
    #main .blog_top_slide .owl-next,
    #main .top_blog_slide_2 .owl-prev,
    #main .top_blog_slide_2 .owl-next,
    #main .top_blog_slide .owl-prev,
    #main .top_blog_slide .owl-next {
      display: block;
      width: 55px;
      height: 55px;
      background: no-repeat 0 0;
      background-size: 100% 100%;
      position: absolute;
      top: 25%; }
    #main .blog_top_slide .owl-prev,
    #main .top_blog_slide_2 .owl-prev,
    #main .top_blog_slide .owl-prev {
      background-image: url("../images/ico_slide_arw_red_l.png");
      left: -20px; }
    #main .blog_top_slide .owl-next,
    #main .top_blog_slide_2 .owl-next,
    #main .top_blog_slide .owl-next {
      background-image: url("../images/ico_slide_arw_red_r.png");
      right: -20px; }
  #main .blog_top_slide .owl-prev,
  #main .blog_top_slide .owl-next {
    top: 45%; }
  #main .sec_blog_top {
    margin-bottom: 70px; }
  #main .tit_blog_top {
    text-align: center; }
    #main .tit_blog_top img,#main .sec_top_blog h2 .tit_blog_top img {
      max-width: 285px;
      width: 70%; }
  #main .top_blog_slide_2 {
    padding: 0 20px; }
    #main .top_blog_slide_2 .owl-stage {
      display: flex; }
    #main .top_blog_slide_2 .owl-item {
      display: flex;
      flex-direction: column;
      height: auto; }
    #main .top_blog_slide_2 .owl-prev,
    #main .top_blog_slide_2 .owl-next {
      display: block;
      width: 55px;
      height: 55px;
      background: no-repeat 0 0;
      background-size: 100% 100%;
      position: absolute;
      top: 40%; }
    #main .top_blog_slide_2 .owl-prev {
      background-image: url("../images/ico_slide_arw_red_l.png");
      left: -20px; }
    #main .top_blog_slide_2 .owl-next {
      background-image: url("../images/ico_slide_arw_red_r.png");
      right: -20px; }
    #main .top_blog_slide_2 li {
      padding: 0 0 5px 0;
      height: 100%; }
  #main .blog_block {
    margin: 0 5px;
    text-decoration: none;
    display: block;
    padding: 20px 20px 30px 20px;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1);
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    height: 100%; }
    #main .blog_block h3 {
      min-height: 4em;
      font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, sans-serif;
    }
    #main .blog_block .txt_blog_time {
      line-height: 1;
      margin: 1em 0;
      font-size: 0.88rem; }
    #main .blog_block img {
      border-radius: 15px;
      overflow: hidden;
      object-fit: cover;
      aspect-ratio: 4 / 3; }
  #main .ico_cate {
    display: inline-block;
    line-height: 1;
    padding: 10px 1em;
    border-radius: 20px;
    font-size: 0.88rem;
    color: #fff;
    background: #637fd1;
    font-size: 12px;
    font-weight: bold; }
  #main .top_bnr_slide a {
    display: block;
    padding: 0 10px; }
  #main .top_bnr_slide img {
    display: block;
    border: 5px solid #fff;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1);
    overflow: hidden; }
  #main .top_bnr_slide .owl-prev,
  #main .top_bnr_slide .owl-next {
    display: block;
    width: 55px;
    height: 55px;
    background: no-repeat 0 0;
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    margin-top: -36px; }
  #main .top_bnr_slide .owl-prev {
    background-image: url("../images/ico_slide_arw_l.png");
    left: -20px; }
  #main .top_bnr_slide .owl-next {
    background-image: url("../images/ico_slide_arw_r.png");
    right: -20px; }

/*============================================================
	BLOG
============================================================*/
.blog_page #main {
  padding: 20px 0 0 0;
  background: #ffecb9 url("../images/bg_blog_cloud.png") no-repeat top center;
  background-size: 1300px auto; }
  .blog_page #main .blog_title {
    margin-bottom: 80px;
    text-align: center;
    width: 100%; }
  .blog_page #main .inner {
    max-width: 1240px; }

#main {
  /* ===== form ===== */
  /* ===== entry_area ===== */
  /* ===== head_blog_detail ===== */
  /* ===== head_blog_recommend ===== */
  /* ===== blog_top_block ===== */
  /* ===== NEWS ===== */ }
  #main .blog_search_area {
    background: #fefce5;
    padding: 15px;
    border-radius: 20px;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2);
    margin-bottom: 40px; }
  #main .inp_s {
    display: block;
    padding: 10px 10px 10px 45px;
    border: 1px solid #eee;
    border-radius: 12px;
    width: 100%;
    line-height: 1; }
  #main .art_blog_area h1 {
    font-size: 1.5rem; }
  #main .entry_area {
    padding: 30px 0 20px 0;
    /*ブログデフォルト*/ }
    #main .entry_area .tbl_recipe {
      width: 100%;
      border: 0; }
      #main .entry_area .tbl_recipe th, #main .entry_area .tbl_recipe td {
        background: none;
        padding: 5px;
        border: 0; }
      #main .entry_area .tbl_recipe th {
        white-space: nowrap;
        width: 20%; }
      #main .entry_area .tbl_recipe td {
        width: 80%; }
    #main .entry_area .num_recipe {
      list-style: none;
      counter-reset: my-counter; }
      #main .entry_area .num_recipe li {
        position: relative;
        margin-bottom: 0.5em;
        margin-left: 0;
        padding-left: 30px; }
      #main .entry_area .num_recipe li:before {
        content: counter(my-counter);
        counter-increment: my-counter;
        background-color: #3551a2;
        border: 1px solid;
        border-radius: 50%;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 22px;
        width: 22px;
        color: #fff;
        font-size: 85%;
        line-height: 1;
        position: absolute;
        top: 0;
        left: 0;
        font-weight: bold; }
    #main .entry_area h2.h2_recipe > small {
      font-size: 1rem; }
    #main .entry_area img {
      display: block;
      width: auto;
      height: auto;
      margin: auto; }
    #main .entry_area .imgCol4,
    #main .entry_area .imgCol2,
    #main .entry_area .imgCol3 {
      display: grid;
      gap: 1%; }
    #main .entry_area .imgCol4 {
      grid-template-columns: repeat(4, 1fr); }
    #main .entry_area .imgCol2 {
      grid-template-columns: repeat(2, 1fr); }
    #main .entry_area .imgCol3 {
      grid-template-columns: repeat(3, 1fr); }
    #main .entry_area p, #main .entry_area ul, #main .entry_area dl {
      margin-bottom: 2em;
      line-height: 1.75; }
    #main .entry_area h2 {
      font-size: 1.5rem;
      margin: 2em 0 1em 0;
      line-height: 1.5; }
    #main .entry_area h3 {
      font-size: 1.25rem;
      margin: 2em 0 1em 0;
      line-height: 1.5; }
    #main .entry_area a {
      color: #637fd1; }
    #main .entry_area .entry_link {
      padding: 20px 0;
      margin-bottom: 30px;
      border-top: 2px dotted #23b9da;
      border-bottom: 2px dotted #23b9da; }
      #main .entry_area .entry_link h2 {
        font-size: 1.25rem;
        line-height: 1;
        margin: 0 0 0.5em 0; }
      #main .entry_area .entry_link ul {
        margin: 0; }
      #main .entry_area .entry_link li {
        margin-bottom: 0.5em; }
    #main .entry_area .entry_info {
      padding: 20px;
      border: 5px solid #e3e865;
      display: flex;
      justify-content: space-between;
      background: #fdfdea;
      border-radius: 20px;
      margin-bottom: 30px; }
      #main .entry_area .entry_info .map_area {
        width: 49%;
        order: 2;
        overflow: hidden;
        border-radius: 20px;
        height: 260px; }
        #main .entry_area .entry_info .map_area iframe {
          width: 100%;
          height: 100%; }
      #main .entry_area .entry_info .txt_box {
        width: 100%;
        order: 1; }
      #main .entry_area .entry_info .map_area + .txt_box {
        width: 49%;
        order: 1; }
      #main .entry_area .entry_info h2 {
        font-size: 1.5rem;
        line-height: 1.5;
        margin: 0 0 0.5em 0; }
      #main .entry_area .entry_info p {
        line-height: 1.5; }
      #main .entry_area .entry_info .change + .change {
        margin-top: 1em !important; }
      #main .entry_area .entry_info .btn_more {
        color: #3551a2; }
      #main .entry_area .entry_info .btn_more:hover,
      #main .entry_area .entry_info .btn_more:focus {
        color: #fff; }
  #main .blog_image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 20px;
    overflow: hidden; }
  #main .blog_read {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 2px dotted #23b9da; }
    #main .blog_read img {
      display: block;
      width: 140px;
      min-width: 140px;
      flex-basis: 140px;
      margin-right: 15px;
      margin-bottom: 0;
      aspect-ratio: 1 / 1;
      object-fit: contain; }
    #main .blog_read .blog_read_txt {
      position: relative;
      border-radius: 10px;
      padding: 20px;
      background: #fff;
      border: 2px solid #23b9da;
      width: 100%;
      min-height: 4em; }
      #main .blog_read .blog_read_txt::before {
        content: "";
        position: absolute;
        top: 50%;
        left: -23px;
        margin-top: -12px;
        border: 12px solid transparent;
        border-right: 12px solid #FFF;
        z-index: 2; }
      #main .blog_read .blog_read_txt::after {
        content: "";
        position: absolute;
        top: 50%;
        left: -28px;
        margin-top: -14px;
        border: 14px solid transparent;
        border-right: 14px solid #23b9da;
        z-index: 1; }
      #main .blog_read .blog_read_txt p {
        font-size: 0.88rem; }
  #main .tag_list {
    padding: 20px 0;
    margin-bottom: 30px;
    border-top: 2px dotted #23b9da;
    border-bottom: 2px dotted #23b9da;
    font-weight: bold;
    gap: 5px;
    flex-wrap: wrap;
    row-gap: 30px;
    display: flex; }
    #main .tag_list li {
      line-height: 1; }
    #main .tag_list a {
      border: 2px solid #23b9da;
      border-radius: 20px;
      color: #23b9da;
      padding: 5px 1em;
      font-size: 0.88rem;
      text-decoration: none; }
  #main .blog_pages {
    display: flex;
    justify-content: space-between;
    margin: 0;
    font-weight: bold; }
    #main .blog_pages li {
      line-height: 1; }
      #main .blog_pages li a {
        text-decoration: none;
        color: #234087;
        display: inline-block;
        padding: 5px 0 5px 30px;
        background: url("../images/ico_slide_arw_l.png") no-repeat 0 0;
        background-size: auto 100%; }
    #main .blog_pages li + li a {
      background-image: url("../images/ico_slide_arw_r.png");
      background-position: 100% 0;
      padding: 5px 30px 5px 0; }
  #main .tit_blog_area {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 2px dotted #23b9da; }
  #main .utl {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    #main .utl time {
      width: 50%; }
    #main .utl ul {
      width: 50%;
      text-align: right;
      font-size: 1px;
      margin: 0; }
    #main .utl li {
      display: inline-block;
      width: 40px;
      margin-left: 5px; }
  #main .sec_blog_recommend {
    padding: 75px 0; }
  #main .head_blog_recommend {
    text-align: center;
    margin-bottom: 1em;
    line-height: 1;
    color: #fff;
    font-size: 2rem; }
  #main .blog_inner {
    display: grid;
    grid-template-columns: 24% 1fr;
    grid-template-rows: 150px 1fr;
    grid-column-gap: 3%;
    grid-row-gap: 0px;
    align-items: start; }
  #main .art_blog_area {
    grid-area: 1 / 2 / 3 / 3; }
  #main .blog_search_area {
    grid-area: 1 / 1 / 2 / 2; }
  #main .blog_foot_area {
    grid-area: 3 / 1 / 4 / 3;
    margin-top: 50px; }
  #main .blog_sub {
    grid-area: 2 / 1 / 3 / 2; }
  #main .blog_list_inner .art_blog_list_area {
    grid-area: 1 / 2 / 3 / 3;
    width: auto;
    /*overflow: hidden;*/ }
  #main .blog_list_inner .art_blog_list_area_top {
    overflow: hidden; }
  #main .blog_list_inner .blog_sub {
    grid-area: 1 / 1 / 3 / 2; }
  #main > .blog_search_area {
    margin: auto;
    margin-bottom: 70px;
    max-width: 965px;
    box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center; }
    #main > .blog_search_area h2 {
      margin: 0;
      width: 45%;
      text-align: center; }
      #main > .blog_search_area h2 img {
        max-width: 275px;
        width: 80%; }
    #main > .blog_search_area form {
      width: 70%; }
  #main .archive_title {
    line-height: 1;
    margin-bottom: 70px;
    font-size: 48px;
    text-align: center; }
  #main .blog_entry_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #main .blog_entry_list li {
      width: 49%;
      display: flex;
      flex-direction: column;
      margin-bottom: 2%; }
    #main .blog_entry_list a {
      display: block;
      height: 100%;
      background: #fff;
      text-decoration: none;
      padding: 20px;
      overflow: hidden;
      border-radius: 20px;
      box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2); }
    #main .blog_entry_list img {
      width: 100%;
      margin-bottom: 15px;
      overflow: hidden;
      border-radius: 10px;
      object-fit: cover;
      aspect-ratio: 4 / 3; }
    #main .blog_entry_list p {
      margin: 0;
      font-size: 0.88rem; }
    #main .blog_entry_list .art_blog_list_title {
      font-weight: bold;
      margin-bottom: 0.5em;
      min-height: 3em;
      font-size: 1.125rem; }
    #main .blog_entry_list .art_blog_list_cate {
      margin-bottom: 1em;
      line-height: 1; }
    #main .blog_entry_list .art_blog_list_cate .ico_cate {
      padding: 8px 1em; }
    #main .blog_entry_list .art_blog_list_date {
      line-height: 1;
      margin-bottom: 1em; }
    #main .blog_entry_list dt,
    #main .blog_entry_list dd {
      display: inline;
      font-size: 0.88rem; }
    #main .blog_entry_list dd i {
      margin-right: 0.25em; }
    #main .blog_entry_list dt {
      font-weight: bold;
      color: #637fd1; }
  #main .pages {
    height: 100%;
    background: #fff;
    text-decoration: none;
    padding: 20px;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: space-between;
    font-weight: bold;
    gap: 5%; }
    #main .pages a {
      color: #3551a2;
      text-decoration: none;
      display: block;
      height: auto;
      background: url("../images/br_news_page_r.png") no-repeat 0 0;
      background-size: auto 100%; }
    #main .pages .link_next {
      margin: 0 0 0 auto;
      background-position: right center;
      padding-right: 30px; }
    #main .pages .link_before {
      margin: 0 auto 0 0;
      padding-left: 30px;
      background-image: url("../images/br_news_page_l.png");
      background-position: right left; }
  #main .sec_blog_sub {
    background: #fff;
    padding: 25px 10px;
    margin-bottom: 40px;
    border: 5px solid #e3e965;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2); }
    #main .sec_blog_sub h2 {
      margin-bottom: 20px;
      line-height: 1;
      font-size: 10px; }
      #main .sec_blog_sub h2 img {
        max-width: 275px;
        width: 100%; }
  #main .blog_search_area h2 img {
    max-width: 275px;
    width: 100%; }
  #main .art_blog_area {
    background: #fff;
    padding: 25px 10px;
    margin-bottom: 40px;
    border: 5px solid #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2); }
  #main .blog_cate_list {
    font-weight: bold;
    border-top: 2px dotted #23b9da; }
  #main .blog_cate_list > li {
    font-size:0.88rem;}
    #main .blog_cate_list a {
      display: block;
      border-bottom: 2px dotted #23b9da;
      line-height: 1;
      display: block;
      padding: 20px 0;
      text-decoration: none; }
    #main .blog_cate_list a[href*="recommend"] {
      display: none; }
  #main .blog_arc_list {
    margin-top: 33px; }
    #main .blog_arc_list dt {
      background: #3551a2;
      color: #fff;
      font-weight: bold;
      padding: 10px;
      line-height: 1;
      position: relative; }
      #main .blog_arc_list dt::before {
        display: block;
        width: 10px;
        height: 10px;
        position: absolute;
        top: 50%;
        right: 10px;
        border-bottom: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
        content: "";
        margin-top: -7px; }
    #main .blog_arc_list dd {
      overflow: hidden;
      position: relative;
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows 0.25s ease-out; }
    #main .blog_arc_list .on::before {
      transform: rotate(225deg);
      margin-top: -2px; }
    #main .blog_arc_list .on + dd {
      grid-template-rows: 1fr; }
    #main .blog_arc_list ul {
      margin: 0 0 1em 0;
      overflow: hidden; }
    #main .blog_arc_list ul > li {
      font-size:0.88rem; }
    #main .blog_arc_list a {
      text-decoration: none;
      display: block;
      padding: 5px 10px; }
  #main .blog_top_slide {
    margin-bottom: 30px; }
  #main .blog_top_block {
    display: block;
    text-decoration: none;
    position: relative;
    color: #fff;
    overflow: hidden;
    border-radius: 20px; }
    #main .blog_top_block img {
      width: 100%;
      display: block;
      object-fit: cover;
      aspect-ratio: 5 / 2; }
    #main .blog_top_block .blog_top_txt {
      background: rgba(0, 0, 0, 0.5);
      padding: 20px;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      bottom: 0;
      width: 40%; }
    #main .blog_top_block dt, #main .blog_top_block dd {
      display: inline;
      font-size: 0.88rem; }
    #main .blog_top_block dd i {
      margin-right: 0.25em; }
    #main .blog_top_block .txt_blog_time {
      font-size: 0.88rem;
      line-height: 1;
      margin: 0 0 0.5em 0;
      font-weight: bold; }
    #main .blog_top_block .txt_blog_tag {
      font-weight: bold;
      line-height: 1.25;
      margin: 0 20px 0 0; }
    #main .blog_top_block .txt_blog_title {
      font-weight: bold;
      font-size: 1.6rem;
      margin-bottom: 0.5em; }
  #main .path {
    padding: 10px 0 0 0;
    margin: 0 0 1.5em 0; }
    #main .path p {
      display: flex;
      gap: 5px;
      margin: 0;
      color: #004ea2;
      font-size: 0.78rem; }
    #main .path a {
      color: #004ea2; }
    #main .path em {
      font-weight: bold; }

/*============================================================
	NEWS
============================================================*/
.news_page #main {
  padding-top: 0;
  background-color: #ceebfb;
  /* background: #ffecb9 url("../images/bg_blog_cloud.png") no-repeat top center;
   background-size: 1300px auto;*/ }
  .news_page #main::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    content: "";
    display: block;
    width: 100%;
    height: 153px;
    background: url(../images/bg_blog_cloud.png) no-repeat top center;
    background-size: 1300px auto; }

#main .news_main_art {
  max-width: 1200px;
  background: #fff;
  padding: 30px;
  border-radius: 40px;
  margin: 0 auto 35px auto;
  position: relative; }
  #main .news_main_art h1 {
    display: flex;
    align-items: flex-start;
    font-size: 1.5rem;
    gap: 2%; }
  #main .news_main_art .entry {
    padding: 20px 0;
    margin-bottom: 20px;
    border-top: 1px dotted #ccc;
    border-bottom: 1px dotted #ccc; }
    #main .news_main_art .entry p, #main .news_main_art .entry li, #main .news_main_art .entry dl, #main .news_main_art .entry tg.td {
      line-height: 1.75; }
#main .l_pdf_link {
  margin: 0 0 2em 0;
  background: #f7f7f7;
  padding: 20px; }
  #main .l_pdf_link a {
    text-decoration: none;
    display: flex;
    align-items: center;
    color: #004e9c;
    font-weight: 700; }
  #main .l_pdf_link img {
    vertical-align: middle;
    width: 30px;
    margin-right: 10px; }
  #main .l_pdf_link a[href$=".pdf"]:after{
    display: none;
  }
#main .news_art_list a {
  display: flex;
  justify-content: flex-start;
  gap: 2%;
  text-decoration: none;
  padding: 15px 0;
  border-bottom: 1px dotted #ccc; }
#main .news_art_list time {
  display: block;
  margin-top: 10px;
  text-align: center;
  font-weight: bold; }
#main .news_art_list strong {
  display: block;
  padding-top: 8px; }

/*============================================================
	single_page
============================================================*/
/* ===== bg ===== */
#single_page #main {
  background-color: #ceebfb; }
  #single_page #main::before {
    display: block;
    content: "";
    background: url("../images/bg_blog_cloud.png") no-repeat top center;
    background-size: 1300px auto;
    height: 150px;
    width: 100%;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0; }

.page_inner {
  position: relative;
  z-index: 1;
  padding-bottom: 120px; }

/* ===== path ===== */
#main .path p {
  max-width: 1020px;
  padding: 0 10px;
  margin: 0 auto;
  display: flex;
  gap: 5px; }
#main .page_inner h3, #main .page_inner h4, #main .page_inner h5, #main .page_inner p, #main .page_inner li, #main .page_inner th, #main .page_inner td, #main .page_inner dl {
  font-size: 1rem; }
#main .page_inner h3 {
  font-size: 1.25rem; }
#main .page_inner h4 {
  font-size: 1.125rem; }
#main .page_inner .path p {
  font-size: 0.78rem; }
#main .page_inner .sec_page_head,
#main .sec_page_head {
  font-size: 32px;
  line-height: 1;
  margin: 0 0 1em 0;
  font-weight: bold; }
  #main .page_inner .sec_page_head small,
  #main .sec_page_head small {
    font-size: 22px; }
#main .page_image_chr {
  text-align: center;
  position: absolute;
  display: block;
  top: -30px;
  right: 0;
  width: 35%; }
  #main .page_image_chr img {
    width: 100%;
    max-width: 600px; }
#main .page_image_chr_l {
  width: 50%; }
#main .lastdate {
  margin-bottom: 2em; }
  #main .lastdate p {
    text-align: right;
    margin-bottom: 0.5em; }
#main .page_image_chr + .sec_page_item_maintenance,
#main .page_image_chr + .lastdate {
  margin-top: 10%; }
#main .page_main_head_single,
#main .page_main_head,
#main .h3_head {
  font-size: 1.5rem;
  color: #3551a2;
  line-height: 1.5;
  padding-left: 25px;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 1em; }
  #main .page_main_head_single::after,
  #main .page_main_head::after,
  #main .h3_head::after {
    display: block;
    position: absolute;
    content: "";
    bottom: 0;
    left: -30px;
    right: -30px;
    border-bottom: 2px dotted #ddd; }
  #main .page_main_head_single::before,
  #main .page_main_head::before,
  #main .h3_head::before {
    display: block;
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 10px;
    bottom: 0;
    background: #3551a2;
    border-radius: 10px;
    min-height: 1.5em; }
#main .page_main_head_single,
#main .h3_head {
  padding-bottom: 0;
  margin-top: 2em; }
  #main .page_main_head_single::after,
  #main .h3_head::after {
    content: normal; }
  #main .page_main_head_single::before,
  #main .h3_head::before {
    bottom: 20px; }
#main .page_main_head_blk {
  color: #000;
  padding-left: 0; }
  #main .page_main_head_blk::before {
    content: normal; }
#main .page_main_head_single:first-child {
  margin-top: 0; }
#main .page_sub_head {
  font-size: 1.5rem;
  margin-bottom: 0.5em; }
  #main .page_sub_head small {
    font-weight: normal; }
#main p + .page_sub_head,
#main ul + .page_sub_head,
#main dl + .page_sub_head,
#main table + .page_sub_head {
  margin-top: 2em; }
#main .sec_page_head_sub_toggle.on,
#main .sec_page_head_sub {
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 1em; }
  #main .sec_page_head_sub_toggle.on::after,
  #main .sec_page_head_sub::after {
    display: block;
    position: absolute;
    content: "";
    bottom: 0;
    left: -30px;
    right: -30px;
    border-bottom: 2px dotted #ddd; }
  #main .sec_page_head_sub_toggle.on::before,
  #main .sec_page_head_sub::before {
    bottom: 20px; }
#main .sec_page_head_sub_toggle.on {
  background: url("../images/bg_toggle_ar_t_red.svg") no-repeat 100% 50%;
  background-size: 20px auto; }
#main table {
  border: 1px solid #333; }
#main th, #main td {
  border: 1px solid #333;
  padding: 12px; }
  #main th small, #main td small {
    font-size: 0.88em;
    /*rem　→　em　へ*/ }
#main th {
  background: #f2f2f2; }
#main .tbl_th_wht {
  background: none; }
#main .grp_tbl_kinri {
  max-width: 420px;
  margin-bottom: 1em; }
  #main .grp_tbl_kinri table {
    width: 100%; }
#main .sp_tbl {
  display: none; }
#main .pc_tbl {
  display: table; }
#main .tbl_c {
  text-align: center; }
#main .tbl_r {
  text-align: right; }
#main .sec_page_head_sub_toggle {
  padding-bottom: 0;
  margin-bottom: 0;
  transition: 0s padding,0.25s margin;
  background: url("../images/bg_toggle_ar_b_red.svg") no-repeat 100% 50%;
  background-size: 20px auto; }
  #main .sec_page_head_sub_toggle::after {
    display: none;
    content: normal; }
#main .tbl_fix {
  table-layout: fixed; }
#main .page_toggle {
  overflow: hidden;
  position: relative;
  height: 0;
  interpolate-size: allow-keywords;
  transition: 0.25s height, 0.25s opacity;
  opacity: 0; }
#main .on + .page_toggle {
  height: auto;
  opacity: 1; }
#main .sec_page_item {
  background: #fff;
  margin-bottom: 20px;
  border-radius: 20px;
  padding: 15px 30px;
  overflow: hidden; }
#main .sec_page_item_faq:last-child {
  margin-bottom: 150px; }
#main .faq_inc_area .sec_page_item_faq:last-child {
  margin-bottom: 30px; }
#main .page_inner .faq_inc_area .faq_title,
#main .faq_inc_area .faq_title {
  font-size: 1.25rem; }
#main .faq_inc_area .faq_title i,
#main .faq_inc_area .faq_anser i {
  font-size: 1.5rem; }
#main .sec_page_item_gry {
  background: #f4f4f4; }
#main .sec_atm_item {
  background: #fff;
  margin-bottom: 20px;
  border-radius: 20px;
  padding: 10px 30px;
  overflow: hidden; }
  #main .sec_atm_item .page_toggle img {
    width: 100%;
    max-width: 700px; }
#main .atm_main_head.on,
#main .atm_main_head {
  padding-bottom: 0; }
#main .sec_damage {
  margin: 30px 0 0 0;
  border: #E94829 solid 2px;
  border-radius: 5px;
  padding: 20px;
  background: #FFFCE1;
  display: flex;
  align-items: center; }
  #main .sec_damage h4 {
    color: #E94829; }
  #main .sec_damage img {
    display: block;
    width: 90px;
    min-width: 90px;
    flex-basis: 90px; }
  #main .sec_damage .txt_box {
    margin-left: 2%; }
    #main .sec_damage .txt_box img {
      display: block;
      width: 100%;
      min-width: 1px;
      max-width: 540px; }

/*============================================================
	Footer
============================================================*/
.foot_menu {
  background: #3f5aa7;
  padding: 18px 10px; }
  .foot_menu ul {
    text-align: center;
    font-size: 0.88rem;
    font-weight: bold; }
  .foot_menu li {
    display: inline-block;
    line-height: 1;
    border-right: 1px solid #fff; }
  .foot_menu li:last-child {
    border-right: 0; }
  .foot_menu a {
    display: block;
    padding: 0 0.5em;
    color: #fff;
    text-decoration: none; }
  .foot_menu a:hover,
  .foot_menu a:focus {
    opacity: 0.65; }

#page_footer {
  width: 100%;
  position: relative;
  text-align: center;
  padding: 15px 0 30px 0; }
  #page_footer img {
    width: 147px;
    display: block;
    margin-bottom: 15px; }
  #page_footer p {
    font-size: 0.88rem;
    line-height: 1;
    margin-bottom: 1em;
    font-weight: bold; }
  #page_footer small {
    font-weight: normal; }

/*============================================================
	greeting
============================================================*/
#main .sec_gree_1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 60px; }
  #main .sec_gree_1 .pic {
    width: 28%;
    text-align: center; }
  #main .sec_gree_1 .txt_box {
    width: 66%; }
  #main .sec_gree_1 p {
    margin-bottom: 2em;
    line-height: 2; }
  #main .sec_gree_1 .sec_gree_profile {
    border-top: 2px dotted #999;
    margin: 25px 0 0 0;
    padding: 25px 0 0 0; }
    #main .sec_gree_1 .sec_gree_profile h3 {
      color: #004ea2;
      font-size: 1.5rem;
      line-height: 1; }
    #main .sec_gree_1 .sec_gree_profile p {
      margin-bottom: 0; }
#main .sec_gree_3 {
  background: #ffe600;
  padding: 20px 30px;
  border: 5px solid #fff;
  border-radius: 40px; }
  #main .sec_gree_3 h3 {
    line-height: 1;
    background: #4b94d1;
    color: #fff;
    font-size: 1.5rem;
    padding: 20px 10px;
    text-align: center;
    border-radius: 30px; }
#main .gree_member_list_3 {
  display: flex;
  justify-content: center; }
  #main .gree_member_list_3 li {
    width: 23%;
    margin: 0 2% 4% 2%;
    text-align: center; }
  #main .gree_member_list_3 img {
    margin-bottom: 20px; }
#main .gree_member_list_4 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  #main .gree_member_list_4 li {
    width: 23%;
    margin: 0 0 4% 0;
    text-align: center; }
  #main .gree_member_list_4 img {
    margin-bottom: 20px; }
#main .greeting_sns {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-weight: bold; }
  #main .greeting_sns li {
    width: 49%;
    margin-bottom: 1em;
    font-size: 0.88rem; }
  #main .greeting_sns img {
    width: 40px;
    vertical-align: middle; }
  #main .greeting_sns a {
    text-decoration: none; }
#main .sec_gree_2 {
  margin-bottom: 60px; }
  #main .sec_gree_2 h2 {
    text-align: center; }
  #main .sec_gree_2 .gree_member_grp {
    display: flex;
    justify-content: space-between;
    margin: auto;
    max-width: 670px; }
  #main .sec_gree_2 .gree_member_grp_item {
    width: 49%;
    margin: 0; }
    #main .sec_gree_2 .gree_member_grp_item p {
      margin: 0;
      text-align: center; }
      #main .sec_gree_2 .gree_member_grp_item p img {
        margin-bottom: 20px; }
    #main .sec_gree_2 .gree_member_grp_item h3 {
      text-align: center;
      font-size: 36px;
      line-height: 1;
      margin-top: 0.5em; }
      #main .sec_gree_2 .gree_member_grp_item h3 small {
        font-size: 50%;
        font-weight: normal;
        vertical-align: bottom; }
    #main .sec_gree_2 .gree_member_grp_item h3 + p {
      margin: 1em 0 0 0;
      padding: 1em 0 0 0;
      border-top: 2px dotted #999;
      text-align: left; }

/*============================================================
	faq
============================================================*/
#main .btn_copy {
  display: inline-block;
  padding: 8px 1em;
  border: 0;
  background: #eee; }
#main .tit_left {
  font-size: 1.75rem; }
  #main .tit_left .merit_ico {
    width: 145px;
    height: 145px;
    border: 4px solid #eee;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    border-radius: 50%;
    margin-right: 20px; }
#main .change + .tit_left {
  margin-top: 2em; }
#main .tit_left:has(.merit_ico) {
  display: flex;
  justify-content: flex-start;
  align-items: center; }
  #main .tit_left:has(.merit_ico) .yen {
    color: #e0482a; }
    #main .tit_left:has(.merit_ico) .yen i {
      transform: scale(1.5) translateY(10%);
      transform-origin: bottom center;
      display: inline-block;
      padding: 0 0.25em; }
#main .tit_blue {
  color: #004ea2; }
#main .tit_cnter {
  text-align: center;
  font-size: 1.75rem;
  color: #004ea2; }
  #main .tit_cnter img {
    width: 40px;
    vertical-align: middle;
    margin-right: 10px; }
#main .tit_cnter_w {
  color: #fff; }
#main .faq_guide_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: auto;
  max-width: 1085px;
  width: 100%; }
  #main .faq_guide_list li {
    width: 32.5%; }
#main .page_image_chr_faq {
  text-align: right; }
  #main .page_image_chr_faq img {
    max-width: 510px;
    width: 100%; }
#main .sec_faq_list {
  padding: 0 0 120px 0;
  margin-top: 145px;
  position: relative;
  background: #23b9db; }
  #main .sec_faq_list:before {
    content: "";
    display: block;
    position: absolute;
    top: -125px;
    left: 0;
    width: 100%;
    height: 125px;
    background: url("../images/bg_claude_blue.webp") repeat-x bottom center;
    background-size: auto 100%; }
#main .faq_list {
  border-top: 1px dotted #ccc;
  font-weight: bold; }
  #main .faq_list a {
    display: flex;
    padding: 10px 0;
    line-height: 1.25;
    justify-content: flex-start;
    border-bottom: 1px dotted #ccc;
    text-decoration: none; }
    #main .faq_list a i {
      display: block;
      color: #004ea2;
      margin-right: 10px; }
#main .grp_faq_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  #main .grp_faq_list p {
    font-size: 1rem;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap; }
#main .faq_list_box {
  background: #fff;
  border-radius: 20px;
  padding: 20px 30px;
  width: 49%;
  margin-bottom: 2%; }
  #main .faq_list_box h3 {
    color: #004ea2;
    font-size: 30px;
    line-height: 1; }
    #main .faq_list_box h3 img {
      vertical-align: middle;
      margin-right: 10px; }
#main .sec_faq_contact {
  position: relative;
  padding-bottom: 150px;
  background: #fff url("../images/bg_claude_lb.webp") repeat-x bottom center;
  background-size: auto 125px;
  margin-top: 0; }
  #main .sec_faq_contact::before {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    height: 125px;
    top: -125px;
    width: 100%;
    left: 0;
    background: url("../images/bg_claude_wht.webp") repeat-x top center;
    background-size: auto 100%; }
#main .head_faq_contact {
  text-align: center; }
  #main .head_faq_contact img {
    width: 100%;
    max-width: 935px; }
#main .head_faq_contact + h3 {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 60px; }
  #main .head_faq_contact + h3 img {
    width: 100%;
    max-width: 853px; }
#main .faq_contact_tel_list {
  display: flex;
  justify-content: space-between; }
  #main .faq_contact_tel_list li {
    width: 32%; }
#main .sec_faq_category {
  background: #ceebfb; }
#main .faq_category_list {
  border-top: 1px dotted #999; }
  #main .faq_category_list a {
    display: block;
    padding: 10px 0;
    color: #004ea2;
    font-weight: bold;
    text-decoration: none;
    line-height: 1;
    border-bottom: 1px dotted #999; }
    #main .faq_category_list a img {
      vertical-align: middle;
      margin-right: 10px; }
    #main .faq_category_list a:hover, #main .faq_category_list a:focus {
      opacity: 0.65; }
#main .faq_title,
#main .faq_anser {
  display: flex;
  justify-content: flex-start; }
  #main .faq_title i,
  #main .faq_anser i {
    display: block;
    width: 1.5em;
    min-width: 1.5em;
    flex-basis: 1.5em;
    overflow: hidden;
    font-weight: bold;
    font-size: 1.15rem; }
  #main .faq_entry .faq_title i,
  #main .faq_entry .faq_anser i {
    font-size: 1.5rem; }
  #main .faq_title .fa,
  #main .faq_anser .fa {
    font-size: 100%;
    color: #004e9c; }
#main .faq_title {
  align-items: center;
  font-size: 1.15rem;
  margin: 0;
  padding-right: 30px;
  line-height: 1.2; }
#main .faq_entry .faq_title {
  font-size: 1.5rem; }
  #main .faq_title i {
    color: #004ea2; }
#main .toggle_faq_list .faq_title,
#main .toggle_faq .faq_title {
  cursor: pointer;
  background: url(../images/bg_toggle_ar_b_red.svg) no-repeat 100% 50%;
  background-size: 20px auto; }
#main .toggle_faq_list .faq_title_on,
#main .toggle_faq .faq_title_on {
  background: url(../images/bg_toggle_ar_t_red.svg) no-repeat 100% 50%;
  background-size: 20px auto; }
#main .toggle_faq_list .faq_anser,
#main .toggle_faq .faq_anser {
  padding-top: 0;
  margin-top: 0;
  border-top: 0;
  overflow: hidden;
  height: 0;
  transition: 0.25s;
  interpolate-size: allow-keywords; }
  #main .toggle_faq_list .faq_anser div,
  #main .toggle_faq .faq_anser div {
    width: 100%; }
  #main .toggle_faq_list .faq_anser .btn_link,
  #main .toggle_faq .faq_anser .btn_link {
    margin-right: 0.5em; }
#main .faq_title_on + .faq_anser {
  padding-top: 30px;
  margin-top: 30px;
  border-top: 1px dotted #ccc;
  overflow: hidden;
  height: auto; }
#main .faq_anser {
  padding-top: 30px;
  margin-top: 15px;
  border-top: 1px dotted #ccc; }
  #main .faq_anser i {
    color: #01a99d; }
  #main .faq_anser p {
    line-height: 1.75; }
  #main .faq_anser h2 {
    font-size: 1.15rem;
    color: #3551a2;
    line-height: 1.5;
    padding-left: 10px;
    border-left: 5px solid #aab8e1;
    position: relative;
    margin-bottom: 5px;
    margin-top: 1.5em;
  }

  #main .faq_anser div {
    width: 100%; }

/*============================================================
	youtube
============================================================*/
.video_area {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin-bottom: 30px; }

.video_area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*============================================================
	netshiten
============================================================*/
#main {
  /*kaisetsu*/
  /*flow*/
  /* ==== ATM ==== */
  /* fee */
  /*service_bnr*/
  /* teiki */
  /* ==== contact ==== */
  /* ==== tosaben ==== */
  /* ==== sec_voice ==== */
  /* ==== shikitari ==== */
  /* ==== ozashiki ==== */
  /* ==== sec_umaimon ==== */
  /* ==== words ==== */
  /* ==== maintenance ==== */
  /* ==== dialog ==== */ }
  #main .image_netshop {
    text-align: center; }
    #main .image_netshop img {
      width: 100%;
      max-width: 985px; }
  #main .cloude_lblu,
  #main .cloude_blu,
  #main .cloude_wht {
    position: relative;
    margin-top: 150px;
    padding-bottom: 150px;
    background: #fff; }
    #main .cloude_lblu::before,
    #main .cloude_blu::before,
    #main .cloude_wht::before {
      display: block;
      position: absolute;
      content: "";
      width: 100%;
      height: 125px;
      top: -125px;
      width: 100%;
      left: 0;
      background: url("../images/bg_claude_wht.webp") repeat-x top center;
      background-size: auto 100%; }
  #main .cloude_blu {
    background: #23b9db; }
    #main .cloude_blu::before {
      background-image: url("../images/bg_claude_blue.webp"); }
  #main .cloude_lblu {
    background: #ceebfb;
    margin: 0;
    padding: 0; }
    #main .cloude_lblu::before {
      background-image: url("../images/bg_claude_lb.webp"); }
  #main .cloude_bp {
    padding-bottom: 300px; }
  #main .cloude_blu,
  #main .cloude_blu + .cloude_wht,
  #main .cloude_wht + .cloude_blu {
    margin-top: -150px; }
  #main .cloude_lblu_bt::after {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    height: 125px;
    bottom: 0;
    width: 100%;
    left: 0;
    background: url("../images/bg_claude_lb.webp") repeat-x top center;
    background-size: auto 100%; }
  #main .cloude_wht_bt {
    padding-bottom: 0;
    margin-bottom: 260px; }
    #main .cloude_wht_bt::after {
      display: block;
      position: absolute;
      content: "";
      width: 100%;
      height: 125px;
      bottom: -125px;
      width: 100%;
      left: 0;
      background: url("../images/bg_claude_wht_bt.webp") repeat-x top center;
      background-size: auto 100%; }
  #main .txt_netshiten_chr {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    /*  max-width: 775px;*/ }
    #main .txt_netshiten_chr img {
      max-width: 100px; }
    #main .txt_netshiten_chr i {
      display: block;
      width: 110px;
      flex-basis: 110px;
      min-width: 110px;
      order: 2; }
    #main .txt_netshiten_chr p {
      order: 1;
      margin-right: 5%;
      font-size: 1.125rem;
      font-weight: bold; }
  #main .txt_netshiten_chr_left {
    align-items: center; }
    #main .txt_netshiten_chr_left i {
      order: 1; }
    #main .txt_netshiten_chr_left p {
      order: 2;
      margin-right: 0;
      margin-left: 2%;
      font-size: 1.125rem; }
  #main .txt_netshiten_chr_l {
    max-width: none;
    justify-content: space-between;
    flex-wrap: wrap; }
    #main .txt_netshiten_chr_l img {
      max-width: 100%; }
    #main .txt_netshiten_chr_l > div {
      width: 58%; }
    #main .txt_netshiten_chr_l i {
      display: block;
      width: 40%;
      flex-basis: 40%;
      min-width: 40%; }
  #main .sec_netshop_features_item {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 2px dotted #ccc;
    align-items: center; }
    #main .sec_netshop_features_item h3 {
      margin: 0;
      font-size: 1.5rem; }
    #main .sec_netshop_features_item:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: 0; }
    #main .sec_netshop_features_item i {
      display: block;
      width: 60px;
      min-width: 60px;
      flex-basis: 60px;
      margin-right: 30px; }
  #main .tbl_service {
    width: 100%;
    border: 5px solid transparent;
    table-layout: fixed; }
    #main .tbl_service th, #main .tbl_service td {
      border: 5px solid #fff;
      background: #eee;
      padding: 15px 10px;
      text-align: center; }
    #main .tbl_service tr:nth-of-type(2n) th,
    #main .tbl_service tr:nth-of-type(2n) td {
      background: #fff; }
    #main .tbl_service tr:nth-of-type(1) th,
    #main .tbl_service tr:nth-of-type(1) td {
      background: #fff; }
      #main .tbl_service tr:nth-of-type(1) th img,
      #main .tbl_service tr:nth-of-type(1) td img {
        width: 20px;
        margin-right: 10px;
        vertical-align: middle; }
    #main .tbl_service .th_col_1,
    #main .tbl_service .th_col_2 {
      text-align: center;
      padding: 10px 0;
      color: #fff;
      border-radius: 10px;
      overflow: hidden;
      line-height: 1;
      vertical-align: middle; }
    #main .tbl_service .th_col_1 {
      background: #004ea2 !important; }
    #main .tbl_service .th_col_2 {
      background: #e1f1f9 !important;
      color: #0071bc; }
    #main .tbl_service h3 {
      text-align: center;
      color: #004ea2;
      font-size: 1.5rem;
      line-height: 1; }
    #main .tbl_service h4 {
      text-align: center;
      color: #0071bc; }
    #main .tbl_service p {
      font-size: 1rem; }
  #main .image_netshop_foot {
    text-align: center;
    margin-bottom: -50px; }
    #main .image_netshop_foot img {
      max-width: 550px;
      width: 100%; }
    #main .image_netshop_foot + p + p {
      margin-top: 80px; }
  #main .sicchu_link,
  #main .page_link {
    margin: 0;
    font-size: 1.5rem;
    font-weight: bold; }
    #main .sicchu_link li,
    #main .page_link li {
      margin-bottom: 1em;
      line-height: 1; }
    #main .sicchu_link a,
    #main .page_link a {
      color: #004ea2;
      text-decoration: none;
      position: relative;
      display: inline-block;
      padding-left: 25px; }
      #main .sicchu_link a::before,
      #main .page_link a::before {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 5px;
        background: #fff;
        border-radius: 5px; }
      #main .sicchu_link a:hover, #main .sicchu_link a:focus,
      #main .page_link a:hover,
      #main .page_link a:focus {
        opacity: 0.65; }
    #main .sicchu_link .now::before,
    #main .page_link .now::before {
      background: #e60012; }
  #main .sicchu_link a {
    padding-left: 0; }
    #main .sicchu_link a::before {
      content: normal; }
  #main .sicchu_link img {
    aspect-ratio: 1 / 1;
    width: 50px;
    margin-right: 12px;
    vertical-align: middle;
    object-fit: contain; }
  #main .txt_red {
    color: #e0482a; }
  #main .txt_wht {
    color: #fff;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);
    /*追加*/ }
  #main .ico_merit_service {
    display: inline-block;
    line-height: 1;
    padding: 12px 1.5em;
    font-size: 0.88rem;
    font-weight: bold;
    color: #fff;
    background: #23b9db;
    margin-right: 5px; }
  #main .merit_list {
    margin: 25px 0 0 0;
    display: table;
    table-layout: fixed;
    border-collapse: collapse;
    background: #fcfcfc;
    border-radius: 20px;
    overflow: hidden;
    width: 100%;
    border: 1px solid #ccc;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1); }
    #main .merit_list li {
      display: table-cell;
      border: 1px solid #eee;
      position: relative;
      height: 100%; }
    #main .merit_list li::before {
      content: "";
      display: block;
      width: 8px;
      height: 8px;
      border-right: 2px solid #23b9db;
      border-bottom: 2px solid #23b9db;
      transform: rotate(45deg);
      position: absolute;
      bottom: 10px;
      left: calc(50% - 8px); }
    #main .merit_list a {
      text-decoration: none;
      position: relative;
      display: block;
      height: 100%;
      padding: 20px 10px 20px 10px; }

    #main .merit_list .melit_list_p {
      margin: 0;
      text-align: center;
      line-height: 1.5;
      font-size: 0.68rem;
      color: #333;
      min-height: 4em;
      letter-spacing: -0.05em; }
    #main .merit_list .merit_ico + p {
      min-height: 2em; }
    #main .merit_list .melit_list_catch {
      color: #004ea2;
      margin: 0;
      text-align: center;
      min-height: 4em;
      letter-spacing: -0.05em;
      font-size: 0.88rem;
     }
  #main .merit_ico {
    display: block;
    text-align: center;
    line-height: 1;
    font-weight: bold; }
    #main .merit_ico .dt {
      display: block;
      color: #23b9db;
      font-size: 20px;
      /*24px→20pxへ*/ }
    #main .merit_ico .num {
      display: block;
      color: #004ea2;
      font-size: 40px;
      /*60px→40pxへ*/ }
  #main .sec_merit_item .tit_left {
    font-size: 1.75rem; }
  #main .sec_merit_item li, #main .sec_merit_item p {
    font-size: 1rem; }
  #main .sec_merit_item .grp {
    display: flex;
    justify-content: flex-start; }
  #main .sec_merit_item .pic {
    width: 25%;
    min-width: 25%;
    flex-basis: 25%;
    margin-right: 4%; }
    #main .sec_merit_item .pic img {
      margin-bottom: 4%; }
  #main .sec_merit_item .pic_m {
    width: 35%;
    min-width: 35%;
    flex-basis: 35%;
    margin-right: 4%; }
    #main .sec_merit_item .pic_m img {
      margin-bottom: 4%; }
  #main .sec_merit_item .pic_l {
    width: 45%;
    min-width: 45%;
    flex-basis: 45%;
    margin-right: 4%; }
    #main .sec_merit_item .pic_l img {
      margin-bottom: 4%; }
  #main .sec_merit_item h3 {
    margin-top: 60px;margin-bottom:0;}
  #main .sec_merit_item strong {
    font-size: 1.15em; }
  #main .sec_merit_item table {
    width: 100%;
    table-layout: fixed; }
    #main .sec_merit_item table th, #main .sec_merit_item table td {
      text-align: center; }
    #main .sec_merit_item table p {
      text-align: center;
      margin: 0; }
    #main .sec_merit_item table em {
      font-size: 1.125rem;
      color: #e0482a;
      font-weight: bold; }
      #main .sec_merit_item table em big {
        font-size: 150%;
        font-weight: bold; }
  #main .sec_merit_item .grp_2 {
    display: flex;
    justify-content: space-between; }
    #main .sec_merit_item .grp_2 .txt_box_1 {
      width: 50%; }
    #main .sec_merit_item .grp_2 .txt_box_2 {
      width: 48%; }
  #main .sec_merit_atm {
    border: 5px solid #23b9db;
    border-radius: 20px;
    margin-top: 60px;
    padding: 40px; }
  #main .list_type_1 li {
    margin-left: 1em;
    text-indent: -1em; }
  #main .tbl_kojin_point {
    border: 5px solid #fff; }
    #main .tbl_kojin_point th, #main .tbl_kojin_point td {
      border: 5px solid #fff;
      vertical-align: middle; }
    #main .tbl_kojin_point th {
      background: #eee; }
    #main .tbl_kojin_point .tbl_kojin_point_tit {
      background: #f5f5f5; }
    #main .tbl_kojin_point td {
      background: #f7f7da; }
  #main .open_step {
    list-style: none;
    margin: 0 0 50px 0;
    display: flex;
    justify-content: space-between; }
    #main .open_step h3, #main .open_step p {
      text-align: center;
      margin: 0; }
    #main .open_step h3 {
      font-size: 20px; }
    #main .open_step p {
      font-size: 1rem;
      line-height: 1.75;
      color: #033333; }
    #main .open_step .pic {
      text-align: center; }
      #main .open_step .pic img {
        width: 180px; }
    #main .open_step li {
      border: 1px solid #ccc;
      border-radius: 20px;
      padding: 10px;
      list-style: none;
      margin: 0;
      width: 22%;
      position: relative; }
      #main .open_step li::before {
        content: "";
        display: block;
        width: 32px;
        height: 20px;
        background: url("../../page_images/ico_step.png") no-repeat top left;
        position: absolute;
        background-size: contain;
        top: calc(50% - 10px);
        right: -17%; }
    #main .open_step li:last-child::before {
      content: normal; }
  @media screen and (max-width: 960px) and (min-width: 769px) {
    #main .open_step {
      margin: 0 0 25px 0;
      flex-wrap: wrap; }
      #main .open_step li {
        width: 48%;
        margin-bottom: 4%; }
        #main .open_step li::before {
          width: 32px;
          height: 20px;
          right: -10%; }
      #main .open_step li:last-child::before {
        content: normal; } }
  #main .tit_cnter_chr {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10%; }
    #main .tit_cnter_chr img {
      margin: 0;
      width: 135px; }
  #main .grp_open_merit {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 50px 0; }
  #main .btn_link {
    color: #3551a2;
    text-decoration: none;
    line-height: 1;
    font-weight: bold; }
    #main .btn_link::after {
      content: "";
      display: inline-block;
      width: 10px;
      height: 10px;
      margin-left: 0px;
      border-top: 2px solid #3551a2;
      border-right: 2px solid #3551a2;
      transform: rotate(45deg); }
    #main .btn_link:hover, #main .btn_link:focus {
      opacity: 0.65; }
  #main .sec_open_merit {
    width: 32%;
    margin-bottom: 2%;
    background: #fff;
    padding: 20px 10px;
    border-radius: 20px; }
    #main .sec_open_merit h3 {
      font-size: 1.5rem;
      text-align: center;
      line-height: 1.2;
      min-height: 4em;
      margin: 0; }
      #main .sec_open_merit h3 small {
        font-size: 0.88rem;
        font-weight: normal; }
    #main .sec_open_merit p {
      text-align: center; }
    #main .sec_open_merit img {
      width: 200px; }
  #main .card_2type {
    display: flex;
    justify-content: center;
    font-weight: bold; }
    #main .card_2type li {
      width: 40%;
      margin: 0 2%; }
    #main .card_2type p {
      margin: 1em 0 0 0;
      text-align: center;
      line-height: 1; }
  #main .txt_head_set {
    text-align: center;
    position: relative;
    margin-top: -4em;
    font-weight: bold; }
  #main .head_small {
    margin-top: 2em;
    color: #0071bc;
    font-size: 1.5rem; }
    #main .head_small img {
      width: 45px;
      margin-right: 10px;
      vertical-align: middle; }
  #main .sec_flow_1 {
    margin-top: 150px; }
  #main .txt_info_att {
    margin: 2em 0;
    font-weight: bold;
    display: flex; }
    #main .txt_info_att i {
      display: block;
      margin-top: 0;
      margin-right: 5px;
      width: 30px;
      font-size: 24px;
      /*30px→24pxへ*/
      color: #e0482a;
      /*red→#e0482aへ*/ }
  #main .txt_info_att_wht {
    padding: 15px;
    background: #fff;
    border-radius: 10px; }
  #main .link_blue_arw,
  #main .link_att {
    color: #e0482a;
    font-weight: bold;
    text-decoration: none;
    display: inline-block; }
    #main .link_blue_arw::before,
    #main .link_att::before {
      content: "";
      display: inline-block;
      width: 20px;
      height: 20px;
      background: url("../../page_images/ico_doublearw_left_red.png") no-repeat center center;
      background-size: contain;
      margin-right: 5px;
      vertical-align: middle; }
    #main .link_blue_arw:hover, #main .link_blue_arw:focus,
    #main .link_att:hover,
    #main .link_att:focus {
      opacity: 0.65; }
  #main .link_blue_arw {
    color: #004ea2; }
    #main .link_blue_arw::before {
      background-image: url("../../page_images/ico_doublearw_left_blue.png"); }
    #main .link_blue_arw:hover, #main .link_blue_arw:focus {
      opacity: 0.65; }
  #main .img_link {
    text-decoration: none;
    font-weight: bold;
    color: #0071bc;
    line-height: 1; }
    #main .img_link img {
      vertical-align: middle;
      margin-right: 2px; }
    #main .img_link:hover, #main .img_link:focus {
      opacity: 0.65; }
  #main .grp_preparation {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center; }
    #main .grp_preparation .plus {
      width: 7%; }
  #main .sec_preparation_item {
    padding: 30px;
    border-radius: 30px;
    background: #fff;
    width: 42.5%;
    height: 100%;
    min-height: 280px;
    /*350px　→280px*/ }
    #main .sec_preparation_item p, #main .sec_preparation_item h3 {
      text-align: center; }
    #main .sec_preparation_item p {
      margin: 1em 0 0 0; }
    #main .sec_preparation_item h3 {
      font-size: 24px;
      /*30px　→24pxへ*/
      margin: 0 0 0.5em 0;
      line-height: 1; }
      #main .sec_preparation_item h3 big {
        font-size: 150%;
        /*200%　→150%へ*/ }
  #main .sec_preparation_item:last-child {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; }
  #main .grp_flow_phone {
    display: flex; }
    #main .grp_flow_phone i {
      width: 32%;
      margin-right: 4%; }
    #main .grp_flow_phone h3 {
      width: 100%;
      margin-top: auto;
      font-size: 48px; }
    #main .grp_flow_phone p {
      text-align: left; }
  #main .sec_flow_item {
    border: 1px solid #ccc;
    padding: 20px;
    border-radius: 20px; }
    #main .sec_flow_item h3 {
      color: #033333; }
    #main .sec_flow_item h4 {
      font-size: 1.125rem; }
    #main .sec_flow_item section {
      padding: 30px 0;
      border-top: 2px dotted #ccc; }
  #main .tit_step {
    display: flex;
    justify-content: flex-start;
    align-items: center; }
    #main .tit_step i {
      font-size: 1.5rem;
      background: #23b9db;
      color: #fff;
      border-radius: 5px;
      padding: 18px 10px;
      text-align: center;
      min-width: 7em;
      margin-right: 15px;
      line-height: 1; }
  #main .grp_step,
  #main .tit_step_num {
    margin-left: 35px;
    position: relative; }
  #main .tit_step_num {
    line-height: 1.2;
    font-weight: bold;
    font-size: 1.5rem; }
    #main .tit_step_num i {
      display: block;
      position: absolute;
      left: -30px;
      color: #0071bc; }
  #main .step_ico_ar {
    text-align: center;
    display: block;
    padding: 25px 0; }
    #main .step_ico_ar img {
      width: 40px; }
  #main .step_grp_img {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #main .step_grp_img .pic {
      text-align: center;
      display: block;
      width: 26%; }
    #main .step_grp_img .txt_box {
      width: 70%; }
  #main .tbl_internet_data {
    width: 100%;
    max-width: 500px; }
    #main .tbl_internet_data th, #main .tbl_internet_data td {
      width: 50%; }
    #main .tbl_internet_data td[colspan="2"] {
      width: 100%; }
  #main .sec_crucial {
    border: 2px solid red;
    margin: 0 auto 2em auto;
    max-width: 680px;
    padding-bottom: 20px; }
    #main .sec_crucial p {
      padding: 0 20px; }
    #main .sec_crucial h3 {
      color: #fff;
      background: red;
      padding: 10px;
      text-align: center;
      line-height: 1;
      font-size: 1rem; }
  #main .atm_main_head {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center; }
    #main .atm_main_head .img_atm_ico i {
      display: inline-block;
      font-size: 0.88rem;
      padding: 5px 10px;
      border: 1px solid #004ea2;
      color: #004ea2;
      line-height: 1;
      margin-right: 5px; }
  #main .ico_atm_head {
    width: 60px;
    margin-right: 10px;
    vertical-align: middle; }
  #main .grp_verify {
    display: flex;
    justify-content: space-between;
    margin: auto;
    max-width: 870px;
    width: 100%; }
  #main .sec_verify_item {
    width: 48%;
    border: 5px solid #ccc;
    border-radius: 10px;
    margin-bottom: 40px;
    box-shadow: 0 0 2px 1px rgba(1, 1, 1, 0.25);
    padding: 20px;
    background: linear-gradient(0deg, #fbfbfb 100%, #e5e5e5 0%); }
    #main .sec_verify_item h3 {
      text-align: center;
      line-height: 1;
      font-size: 30px; }
  #main .txt_date {
    text-align: right; }
    #main .txt_date time {
      font-size: 0.88rem; }
  #main .tbl_data {
    width: 100%; }
    #main .tbl_data th {
      width: 30%;
      white-space: nowrap; }
    #main .tbl_data td {
      width: 70%; }
  #main .tbl_data_red > tbody > tr > th {
    background: #ffe8e6; }
  #main .tbl_data_blue > tbody > tr > th {
    background: #e9f7fd; }
  #main .service_bnr {
    text-align: center; }
    #main .service_bnr li {
      width: 36%;
      margin: 0 1%;
      display: inline-block; }
  #main .sec_page_item_service {
    margin-top: 45px; }
  #main .teikibin_bnr_area {
    display: flex;
    justify-content: center;
    margin: 60px 0; }
    #main .teikibin_bnr_area li {
      width: 33%; }
  #main .link_txt_blue {
    text-decoration: underline;
    color: #004ea2; }
    #main .link_txt_blue:hover, #main .link_txt_blue:focus {
      opacity: 0.65; }
  #main .tit_teikibin_kikan {
    border: 5px solid #e0482a;
    padding: 15px 30px;
    border-radius: 50px;
    margin: 0 auto;
    max-width: 640px;
    display: flex;
    align-items: center;
    font-weight: bold; }
    #main .tit_teikibin_kikan dt {
      line-height: 1;
      background: #e0482a;
      color: #fff;
      padding: 12px;
      margin-right: 1em;
      font-size: 1.125rem;
      text-align: center; }
    #main .tit_teikibin_kikan dd {
      line-height: 1;
      color: #000;
      font-size: 1.5rem;
      text-align: center; }
  #main .tit_teikibin_kikan_end {
    opacity: 0.5; }
  #main .teikibin_date {
    text-align: center;
    margin-bottom: 3em;
    font-weight: bold;
    line-height: 1; }
    #main .teikibin_date span {
      padding: 15px 2em;
      background: #004ea2;
      color: #fff;
      border-radius: 5px;
      font-size: 42px; }
  #main .teiki_date_grp {
    display: flex;
    justify-content: space-between;
    margin: 80px 0 20px 0; }
    #main .teiki_date_grp img {
      width: 138px;
      height: auto;
      float: left;
      margin-right: 20px;
      margin-bottom: 20px; }
    #main .teiki_date_grp section {
      width: 49%;
      border: 1px #ccc solid;
      border-radius: 20px;
      padding: 1em;
    /*overflow: hidden;*/ }
    #main .teiki_date_grp h3 {
      color: #00a040;
      font-size: 30px;
      margin-bottom: 0.5em;
      line-height: 1;
      overflow: hidden; }
    #main .teiki_date_grp p {
      /*overflow: hidden;*/
      font-size: 1rem;
      margin-bottom: 1em; }
    #main .teiki_date_grp hr {
      clear: both;
      border-bottom: 1px dotted #ccc;
      margin: 1em 0; }
  #main #schedule {
    margin-top: 1em; }
  #main .page_inner .head_teikibin_course {
    color: #fe6c01;
    font-size: 42px;
    line-height: 1;
    padding-bottom: 20px;
    border-bottom: 1px dotted #ccc; }
    #main .page_inner .head_teikibin_course img {
      width: 53px;
      margin-right: 20px; }
    #main .page_inner .head_teikibin_course small {
      font-weight: normal;
      font-size: 1.125rem;
      color: #000; }
  #main .sec_allergy {
    border-radius: 30px;
    background: #fff6dc url("../../page_images/ico_teikibin3_info.png") no-repeat 25px 25px;
    background-size: 30px auto;
    padding: 25px 25px 35px 75px; }
  #main .sec_teikibin_item {
    padding: 20px 30px;
    border-radius: 20px;
    margin-bottom: 20px;
    box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1); }
    #main .sec_teikibin_item .head_teikibin_item {
      position: relative;
      font-size: 28px;
      line-height: 1;
      padding: 15px 3.5em 30px 80px;
      border-bottom: 1px dotted #ccc; }
    #main .sec_teikibin_item .grp {
      display: flex;
      justify-content: space-between; }
    #main .sec_teikibin_item .ico_type {
      position: absolute;
      right: 0;
      display: inline-block;
      color: #fff;
      padding: 12px 1em;
      font-size: 1.5rem;
      background: #fe6c01;
      border-radius: 10px; }
    #main .sec_teikibin_item .ico_type_ise {
      background: #6dbb4f; }
    #main .sec_teikibin_item .ico_type_freeze {
      background: #7bb6d2; }
    #main .sec_teikibin_item .ico_allergy {
      max-width: 170px; }
    #main .sec_teikibin_item .pic {
      order: 2;
      width: 32%; }
    #main .sec_teikibin_item .txt_box {
      order: 1;
      width: 66%; }
    #main .sec_teikibin_item .num {
      background-color: #6b3311;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 60px;
      width: 60px;
      color: #fff;
      font-size: 85%;
      line-height: 1;
      position: absolute;
      top: 0;
      left: 0;
      font-weight: bold;
      font-size: 32px; }
@media screen and (min-width: 769px) {
#main .sec_teikibin {
        position: relative;
        padding-top: 120px; }
#main .sec_teikibin img {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10; }
#main .teiki_date_grp section {
padding:4em 1em 1em 1em;}
}
  #main .grp_campaign_end {
    text-align: center;
    position: relative;
    margin-top: -90px; }
  #main .sec_campaign_end {
    position: relative;
    background: #e0482a;
    color: #fff;
    padding: 10px 20px;
    max-width: 620px;
    margin: 20px auto 30px auto;
    border-radius: 20px;
    position: relative; }
    #main .sec_campaign_end::before {
      border: 20px solid transparent;
      border-bottom-color: #e0482a;
      display: block;
      margin-left: -20px;
      left: 50%;
      top: -40px;
      content: "";
      position: absolute; }
    #main .sec_campaign_end h3 {
      text-align: center;
      line-height: 1.25;
      font-size: 36px;
      margin: 0 0 0 0;
      padding: 20px 0 30px 0;
      background: url("../../page_images/tit_teikibin_chr.png") no-repeat center center;
      background-size: contain; }
    #main .sec_campaign_end a {
      display: inline-block;
      padding: 20px;
      font-weight: bold;
      margin: auto;
      background: #fff;
      border-radius: 30px;
      text-align: center;
      color: #e0482a;
      text-decoration: none; }
  #main .grp_campaign_end > img {
    width: 95px; }
  #main .kinri_foot_serif {
    margin: 35px auto 20px auto;
    max-width: 640px;
    display: flex;
    justify-content: flex-start;
    align-items: center; }
    #main .kinri_foot_serif img {
      width: 90px;
      margin-right: 35px; }
    #main .kinri_foot_serif .kinri_serif {
      border: 2px solid #23b9db;
      padding: 15px;
      border-radius: 20px;
      background: #fff;
      position: relative; }
      #main .kinri_foot_serif .kinri_serif::before {
        content: "";
        position: absolute;
        top: 50%;
        left: -23px;
        margin-top: -12px;
        border: 12px solid transparent;
        border-right: 12px solid #FFF;
        z-index: 2; }
      #main .kinri_foot_serif .kinri_serif::after {
        content: "";
        position: absolute;
        top: 50%;
        left: -28px;
        margin-top: -14px;
        border: 14px solid transparent;
        border-right: 14px solid #23b9da;
        z-index: 1; }
      #main .kinri_foot_serif .kinri_serif p {
        margin: 0;
        font-size: 1rem;
        line-height: 2; }
  #main .tit_contact {
    color: #666;
    font-size: 1.5rem; }
  #main .ico_24h {
    font-size: 0.88rem;
    line-height: 1;
    color: #000;
    border: 1px solid #000;
    padding: 5px;
    margin-left: 1em;
    vertical-align: middle; }
  #main .page_inner .txt_contact_tel {
    line-height: 1;
    font-size: 40px;
    /*60px→40pxへ*/
    font-weight: bold;
    margin-bottom: 0.5em; }
    #main .page_inner .txt_contact_tel img {
      vertical-align: middle;
      margin-right: 20px;
      width: 64px;
      /*　95px→64pxへ*/ }
  #main .page_image_chr_l + .sec_page_item {
    margin-top: 10%; }
  #main .about_page_link {
    margin: 80px 0 0 0;
    padding: 80px 0 0 0;
    border-top: 1px dotted #004ea2; }
  #main .sec_tosaben {
    position: relative;
    border: 10px solid #af8646;
    color: #fff;
    background: #1d621d;
    padding: 30px 3%;
    max-width: 1040px;
    margin: 40px auto 80px auto; }
    #main .sec_tosaben::before {
      display: block;
      content: "";
      position: absolute;
      bottom: -5px;
      left: 0;
      width: 100%;
      height: 55px;
      background: url("../../page_images/bg_tosaben.png") no-repeat bottom left;
      background-size: contain; }
    #main .sec_tosaben a {
      text-decoration: none;
      color: #fff; }
    #main .sec_tosaben .tabList {
      display: flex;
      justify-content: center;
      font-weight: bold;
      margin-bottom: 55px; }
      #main .sec_tosaben .tabList li {
        width: 20%;
        margin: 0 0.2%;
        font-size: 30px;
        line-height: 1; }
      #main .sec_tosaben .tabList a {
        display: block;
        padding: 12px;
        text-align: center;
        border: 5px solid #fff;
        border-radius: 20px; }
      #main .sec_tosaben .tabList .active {
        background: #fff;
        color: #1d621d; }
    #main .sec_tosaben .tosabenList {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap;
      font-weight: bold; }
      #main .sec_tosaben .tosabenList li {
        width: 33.33%;
        font-size: 48px;
        line-height: 1;
        margin-bottom: 1em; }
      #main .sec_tosaben .tosabenList a {
        position: relative;
        display: block;
        padding-left: 30px; }
        #main .sec_tosaben .tosabenList a::before {
          content: "";
          display: block;
          width: 10px;
          height: 10px;
          position: absolute;
          transform: rotate(45deg);
          border-top: 5px solid #fff;
          border-right: 5px solid #fff;
          left: 0;
          top: calc(50% - 10px); }
  #main .popOv {
    position: fixed;
    z-index: 1990;
    width: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none; }
  #main .pop_tosaben {
    position: fixed;
    display: none;
    z-index: 2000;
    width: 530px;
    left: 50%;
    margin-left: -265px;
    top: 25%;
    border: 10px solid #f7ab4a;
    border-radius: 20px;
    background: #fff url("../../page_images/img_tosaben_chr.png") no-repeat 90% 50%;
    background-size: 15% auto;
    color: #000;
    padding: 25px; }
    #main .pop_tosaben h2 {
      font-size: 60px;
      line-height: 1;
      margin-bottom: 20px; }
    #main .pop_tosaben h2 + p {
      font-size: 1.5rem;
      line-height: 1;
      padding-bottom: 20px;
      margin: 0 30% 20px 0;
      border-bottom: 1px dotted #ccc; }
    #main .pop_tosaben h3 {
      font-size: 1.125rem;
      line-height: 1;
      margin-bottom: 1em;
      background: #f7ab4a;
      color: #fff;
      padding: 5px;
      border-radius: 5px;
      width: 4em;
      text-align: center; }
    #main .pop_tosaben h3 + p {
      font-size: 1.125rem;
      line-height: 1;
      margin-bottom: 0; }
    #main .pop_tosaben .btnClose {
      display: block;
      position: absolute;
      top: -30px;
      right: -30px;
      width: 60px;
      height: 60px;
      background: url("../../page_images/btn_tosaben_close.png") no-repeat 0 0;
      background-size: contain; }
  #main .sec_voice {
    position: relative;
    max-width: 800px;
    margin: 0 auto 55px auto; }
    #main .sec_voice h2 img {
      max-width: 680px;
      width: 100%; }
    #main .sec_voice .grp_voice_serif {
      display: flex;
      align-items: center; }
      #main .sec_voice .grp_voice_serif .voice_serif {
        order: 1;
        margin-right: 5%;
        background: #fff;
        padding: 20px;
        border-radius: 20px;
        position: relative; }
        #main .sec_voice .grp_voice_serif .voice_serif::before {
          content: "";
          display: block;
          width: 0;
          height: 0;
          border: 20px transparent solid;
          border-left-color: #fff;
          position: absolute;
          top: 50%;
          right: -40px; }
      #main .sec_voice .grp_voice_serif img {
        width: 75px;
        height: auto;
        order: 2; }
  #main .sec_shikitari_inner {
    padding: 30px 40px 30px 75px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    #main .sec_shikitari_inner p {
      width: 72%;
      order: 1; }
    #main .sec_shikitari_inner img {
      width: 25%;
      order: 2; }
  #main .sec_shikitari {
    background: url("../../page_images/bg_shikitari_2.png") repeat-y top left;
    background-size: 100% auto;
    position: relative;
    max-width: 1040px;
    margin: 50px auto 100px auto; }
    #main .sec_shikitari::before, #main .sec_shikitari::after {
      display: block;
      position: absolute;
      content: "";
      height: 36px;
      width: 100%;
      background: no-repeat left top;
      background-size: 100% 100%; }
    #main .sec_shikitari::before {
      top: -36px;
      background-image: url("../../page_images/bg_shikitari_1.png"); }
    #main .sec_shikitari::after {
      bottom: -36px;
      background-image: url("../../page_images/bg_shikitari_3.png"); }
    #main .sec_shikitari h2 {
      line-height: 1;
      background: #40220f;
      color: #fff;
      padding: 15px;
      font-size: 30px;
      width: 100%; }
      #main .sec_shikitari h2 i {
        font-size: 1.125rem;
        padding: 5px;
        border: 1px solid #fff100;
        color: #fff100;
        vertical-align: middle; }
  #main .ozashiki_grp {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 50px auto; }
  #main .sec_ozashiki_item {
    width: 49%;
    margin-bottom: 2%;
    background: #fff;
    border: 5px solid #ccc;
    border-radius: 20px; }
    #main .sec_ozashiki_item .grp {
      padding: 20px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      align-items: flex-start; }
    #main .sec_ozashiki_item h2 {
      text-align: center;
      width: 100%;
      margin: 0;
      background: #ccc;
      color: #fff;
      line-height: 1;
      padding: 15px 0;
      font-size: 30px; }
    #main .sec_ozashiki_item img {
      width: 30%;
      height: auto;
      order: 2; }
    #main .sec_ozashiki_item .txt_box {
      width: 68%;
      order: 1; }
  #main .sec_ozashiki_item_1 {
    border-color: #c1599d; }
    #main .sec_ozashiki_item_1 h2 {
      background: #c1599d; }
  #main .sec_ozashiki_item_2 {
    border-color: #13ae67; }
    #main .sec_ozashiki_item_2 h2 {
      background: #13ae67; }
  #main .sec_ozashiki_item_3 {
    border-color: #2faacc; }
    #main .sec_ozashiki_item_3 h2 {
      background: #2faacc; }
  #main .sec_ozashiki_item_4 {
    border-color: #eb613b; }
    #main .sec_ozashiki_item_4 h2 {
      background: #eb613b; }
  #main .sec_umaimon {
    width: 49%;
    margin-bottom: 2%;
    background: #fff;
    border: 5px solid #ccc;
    border-radius: 20px;
    padding: 20px; }
    #main .sec_umaimon h2 {
      font-size: 36px;
      line-height: 1;
      margin-bottom: 0.5em; }
      #main .sec_umaimon h2 i {
        display: inline-block;
        margin-right: 10px;
        font-size: 18px;
        border-radius: 50%;
        padding: 15px 10px;
        background: #ccc;
        color: #fff;
        vertical-align: middle; }
    #main .sec_umaimon .grp {
      display: flex;
      justify-content: space-between;
      align-items: flex-start; }
    #main .sec_umaimon h3 {
      line-height: 1;
      margin-bottom: 1em;
      font-size: 1.5rem; }
    #main .sec_umaimon .txt_box {
      order: 1;
      width: 70%; }
    #main .sec_umaimon img {
      order: 2;
      width: 28%; }
  #main .sec_umaimon:nth-of-type(1n) {
    border-color: #e94829; }
    #main .sec_umaimon:nth-of-type(1n) h2 {
      color: #e94829; }
      #main .sec_umaimon:nth-of-type(1n) h2 i {
        background-color: #e94829; }
  #main .sec_umaimon:nth-of-type(2n) {
    border-color: #8fc31f; }
    #main .sec_umaimon:nth-of-type(2n) h2 {
      color: #8fc31f; }
      #main .sec_umaimon:nth-of-type(2n) h2 i {
        background-color: #8fc31f; }
  #main .sec_umaimon:nth-of-type(3n) {
    border-color: #00a1e9; }
    #main .sec_umaimon:nth-of-type(3n) h2 {
      color: #00a1e9; }
      #main .sec_umaimon:nth-of-type(3n) h2 i {
        background-color: #00a1e9; }
  #main .sec_umaimon:nth-of-type(4n) {
    border-color: #f39800; }
    #main .sec_umaimon:nth-of-type(4n) h2 {
      color: #f39800; }
      #main .sec_umaimon:nth-of-type(4n) h2 i {
        background-color: #f39800; }
  #main .sec_words {
    background: #fefcd1 url("../../page_images/bg_words.png") no-repeat top center;
    max-width: 1365px;
    margin: auto;
    padding: 0 0 75px 0;
    box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1); }
  #main .sec_words_head {
    box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
    margin-bottom: 70px; }
    #main .sec_words_head .inner {
      position: relative; }
      #main .sec_words_head .inner img {
        display: block;
        width: 170px;
        position: absolute;
        top: 10%;
        left: -3%; }
      #main .sec_words_head .inner img + img {
        left: auto;
        right: -3%; }
    #main .sec_words_head ul {
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      justify-content: space-between;
      margin: auto;
      width: 75%;
      padding: 90px 0 20px 0;
      margin: auto;
      font-weight: bold; }
    #main .sec_words_head li {
      width: 9%;
      font-size: 48px;
      line-height: 1; }
      #main .sec_words_head li a {
        display: block;
        background: #fff;
        color: #004ea2;
        text-decoration: none;
        padding: 20px 0;
        text-align: center;
        border-radius: 10px;
        box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1); }
      #main .sec_words_head li .none {
        color: #ccc; }
  @media screen and (max-width: 1120px) {
    #main .sec_words {
      background-size: 100% auto;
      padding: 0 0 75px 0; }
    #main .sec_words_head .inner {
      position: relative; }
      #main .sec_words_head .inner img {
        display: none; }
    #main .sec_words_head ul {
      width: 100%;
      padding: 10% 0 0 0; }
    #main .sec_words_head li {
      width: 19%;
      margin-bottom: 2%; } }
  #main .sec_words_item {
    margin-bottom: 40px;
    border: 8px solid #f8b500;
    border-radius: 20px;
    box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
    padding: 20px;
    background: #fefef3;
    display: flex;
    justify-content: space-between; }
    #main .sec_words_item h2 {
      width: 10%;
      text-align: center;
      color: #004ea2;
      line-height: 1;
      margin: 0;
      padding-top: 1%;
      font-size: 48px; }
    #main .sec_words_item .txt_box {
      width: 90%;
      padding-left: 3%;
      border-left: 1px dotted #ccc; }
    #main .sec_words_item h3, #main .sec_words_item p {
      margin: 0; }
    #main .sec_words_item section {
      background: #fefae7;
      padding: 20px; }
      #main .sec_words_item section + section {
        margin-top: 20px; }
    #main .sec_words_item h3 {
      color: #004ea2;
      font-size: 1.125rem; }
  #main .tit_maintenance {
    padding: 15px 0 25px 75px;
    line-height: 1;
    border-bottom: 1px dotted #ccc;
    font-size: 1.5rem;
    background: url("../../page_images/img_atm_ico.png") no-repeat left center;
    background-size: 60px auto; }
  #main * + .tit_maintenance {
    margin-top: 2em; }
  #main #popup_open {
    margin-bottom: auto;
    border: 0;
    border-radius: 10px;
    padding: 20px;
    overflow: visible; }
    #main #popup_open h2,
    #main #popup_open p {
      text-align: center; }
    #main #popup_open h2 {
      font-size: 1.25rem;
      /*1.125rem　→　1.25remへ*/
      color: #333; }
    #main #popup_open .ico_exc {
      color: #e0482a;
      /*red → #e0482aへ*/ }
      #main #popup_open .ico_exc i {
        font-size: 40px; }
    #main #popup_open a {
      display: block;
      background: #e0482a;
      line-height: 1;
      color: #fff;
      padding: 15px 19px;
      font-weight: bold;
      border-radius: 20px;
      text-decoration: none; }
    #main #popup_open #closeDialog {
      display: block;
      position: absolute;
      top: -20px;
      right: -20px;
      width: 40px;
      height: 40px;
      background: #333;
      font-size: 30px;
      color: #fff;
      border-radius: 50%;
      border: 2px solid #fff;
      box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.25); }
  #main dialog::backdrop {
    background-color: rgba(0, 0, 0, 0.8); }

/*============================================================
	map_area
============================================================*/
.map_area {
  height: 300px;
  width: 100%;
  margin-bottom: 30px;
  position: relative; }

.map_area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* ==== ADD CSS YOSAKOI ==== */
#main .ib {
  display: inline-block !important; }

.sp440 {
  display: none; }

.tb_i, .sp_i, .tb_i.sp_i {
  display: none;
  content-visibility: hidden; }

.tb_b, .sp_b, .tb_b.sp_b {
  display: none;
  content-visibility: hidden; }

.pc_i, .pc_i.tb_i, .pc_i.sp_i {
  display: inline;
  content-visibility: visible; }

.pc_b, .pc_b.tb_b, .pc_b.sp_b {
  display: block;
  content-visibility: visible; }

.tb_ib, .sp_ib, .tb_ib.sp_ib {
  display: none;
  content-visibility: hidden; }

.pc_ib, .pc_ib.tb_ib, .pc_ib.sp_ib {
  display: inline-block;
  *display: inline;
  content-visibility: visible;
  zoom: 1; }

#main .tb, #main .tb.sp, #main .sp {
  display: none;
  content-visibility: hidden; }

#main .pc, #main .pc.tb, #main .pc.sp {
  display: block;
  content-visibility: visible; }

.txt_c {
  text-align: center; }

.txt_r {
  text-align: right !important; }

.txt_l {
  text-align: left !important; }

#main .center {
  text-align: center !important; }

#main .center p {
  text-align: center; }

#main .center_b {
  margin-left: auto;
  margin-right: auto; }

.img_l {
  float: left;
  text-align: center;
  margin: 0 20px 20px 0; }

.img_r {
  float: right;
  text-align: center;
  margin: 0 0 20px 20px; }

#main .br_tb, #main .br_sp, #main .br_sp2, #main .br_tb.br_sp, #main .br_tb.br_sp2, #main .br_sp.br_sp2 {
  display: none;
  content-visibility: hidden; }

#main .br_pc, #main .br_pc.br_tb, #main .br_pc.br_sp, #main .br_pc.br_sp2 {
  display: inline;
  content-visibility: visible; }

#main .p0 {
  padding: 0 !important; }

#main .p3px {
  padding: 3px !important; }

#main .p5px {
  padding: 5px !important; }

#main .p10px {
  padding: 10px !important; }

#main .p20px {
  padding: 20px !important; }

#main .p1em {
  padding: 1em !important; }

#main.pl1{padding-left:1em;}

#main .mt0 {
  margin-top: 0 !important; }

#main .mt1 {
  margin-top: 1em !important; }

#main .mt2 {
  margin-top: 2em !important; }

#main .mt3 {
  margin-top: 3em !important; }

#main .mt4 {
  margin-top: 4em !important; }

#main .mt5 {
  margin-top: 5em !important; }

#main .ml0 {
  margin-left: 0 !important; }

#main .ml1 {
  margin-left: 1em !important; }

#main .ml2 {
  margin-left: 2em !important; }

#main .ml3 {
  margin-left: 3em !important; }

#main .ml4 {
  margin-left: 4em !important; }

#main .ml5 {
  margin-left: 5em !important; }

#main .mb0 {
  margin-bottom: 0 !important; }

#main .mb1 {
  margin-bottom: 1em !important; }

#main .mb2 {
  margin-bottom: 2em !important; }

#main .mb3 {
  margin-bottom: 3em !important; }

#main .mb4 {
  margin-bottom: 4em !important; }

#main .mb5 {
  margin-bottom: 5em !important; }

#main .mr0 {
  margin-right: 0 !important; }

#main .mr1 {
  margin-right: 1em !important; }

#main .mr2 {
  margin-right: 2em !important; }

#main .mr3 {
  margin-right: 3em !important; }

#main .mr4 {
  margin-right: 4em !important; }

#main .mr5 {
  margin-right: 5em !important; }

#main .yohaku {
  border: none;
  margin-bottom: 5em; }

#main .yohaku2 {
  border: none;
  margin-bottom: 2em; }

/*text*/
#main .ti1 {
  text-indent: 1em; }

#main .txt_normal {
  font-weight: 400; }

#main .bold {
  font-weight: 700 !important; }

#main .txt_lg {
  font-size: 1.5em !important; }

#main .txt_sml{
  font-size: 0.85em !important; }

#main .page_inner .txt_sml li {
  font-size: 0.85rem !important; }

#main .txt-gray {
  color: gray !important; }

#main .txt-red {
  color: #e0482a !important; }

#main .txt-green {
  color: #008a5d !important; }

#main .txt-blue {
  color: #3651a2 !important; }

#main .txt-blgr {
  color: #009C92 !important; }

#main .txt-wh {
  color: #fff !important;
  text-shadow: 0 0 5px rgba(113, 113, 113, 0.5); }

#main .c_spleft{text-align: center;}

/*asterisk_note*/
#main .asterisk::before {
  content: '※';
  position: absolute;
  top: 0;
  left: -1.2em; }

#main .asterisk {
  position: relative;
  margin-left: 1.2em; }

#main .note00::before {
  content: '(注)';
  position: absolute;
  top: 0;
  left: -2em; }

#main .note00 {
  position: relative;
  margin-left: 2em; }

#main .note01::before, #main .note02::before, #main .note03::before, #main .note04::before, #main .note05::before {
  position: absolute;
  top: 0;
  left: -2.5em; }

#main .note01, #main .note02, #main .note03, #main .note04, #main .note05 {
  position: relative;
  margin-left: 2.5em;
  line-height: 1.4; }

#main .note01::before {
  content: '(注1)'; }

#main .note02::before {
  content: '(注2)'; }

#main .note03::before {
  content: '(注3)'; }

#main .note04::before {
  content: '(注4)'; }

#main .note05::before {
  content: '(注5)'; }

/*list*/
#main ol.list_parentheses {
  padding: 0;
  margin: 0;
  text-indent: -2em; }

#main ol.list_parentheses > li {
  list-style-type: none;
  list-style-position: outside;
  counter-increment: parentheses;
  margin-left: 2em; }

#main ol.list_parentheses > li:before {
  display: marker;
  content: "(" counter(parentheses) ") "; }

#main ol.txt_normal > li:before {
  font-weight: 400 !important; }

#main ol.li_bold > li:before {
  font-weight: 700 !important; }

#main ol.circle {
  position: relative;
  margin: 0;
  padding: 0; }

#main ol.circle > li {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.25em;
  text-indent: 0; }

#main ol.circle > li span {
  position: absolute;
  left: 0;
  margin: 0; }

#main .li-none li {
  list-style: none !important; }

#main .list li {
  list-style: disc;
  margin-left: 1.6em;
  line-height: 1.6;
  margin-bottom: .75em; }

#main .list_asterisk > li {
  list-style: none;
  list-style-position: outside;
  position: relative;
  margin-left: 1.2em; }

#main .list_asterisk > li::before {
  content: '※';
  position: absolute;
  top: 0;
  left: -1.2em; }


#main .liststyle ul {
  display: block;
  list-style-type: disc;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 1em; }

#main .liststyle ul li {
  list-style: inherit;
  margin-bottom: 1em;
  line-height: 1.5; }

#main .liststyle ul > li > ul {
  display: block;
  list-style-type: circle;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 40px; }

#main .liststyle ul > li > ul > li {
  list-style: inherit;
  margin-bottom: 1em;
  line-height: 1.5; }

/*flex*/
#main .flex {
  display: flex; }

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

.flex-item {
  width: 19%;
  border: 1px solid #ccc;
  margin-bottom: 1%;
  padding: 15px;
  text-align: center; }

.flex-item-blank {
  width: 19%;
  margin-bottom: 1%; }

.flex-item img {
  border: 1px solid #999; }

.flex-item span {
  display: block;
  font-size: 88%;
  background: #fafafa;
  padding: 5px;
  margin-top: 1em;
  text-align: center; }

#main .flex-container_sb4, #main .flex-container_sb3, #main .flex-container_sb2-nb, #main .flex-container_sb2, #main .flex-sb {
  display: flex;
  justify-content: space-between; }

#main .flex_center3, #main .flex-c {
  display: flex;
  justify-content: center; }

#main .flex-sa {
  display: flex;
  justify-content: space-around; }

#main .flex-fs {
  display: flex;
  justify-content: flex-start; }

#main .flex-row, #main .fd-r {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row; }

#main .flex-row_r, #main .fd-rr {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row-reverse;
  -moz-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

#main .flex-col, #main .fd-c {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

#main .flex-col_r, #main .fd-cr {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column-reverse;
  -moz-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse; }

#main .flex-wrap, #main .fw-w {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

#main .flex-wrap_r, #main .fw-wr {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap-reverse;
  -moz-flex-wrap: wrap-reverse;
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse; }

#main .fw-no {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }

#main .jc-fs {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start; }

#main .jc-fe {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end; }

#main .jc-c {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center; }

#main .jc-sb {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between; }

#main .jc-sa {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  -moz-justify-content: space-around;
  -ms-justify-content: space-around;
  justify-content: space-around; }

#main .ai-s {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  align-items: stretch; }

#main .ai-fs {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start; }

#main .ai-fe {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-end;
  -moz-align-items: flex-end;
  -ms-align-items: flex-end;
  align-items: flex-end; }

#main .ai-c {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center; }

#main .ai-b {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: baseline;
  -moz-align-items: baseline;
  -ms-align-items: baseline;
  align-items: baseline; }

#main .flex_center3 {
  display: flex;
  justify-content: center; }

#main .flex-item_50 {
  flex-basis: 50%;
  padding: 10px; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  #main .flex-item_50 {
    flex-basis: 48%;
    padding: 10px; } }
#main .flex-item_30 {
  flex-basis: 30%;
  padding: 10px; }

#main .flex-item_70 {
  flex-basis: 70%;
  padding: 10px; }

#main .flex-item_40 {
  flex-basis: 40%;
  padding: 10px; }

#main .flex-item_60 {
  flex-basis: 60%;
  padding: 10px; }

/*table*/
#main .tbl_w100 {
  width: 100%; }

#main .tbl_w90 {
  width: 90%; }

#main .tbl_w85 {
  width: 85%; }

#main .tbl_w80 {
  width: 80%; }

#main .tbl_w75 {
  width: 75%; }

#main .tbl_w70 {
  width: 70%; }

#main .tbl_w65 {
  width: 65%; }

#main .tbl_w60 {
  width: 60%; }

#main .tbl_w55 {
  width: 55%; }

#main .tbl_w50 {
  width: 50%; }

#main .tbl_w45 {
  width: 45%; }

#main .tbl_w40 {
  width: 40%; }

#main .tbl_w35 {
  width: 35%; }

#main .tbl_w30 {
  width: 30%; }

#main .tbl_w25 {
  width: 25%; }

#main .tbl_w20 {
  width: 20%; }

#main .tbl_w15 {
  width: 15%; }

#main .tbl_w10 {
  width: 10%; }

#main .tbl_va_t {
  vertical-align: top !important; }

#main .tbl_va_m {
  vertical-align: middle !important; }

#main .tbl_va_b {
  vertical-align: bottom !important; }

#main .nobdr_b {
  border-bottom: none !important; }

#main .nobdr_t {
  border-top: none !important; }

#main .nobdr_l {
  border-left: none !important; }

#main .nobdr_r {
  border-right: none !important; }

#main .tbl_nobdr th, #main .tbl_nobdr td {
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important; }

#main .dotbdr_b {
  border-bottom: dotted 1px #ccc !important; }

#main .dotbdr_t {
  border-top: dotted 1px #ccc !important; }

#main .dotbdr_l {
  border-left: dotted 1px #ccc !important; }

#main .dotbdr_r {
  border-right: dotted 1px #ccc !important; }

#main .slash {
  background-image: linear-gradient(to top left, transparent, transparent 49%, #999 50%, #999 50%, transparent 51%, transparent) !important; }

#main .slash2 {
  background-image: linear-gradient(to top right, transparent, transparent 49%, #999 50%, #999 50%, transparent 51%, transparent) !important; }

/*border*/
#main .bdr1 {
  border: 1px solid #ccc; }

#main .bdrt1 {
  border-top: 1px solid #ccc; }

#main .bdrb1 {
  border-bottom: 1px solid #ccc; }

#main .bdrr1 {
  border-right: 1px solid #ccc; }

#main .bdrl1 {
  border-left: 1px solid #ccc; }

/*contact-area*/
#main .sec_contact_area {
    max-width: 640px;
    margin: 2em auto 0;
    border: 2px solid #ccc;
    padding: 20px;
    background: #fafafa
}

#main .sec_contact_area h2 {
    text-align: center;
    font-size: 125%
}

#main .sec_contact_area .tel a {
    color: #004e9c;
    font-size: 175%;
    font-weight: 700;
    text-decoration: none
}

#main .sec_contact_area .tel {
    margin: 0
}


@media print, screen and (max-width: 960px) {
  #main .br_pc, #main .br_sp, #main .br_sp2, #main .br_pc.br_sp, #main .br_pc.br_sp2, #main .br_sp.br_sp2 {
    display: none;
    content-visibility: hidden; }

  #main .br_tb, #main .br_pc.br_tb, #main .br_tb.br_sp, #main .br_tb.br_sp2 {
    display: inline;
    content-visibility: visible; }

  #main .tb, #main .tb.sp, #main .tb.pc {
    display: block;
    content-visibility: visible; }

  #main .pc, #main .sp, #main .pc.sp {
    display: none;
    content-visibility: hidden; }

  .tb_i, .pc_i.tb_i, .tb_i.sp_i {
    display: inline;
    content-visibility: visible; }

  .tb_b, .pc_b.tb_b, .tb_b.sp_b {
    display: block;
    content-visibility: visible; }

  .pc_i, .sp_i, .pc_i.sp_i {
    display: none;
    content-visibility: hidden; }

  .pc_b, .sp_i, .pc_b.sp_b {
    display: none;
    content-visibility: hidden; }

  .pc_ib, .sp_ib, .pc_ib.sp_ib {
    display: none;
    content-visibility: hidden; }

  .tb_ib, .pc_ib.tb_ib, .tb_ib.sp_ib {
    display: inline-block;
    *display: inline;
    content-visibility: visible;
    zoom: 1; }

  .flex-item {
    width: 49.5%;
    padding: 10px; }

  .flex-item-blank {
    width: 49.5%; } }
@media screen and (max-width: 768px) {
  #main .flex-container_sb2, #main .flex-container_sb4, #main .flex-item_sb2, #main .flex-item_sb30, #main .flex-item_sb70, #main .flex-sb, #main .flex-c, #main .flex-sa, #main .flex-item_60, #main .flex-item_50, #main .flex-item_40, #main .flex-item_30, #main .flex-item_70 {
    display: block;
    padding: 3px; }

  .flex_center3 {
    display: flex;
    justify-content: center; }

  #main .flex-item_sb4 {
    padding: 1em;
    margin-bottom: 10px; }

  #main .flex-container_sb3 {
    display: block !important;
    justify-content: center !important; }

  #main .flex-item_sb3 {
    flex-basis: 100% !important;
    margin-bottom: 1em; }

  #main .flex-container_sb2-nb {
    display: flex;
    justify-content: space-between; }

  #main .flex-item_sb2-nb {
    flex-basis: 50%;
    padding: 1em; } }
@media screen and (max-width: 767px) {
  #main .c_spleft{text-align: left;}
  .sp_i, .pc_i.sp_i, .tb_i.sp_i {
    display: inline;
    content-visibility: visible; }

  .sp_b, .pc_b.sp_b, .tb_b.sp_b {
    display: block;
    content-visibility: visible; }

  .pc_i, .tb_i, .pc_i.tb_i {
    display: none;
    content-visibility: hidden; }

  .pc_b, .tb_b, .pc_b.tb_b {
    display: none;
    content-visibility: hidden; }

  .pc_ib, .tb_ib, .pc_ib.tb_ib {
    display: none;
    content-visibility: hidden; }

  .sp_ib, .pc_ib.sp_ib, .tb_ib.sp_ib {
    display: inline-block;
    content-visibility: visible;
    zoom: 1; } }
@media screen and (max-width: 767px) and (min-width: 321px) {
  #main .br_pc, #main .br_tb, #main .br_sp2, #main .br_pc.br_tb, #main .br_pc.br_sp2, #main .br_tb.br_sp2 {
    display: none;
    content-visibility: hidden; }

  #main .br_sp, #main .br_pc.br_sp, #main .br_tb.br_sp, #main .br_sp.br_sp2 {
    display: inline;
    content-visibility: visible; }

  #main .sp_sml {
    font-size: smaller; }

  #main .sp, #main .pc.sp, #main .tb.sp {
    display: block;
    content-visibility: visible; }

  #main .pc, #main .tb, #main .pc.tb {
    display: none;
    content-visibility: hidden; } }
@media screen and (max-width: 320px) {
  #main .br_pc, #main .br_tb, #main .br_sp, #main .br_pc.br_tb, #main .br_pc.br_sp, #main .br_tb.br_sp {
    display: none;
    content-visibility: hidden; }

  #main .br_sp2, #main .br_pc.br_sp2, #main .br_tb.br_sp2, #main .br_sp.br_sp2 {
    display: inline;
    content-visibility: visible; }

  #main .sp, #main .pc.sp, #main .tb.sp {
    display: block;
    content-visibility: visible; }

  #main .pc, #main .tb, #main .pc.tb {
    display: none;
    content-visibility: hidden; } }
