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

	SP 共通レイアウト定義 CMS

*****************************************************************/
/* ====== BASE Module SET ===== */
img {
  max-width: 100%; }

.tel_dis {
  cursor: pointer; }

.sp_i {
  display: inline; }

.sp_b {
  display: block; }

.pc_i {
  display: none; }

.pc_b {
  display: none; }

.pc_ib {
  display: none; }

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

#sub ul a::after,
.link::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -7px; }

/*============================================================
	Page / column
============================================================*/
html {
  overflow: visible; }

#main {
  overflow: clip; }

#page {
  overflow: clip;
  padding-top: 52px; }

/*============================================================
	TopContentsStyle
============================================================*/
/*============================================================
	Nav
============================================================*/
.btn_sp_menu {
  display: block;
  width: 55px;
  height: 40px;
  background: url("../images/btn_sp_menu.webp") no-repeat;
  background-size: 100% auto;
  top: 5px;
  right: 15px; }

#main, .foot_menu, #page_footer {
  transition: 0.25s opacity; }

.menu_on {
  overflow: hidden; }
  .menu_on .btn_sp_menu {
    background-image: url("../images/btn_sp_menu_on.webp"); }
  .menu_on #main, .menu_on .foot_menu, .menu_on #page_footer {
    opacity: 0.4; }

.sp_menu::-webkit-scrollbar {
  display: none; }

.sp_menu {
  transform: translateX(100%);
  transition: 0.5s transform;
  position: fixed;
  overflow: auto;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
  width: 100%;
  padding: 65px 20px 100px 20px;
  background: #23b9db;
  color: #fff; }

.menu_on .sp_menu {
  transform: translateX(0); }

.btn_sp_menu {
  z-index: 101;
  position: fixed; }

.sp_bnr_1 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px; }
  .sp_bnr_1 li {
    position: relative;
    width: 49%; }
  .sp_bnr_1 li + li {
    right: -6px; }

.sp_menu_area {
  border-top: 2px dotted #fff;
  font-weight: bold;
  margin-bottom: 26px;
  font-size: 15px;
  font-family: corporate-logo-ver2, メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, sans-serif; }
  .sp_menu_area .btn_close {
    display: none; }
  .sp_menu_area li {
    line-height: 1;
    border-bottom: 2px dotted #fff; }
  .sp_menu_area div {
    /*display: grid;
    grid-template-rows: 0fr;
    transition: 0.25s grid-template-rows;*/
    transition: 0.25s;
    overflow: hidden;
    max-height: 0;
    font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, sans-serif;
    margin: 0 -20px;
    position: relative;
    padding: 0 20px;
    background: #e9f8fb; }
  .sp_menu_area .on + div {
    /*grid-template-rows: 1fr;*/
    max-height: 1000px; }
  .sp_menu_area a {
    display: block;
    padding: 12px 0;
    text-decoration: none;
    color: #fff;
    position: relative; }
  .sp_menu_area a::before {
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    right: 2px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    content: "";
    transform: rotate(45deg);
    margin-top: -10px; }
  .sp_menu_area .on::before {
    transform: rotate(225deg);
    margin-top: -2px; }
  .sp_menu_area h2 {
    padding: 10px 0 10px 10px;
    color: #004ea2;
    font-size: 1rem; }
  .sp_menu_area .direct a::before {
    display: none; }
  .sp_menu_area ul {
    overflow: hidden; }
    .sp_menu_area ul li {
      border-bottom: 0;
      padding-left: 10px;
      font-size: 0.78rem; }
    .sp_menu_area ul a {
      padding: 10px 0;
      color: #000; }
    .sp_menu_area ul a::before {
      content: normal; }

.top_bnr_1 {
  margin-bottom: 10px; }
  .top_bnr_1 li {
    margin-bottom: 10px;
    text-align: center; }
  .top_bnr_1 img {
    width: 100%;
    max-width: 360px; }

.sp_menu_sub {
  margin-bottom: 30px;
  font-weight: bold;
  font-size: 0.78rem; }
  .sp_menu_sub li {
    line-height: 1; }
  .sp_menu_sub a {
    display: block;
    padding: 10px 0;
    text-decoration: none;
    font-weight: bold;
    color: #fff; }

.sp_menu_sns {
  display: flex;
  justify-content: space-between; }
  .sp_menu_sns li {
    width: 18%; }

.inner {
  padding: 0 20px; }

/*============================================================
	Page / column
============================================================*/
#page_header .inner {
  position: static; }
#page_header h1 {
  max-width: 200px;
  width: 100%; }
#page_header .num {
  display: none; }

.btn_h_login {
  display: none; }

/*============================================================
	map_area
============================================================*/
.map_area {
  height: 250px; }

/*============================================================
	TOP
============================================================*/
.btn_more {
  border-width: 2px;
  font-size: 1rem; }

.btn_open {
  font-size: 1rem;
  padding: 15px;
  width: 100%; }

/* Main Design */
#main p,
#main li,
#main dd,
#main dt,
#main blockquote,
#main pre,
#main td,
#main th {
  font-size: 0.88rem; }

#main h1,
#main h2,
#main h3,
#main h4,
#main h5,
#main h6 {
  font-size: 1rem; }

#home #main {
  padding-bottom: 90px; }
  #home #main::before {
    height: 18%; }

#main {
  background-size: auto 150px;
  padding-bottom: 90px;
  /* ===== top_bnr_slide ===== */ }
  #main .cau_info {
    padding: 10px;
    display: block;
    text-align: center;
    margin-bottom: 10px; }
    #main .cau_info h2 {
      width: auto;
      line-height: 1;
      background: url("../images/img_caution.png") no-repeat left center;
      background-size: 15px auto;
      padding: 10px 0 10px 25px;
      min-height: 25px;
      margin: 0;
      display: inline-block;
      font-size: 0.78rem; }
    #main .cau_info p {
      padding-top: 0.5em;
      margin: 0.5em 0 0 0;
      text-align: center;
      border-top: 1px solid #e60012;
      font-size: 0.78rem; }
    #main .cau_info a {
      color: #e60012; }
  #main .top_main_menu {
    position: relative;
    padding-top: 0;
    margin-bottom: 0; }
    #main .top_main_menu .top_pic {
      border: 2px solid #fff;
      border-radius: 20px; }
    #main .top_main_menu .top_main_menu_1 {
      width: 100%;
      position: static;
      display: flex;
      justify-content: space-between;
      top: 0;
      left: 0;
      margin: -20% 0 0 0; }
      #main .top_main_menu .top_main_menu_1 li {
        margin-bottom: 5%; }
      #main .top_main_menu .top_main_menu_1 li:last-child {
        display: none; }
    #main .top_main_menu .top_main_menu_2 {
      width: 100%;
      position: relative;
      display: flex;
      justify-content: space-between;
      top: 0;
      left: 0;
      margin: 0 0 2em 0; }
      #main .top_main_menu .top_main_menu_2 li {
        margin-bottom: 0;
        width: 30%; }
  #main .top_bnr_1 {
  /*display: block;*/
  flex-wrap: wrap;
  justify-content: center;
 }
    #main .top_bnr_1 li {
      width: auto;
      text-align: center; }
  #main .sub_nav {
    border: 2px solid #fff;
    padding-top: 20px;
    margin: 0 auto 30px auto;
    border-radius: 20px;
    padding: 20px 10px;
    flex-wrap: wrap; }
    #main .sub_nav h2 {
      margin: 0;
      order: 1;
      width: 100%;
      text-align: center; }
      #main .sub_nav h2 img {
        max-width: 135px;
        transform: translateX(-15%); }
    #main .sub_nav ul {
      margin: 0;
      order: 2;
      flex-wrap: wrap;
      width: 100%; }
    #main .sub_nav li {
      width: 24%;
      margin: 20px 0 0 0; }
    #main .sub_nav a img {
      max-width: 100%; }
  #main .news_art_list strong {
    padding-top: 5px; }
  #main .ico_news_cate {
    font-size: 0.68rem; }
  #main .sec_top_info {
    padding: 20px 10px;
    border-radius: 20px;
    margin-bottom: 35px;
    display: block; }
    #main .sec_top_info h2 {
      width: 100%;
      text-align: center; }
      #main .sec_top_info h2 img {
        width: 200px; }
    #main .sec_top_info .news_list {
      width: 100%; }
      #main .sec_top_info .news_list p {
        margin-left: 0;
        line-height: 1.25; }
    #main .sec_top_info .change {
      position: static;
      width: 100%; }
  #main .news_list a {
    display: block;
    padding: 10px 0; }
  #main .news_list p {
    margin: 1em 0 0 0;
    font-weight: bold; }
  #main .sub_nav_bnr ul {
    display: block; }
  #main .sub_nav_bnr li {
    width: 100%;
    margin-top: 10px;
    text-align: center; }
  #main .sub_nav_bnr img {
    max-width: 360px;
    width: 100%; }
  #main .blog_block {
    margin: 0 5px;
    padding: 10px 10px 20px 10px; }
  #main .top_bnr_slide .owl-prev,
  #main .top_bnr_slide .owl-next {
    width: 30px;
    height: 30px;
    margin-top: -20px; }
  #main .top_bnr_slide .owl-prev {
    left: -10px; }
  #main .top_bnr_slide .owl-next {
    right: -10px; }
  #main .ico_cate {
    font-size: 0.68rem; }
  #main .top_blog_slide .txt_blog_time {
    font-size: 0.68rem; }
  #main .top_blog_slide h3 {
    font-size: 0.88rem; }
  #main .top_blog_slide .owl-prev,
  #main .top_blog_slide .owl-next {
    width: 30px;
    height: 30px;
    margin-top: 0;
    top: 25%; }
  #main .top_blog_slide .owl-prev {
    left: -10px; }
  #main .top_blog_slide .owl-next {
    right: -10px; }
  #main .change_2 .btn_more {
    display: block;
    margin: 0 auto 1em auto; }

/*============================================================
	foot_menu
============================================================*/
.foot_menu {
  display: none; }

#page_footer {
  padding: 15px 0 60px 0; }
  #page_footer img {
    width: 130px;
    display: block;
    margin: 0 auto 10px auto; }
  #page_footer p {
    font-size: 0.78rem;
    text-align: center; }
  #page_footer small {
    font-weight: normal; }

/*============================================================
	BLOG
============================================================*/
.blog_page #main {
  padding-top: 30px; }

#main {
  /* ===== blog_top_block ===== */ }
  #main .blog_title {
    padding: 0 15px; }
  #main .blog_inner {
    display: block; }
  #main .sec_blog_recommend {
    padding: 25px 0; }
  #main .head_blog_recommend {
    font-size: 1.5rem; }
  #main .art_blog_area {
    margin-bottom: 20px; }
  #main .art_blog_area .tit_blog_area h1 {
    font-size: 1.25rem; }
  #main .blog_search_area {
    padding: 10px;
    margin-bottom: 20px; }
  #main .blog_sub .tag_list {
    margin: 0;
    padding-bottom: 0;
    border-bottom: 0; }
  #main .utl li {
    width: 30px;
    margin-left: 5px; }
  #main .blog_read {
    align-items: flex-start; }
    #main .blog_read img {
      width: 70px;
      min-width: 70px;
      flex-basis: 70px;
      margin-right: 15px; }
    #main .blog_read .blog_read_txt {
      padding: 10px; }
      #main .blog_read .blog_read_txt::before {
        top: 25px;
        left: -23px;
        margin-top: 0;
        border: 12px solid transparent;
        border-right: 12px solid #FFF; }
      #main .blog_read .blog_read_txt::after {
        top: 25px;
        left: -28px;
        margin-top: -2px;
        border: 14px solid transparent;
        border-right: 14px solid #23b9da; }
  #main > .blog_search_area {
    display: block;
    margin: 0 20px 35px 20px;
    width: auto; }
    #main > .blog_search_area h2 {
      margin: 0 0 0.5em 0;
      text-align: left;
      width: auto; }
      #main > .blog_search_area h2 img {
        max-width: 265px;
        width: 50%; }
    #main > .blog_search_area form {
      width: 100%; }
  #main .archive_title {
    margin-bottom: 35px;
    font-size: 25px; }
  #main .blog_entry_list {
    display: block; }
    #main .blog_entry_list li {
      width: auto; }
    #main .blog_entry_list img {
      margin: 0 2% 1em 0;
      width: 49%;
      float: left; }
    #main .blog_entry_list a {
      padding: 10px;
      overflow: hidden; }
    #main .blog_entry_list .art_blog_list_cate {
      clear: both; }
  #main .pages {
    padding: 10px; }
  #main .entry_area .imgCol4,
  #main .entry_area .imgCol2,
  #main .entry_area .imgCol3 {
    display: block; }
    #main .entry_area .imgCol4 img,
    #main .entry_area .imgCol2 img,
    #main .entry_area .imgCol3 img {
      display: block;
      width: 100%;
      margin-bottom: 10px; }
  #main .entry_area .entry_info {
    padding: 15px;
    display: block; }
    #main .entry_area .entry_info .map_area {
      width: 100%;
      height: 250px;
      margin-bottom: 30px;
      border-radius: 10px; }
    #main .entry_area .entry_info .txt_box {
      width: 100%; }
    #main .entry_area .entry_info .map_area + .txt_box {
      width: 100%; }
    #main .entry_area .entry_info h2 {
      font-size: 1.125rem; }
  #main .blog_top_slide {
    margin-bottom: 30px; }
  #main .blog_top_block {
    border-radius: 10px; }
    #main .blog_top_block img {
      aspect-ratio: 3 / 3; }
    #main .blog_top_block .blog_top_txt {
      background: rgba(0, 0, 0, 0.5);
      padding: 20px;
      position: absolute;
      top: auto;
      bottom: 0;
      left: 0;
      width: 100%; }
    #main .blog_top_block .txt_blog_time {
      font-size: 0.78rem; }
    #main .blog_top_block .txt_blog_tag {
      font-size: 0.78rem; }
    #main .blog_top_block .txt_blog_title {
      font-size: 1.15rem; }
  #main .news_main_art h1 {
    display: block; }
    #main .news_main_art h1 .ico_news_cate {
      display: block;
      margin-bottom: 1em;
      max-width: 7em; }
  #main .l_pdf_link {
    padding: 10px; }

/*============================================================
	single_page
============================================================*/
#single_page #main::before {
  background-size: 1060px auto; }

.page_inner {
  padding-bottom: 60px; }

/* ===== path ===== */
#main {
  /*
  .sp_vertical{
   border-bottom: 0;
   display: block;
    &>tbody{
     tr,th,td{
      display: block;
      width: 100%;
     }
    th,td{
     border: 0;
     border-bottom: 1px solid #333;
    }
   }
  }*/ }
  #main .path {
    margin: 0; }
  #main .path p {
    display: none; }
  #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: 0.88rem; }
  #main .page_main_head_single,
  #main .page_main_head {
    font-size: 1rem;
    padding-left: 15px;
    padding-bottom: 0; }
    #main .page_main_head_single::before,
    #main .page_main_head::before {
      width: 5px;
      /*min-height: 1em;*/ }
  #main .page_main_head_single {
    padding-bottom: 0; }
  #main .page_sub_head {
    font-size: 1rem; }
  #main .page_main_head_blk {
    padding-left: 0; }
    #main .page_main_head_blk::before {
      content: normal; }
  #main .page_inner .sec_page_head,
  #main .sec_page_head {
    font-size: 1.5rem;
    margin: 1em 0 2.5em 0; }
    #main .page_inner .sec_page_head small,
    #main .sec_page_head small {
      font-size: 68%; }
  #main .sec_page_head_sub_toggle,
  #main .sec_page_head_sub_toggle.on {
    background-position: 100% 50%; }
  #main .sec_page_head_sub_toggle.on,
  #main .sec_page_head_sub {
    position: relative;
    padding-bottom: 10px; }
    #main .sec_page_head_sub_toggle.on::before,
    #main .sec_page_head_sub::before {
      bottom: 10px; }
  #main table {
    width: 100%; }
  #main th, #main td {
    padding: 10px; }
  #main .sec_page_item {
    padding: 15px; }
  #main .sec_page_item_faq:last-child {
    margin-bottom: 75px; }
  #main .faq_inc_area .sec_page_item_faq:last-child {
    margin-bottom: 30px; }
  #main .faq_title i,
  #main .faq_anser i {
    font-size: 1.5rem; }
  #main .faq_title h2,
  #main .faq_anser h2 {
    font-size: 1.125rem; }
  #main .faq_title {
    font-size: 1.25rem; }
  #main .page_inner .faq_inc_area .faq_title,
  #main .faq_inc_area .faq_title {
    font-size: 1rem; }
  #main .sec_damage {
    margin: 30px 0 0 0;
    padding: 10px;
    display: block; }
    #main .sec_damage img {
      display: block;
      width: 90px;
      margin: 0 auto 1em auto; }
    #main .sec_damage .txt_box {
      margin-left: 0; }
  #main .sp_vertical {
    border-bottom: 0;
    display: block; }
  #main .sp_vertical > tbody,
  #main .sp_vertical > tbody > tr,
  #main .sp_vertical > tbody > tr > th,
  #main .sp_vertical > tbody > tr > td {
    display: block;
    width: 100%; }
  #main .sp_vertical > tbody > tr > th,
  #main .sp_vertical > tbody > tr > td {
    border: 0;
    border-bottom: 1px solid #333; }
  #main th[colspan] {
    text-align: center; }
  #main .pc_tbl {
    display: none; }
  #main .sp_tbl {
    display: table; }

/*============================================================
	greeting
============================================================*/
#main .sec_gree_3 img,
#main .tit_greeting img {
  width: 240px; }
#main .sec_gree_1 {
  display: block;
  margin-bottom: 30px; }
  #main .sec_gree_1 .pic {
    width: auto;
    margin-bottom: 2em;
    text-align: center;
    display: block; }
    #main .sec_gree_1 .pic img {
      width: 100%;
      max-width: 240px; }
  #main .sec_gree_1 .txt_box {
    width: auto; }
  #main .sec_gree_1 .sec_gree_profile {
    margin: 12px 0 0 0;
    padding: 12px 0 0 0; }
    #main .sec_gree_1 .sec_gree_profile h3 {
      font-size: 1.25rem; }
    #main .sec_gree_1 .sec_gree_profile p {
      margin-bottom: 0; }
#main .sec_gree_3 {
  background: #ffe600;
  padding: 15px;
  border-radius: 20px; }
  #main .sec_gree_3 h3 {
    line-height: 1;
    padding: 10px;
    font-size: 1.125rem; }
#main .gree_member_list_3 {
  display: block; }
  #main .gree_member_list_3 li {
    width: 100%;
    margin: 0 0 2em 0; }
  #main .gree_member_list_3 img {
    margin-bottom: 20px; }
#main .gree_member_list_4 {
  display: block; }
  #main .gree_member_list_4 li {
    width: 100%;
    margin: 0 0 2em 0; }
  #main .gree_member_list_4 img {
    margin-bottom: 20px; }
#main .greeting_sns li {
  width: 100%;
  margin-bottom: 0.5em; }
#main .sec_gree_2 {
  margin-bottom: 30px; }
  #main .sec_gree_2 .gree_member_grp {
    display: block; }
  #main .sec_gree_2 .gree_member_grp_item {
    width: 100%;
    margin: 0 0 2em 0; }
    #main .sec_gree_2 .gree_member_grp_item h3 {
      font-size: 1.5rem; }
      #main .sec_gree_2 .gree_member_grp_item h3 small {
        font-size: 78%; }

/*============================================================
	faq
============================================================*/
#main .tit_left {
  font-size: 1.25rem; }
#main .tit_cnter {
  font-size: 1.25rem; }
  #main .tit_cnter img {
    width: 20px; }
#main .tit_cnter_w {
  color: #fff; }
#main .faq_guide_list li {
  width: 48%; }
#main .page_image_chr {
  position: static;
  width: 100%; }
  #main .page_image_chr img {
    max-width: 280px !important; }
#main .page_image_chr_l {
  width: 100%; }
#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 60px 0;
  margin-top: 85px;
  background-size: auto 60px; }
  #main .sec_faq_list:before {
    top: -60px;
    height: 60px; }
#main .page_image_chr + .sec_page_item_maintenance,
#main .page_image_chr + .lastdate {
  margin-top: 0; }
#main .faq_list {
  border-top: 1px dotted #ccc;
  font-weight: bold; }
#main .grp_faq_list {
  display: block; }
#main .faq_list_box {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  width: 100%;
  margin-bottom: 4%; }
  #main .faq_list_box h3 {
    color: #004ea2;
    font-size: 1.125rem;
    line-height: 1; }
    #main .faq_list_box h3 img {
      vertical-align: middle;
      margin-right: 5px;
      width: 30px; }
#main .sec_faq_contact {
  padding-bottom: 80px;
  background-size: auto 60px; }
  #main .sec_faq_contact::before {
    height: 60px;
    top: -60px; }
#main .head_faq_contact {
  text-align: center; }
  #main .head_faq_contact img {
    width: 100%;
    max-width: 935px; }
#main .head_faq_contact + h3 {
  margin-top: 20px;
  margin-bottom: 30px; }
  #main .head_faq_contact + h3 img {
    width: 100%;
    max-width: 853px; }
#main .faq_contact_tel_list {
  display: block; }
  #main .faq_contact_tel_list li {
    width: 100%;
    margin-bottom: 4%;
    text-align: center; }
    #main .faq_contact_tel_list li img {
      max-width: 280px; }
#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; }

/*============================================================
	netshiten
============================================================*/
#main {
  /**/
  /*kaisetsu*/
  /*flow*/
  /* ==== ATM ==== */
  /*service_bnr*/
  /* teiki */
  /* ==== contact ==== */
  /* ==== tosaben ==== */
  /* ==== shikitari ==== */
  /* ==== ozashiki ==== */
  /* ==== sec_umaimon ==== */
  /* ==== maintenance ==== */ }
  #main .cloude_lblu,
  #main .cloude_blu,
  #main .cloude_wht {
    margin-top: 150px;
    padding-bottom: 80px; }
    #main .cloude_lblu::before,
    #main .cloude_blu::before,
    #main .cloude_wht::before {
      height: 60px;
      top: -60px;
      background-size: auto 60px; }
  #main .cloude_wht_bt {
    padding-bottom: 0;
    margin-bottom: 150px; }
    #main .cloude_wht_bt::after {
      height: 60px;
      bottom: -60px;
      background-size: auto 60px; }
  #main .cloude_bp {
    padding-bottom: 275px; }
  #main .cloude_blu + .cloude_wht,
  #main .cloude_wht + .cloude_blu {
    margin-top: -150px; }
  #main .cloude_lblu {
    margin: 0;
    padding: 0; }
  #main .txt_netshiten_chr i {
    width: 80px;
    flex-basis: 80px;
    min-width: 80px; }
  #main .txt_netshiten_chr p {
    margin-right: 0;
    font-size: 1rem; }
  #main .txt_netshiten_chr_left p {
    font-size: 1rem; }
  #main .sec_netshop_features_item {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 2px dotted #ccc; }
    #main .sec_netshop_features_item h3 {
      font-size: 1rem; }
    #main .sec_netshop_features_item i {
      width: 40px;
      min-width: 40px;
      flex-basis: 40px;
      margin-right: 15px; }
  #main .tbl_service {
    display: block; }
    #main .tbl_service .tbody {
      display: block; }
    #main .tbl_service .tbl_service_h {
      width: 100%;
      position: sticky;
      top: 54px;
      left: 0; }
      #main .tbl_service .tbl_service_h th:first-child {
        display: none; }
      #main .tbl_service .tbl_service_h th {
        width: 50%; }
    #main .tbl_service tr {
      display: flex;
      flex-wrap: wrap; }
    #main .tbl_service th, #main .tbl_service td {
      background: none; }
    #main .tbl_service tr:nth-of-type(2n) th {
      background: #eee; }
    #main .tbl_service th {
      display: block;
      width: 100%;
      background: #eee; }
    #main .tbl_service td {
      display: block;
      width: 50%; }
  #main .tbl_service {
    border: 2px solid transparent; }
    #main .tbl_service th, #main .tbl_service td {
      border: 2px solid #fff;
      padding: 10px; }
    #main .tbl_service tr:nth-of-type(1) th img,
    #main .tbl_service tr:nth-of-type(1) td img {
      width: 20px;
      margin-right: 5px; }
    #main .tbl_service h3 {
      font-size: 1rem; }
    #main .tbl_service h4 {
      font-size: 0.88rem; }
    #main .tbl_service p {
      font-size: 0.88rem; }
  #main .image_netshop_foot {
    text-align: center;
    margin-bottom: -50px; }
    #main .image_netshop_foot img {
      width: 100%; }
    #main .image_netshop_foot + p + p {
      margin-top: 40px; }
  #main .page_link {
    font-size: 1rem; }
  #main .sicchu_link img {
    width: 25px;
    margin-right: 5px; }
  #main .merit_list {
    display: flex;
    flex-wrap: wrap;
    border-radius: 10px;
    border: 0; }
    #main .merit_list li {
      display: block;
      width: 100%; }
    #main .merit_list a {
      padding: 10px 10px 30px 10px; }
    #main .merit_list p {
      font-size: 0.78rem; }
    #main .merit_list strong {
      font-size: 1rem; }
  #main .merit_ico .dt {
    font-size: 12px; }
  #main .merit_ico .num {
    font-size: 40px; }
  #main .tit_left {
    font-size: 1.5rem; }
    #main .tit_left .merit_ico {
      align-self: center;
      width: 100px;
      height: 100px;
      aspect-ratio: 1;
      border: 2px solid #eee;
      margin-right: 10px; }
  #main .sec_merit_item .tit_left {
    font-size: 1.25rem; }
  #main .sec_merit_item li, #main .sec_merit_item p {
    font-size: 0.88rem; }
  #main .sec_merit_item .grp {
    display: block; }
  #main .sec_merit_item .pic_m,
  #main .sec_merit_item .pic_l,
  #main .sec_merit_item .pic {
    display: block;
    width: 100%;
    min-width: 100%;
    flex-basis: 100%;
    margin-right: 0%;
    margin-bottom: 5%; }
    #main .sec_merit_item .pic_m img,
    #main .sec_merit_item .pic_l img,
    #main .sec_merit_item .pic img {
      margin-bottom: 5%; }
  #main .sec_merit_item h3 {
    margin-top: 30px;font-size:1.25em;}
  #main .sec_merit_item strong {
    font-size: 125.0%; }
  #main .sec_merit_item table em {
    font-size: 1rem; }
    #main .sec_merit_item table em big {
      font-size: 150%; }
  #main .sec_merit_item .grp_2 {
    display: block; }
    #main .sec_merit_item .grp_2 .txt_box_1 {
      width: 100%;
      margin-bottom: 2em; }
    #main .sec_merit_item .grp_2 .txt_box_2 {
      width: 100%; }
  #main .sec_merit_atm {
    border: 2px solid #23b9db;
    border-radius: 10px;
    margin-top: 30px;
    padding: 20px; }
  #main #merit6 {
    padding-bottom: 125px; }
  #main .txt_netshiten_chr_l {
    max-width: none;
    display: block; }
    #main .txt_netshiten_chr_l > div {
      width: 100%;
      margin-top: 1em; }
    #main .txt_netshiten_chr_l i {
      width: 100%;
      flex-basis: 100%;
      min-width: 100%; }
  #main .open_step {
    margin: 0 0 25px 0;
    display: block; }
    #main .open_step h3 {
      font-size: 1.5rem; }
    #main .open_step p {
      font-size: 1rem; }
    #main .open_step a {
      text-decoration: none;
      font-weight: bold;
      color: #0071bc;
      line-height: 1; }
      #main .open_step a img {
        vertical-align: middle;
        margin-right: 2px; }
    #main .open_step li {
      border-radius: 10px;
      padding: 10px;
      margin: 0 0 2em 0;
      width: 100%; }
      #main .open_step li::before {
        content: normal; }
    #main .open_step li:last-child::before {
      content: normal; }
  #main .tit_cnter_chr {
    gap: 1%; }
    #main .tit_cnter_chr img {
      margin: 0;
      width: 65px; }
  #main .grp_open_merit {
    margin: 25px 0; }
  #main .sec_open_merit {
    width: 49%;
    margin-bottom: 2em;
    background: #fff;
    padding: 20px 10px;
    border-radius: 10px; }
    #main .sec_open_merit h3 {
      font-size: 1.125rem; }
    #main .sec_open_merit p {
      text-align: center; }
    #main .sec_open_merit img {
      width: 200px; }
  #main .card_2type {
    display: flex;
    justify-content: space-between;
    font-weight: bold; }
    #main .card_2type li {
      width: 49%;
      margin: 0; }
  #main .txt_head_set {
    margin-top: 0; }
  #main .head_small {
    font-size: 1.25rem; }
    #main .head_small img {
      width: 30px;
      margin-right: 5px; }
  #main .sec_flow_1 {
    margin-top: 75px; }
  #main .txt_info_att {
    margin: 2em 0; }
    #main .txt_info_att i {
      margin: 2px 5px 0 0;
      width: 20px;
      font-size: 20px; }
  #main .txt_info_att_wht {
    padding: 10px;
    border-radius: 5px; }
  #main .link_att {
    display: block;
    text-align: right;
    margin-top: 1em; }
  #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 .grp_preparation {
    display: block; }
    #main .grp_preparation .plus {
      width: 100%;
      padding: 30px 0;
      display: block;
      text-align: center; }
      #main .grp_preparation .plus img {
        max-width: 40px; }
  #main .sec_preparation_item {
    padding: 20px;
    border-radius: 20px;
    width: 100%;
    min-height: 1px; }
    #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: 1.25rem; }
      #main .sec_preparation_item h3 big {
        font-size: 150%; }
  #main .sec_preparation_item:last-child {
    display: block; }
  #main .grp_flow_phone {
    display: block; }
    #main .grp_flow_phone i {
      width: 100%;
      margin: 0 0 4% 0;
      text-align: center;
      display: block; }
      #main .grp_flow_phone i img {
        max-width: 100px; }
    #main .grp_flow_phone h3 {
      width: 100%;
      margin-top: auto;
      font-size: 1.25rem; }
    #main .grp_flow_phone p {
      text-align: left; }
  #main .sec_flow_item {
    padding: 20px;
    border-radius: 20px; }
    #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: block;
    font-size: 1.5rem; }
    #main .tit_step i {
      display: block;
      font-size: 0.88rem;
      padding: 10px;
      min-width: 1em;
      width: 7em;
      margin: 0 0 10px 0; }
  #main .grp_step,
  #main .tit_step_num {
    margin-left: 35px;
    position: relative; }
  #main .tit_step_num {
    font-size: 1.25rem; }
  #main .step_ico_ar {
    text-align: center;
    display: block;
    padding: 25px 0; }
    #main .step_ico_ar img {
      width: 30px; }
  #main .step_grp_img {
    display: block; }
    #main .step_grp_img .pic {
      text-align: center;
      display: block;
      width: 100%;
      margin-bottom: 1em; }
    #main .step_grp_img .txt_box {
      width: 100%; }
  #main .ico_atm_head {
    width: 40px;
    margin-right: 5px; }
  #main .sec_atm_item {
    padding: 10px 20px; }
  #main .atm_main_head .img_atm_ico{
    display: inline-block;
    min-width: 200px;
  }
  #main .atm_main_head .img_atm_ico i {
    font-size: 0.78rem;
    padding: 5px;
    margin: 0 5px 5px 0; }
  #main .grp_verify {
    display: block; }
  #main .sec_verify_item {
    width: 100%;
    border: 2px solid #ccc;
    border-radius: 10px;
    margin-bottom: 20px;
    padding: 10px; }
    #main .sec_verify_item h3 {
      font-size: 1.5rem; }
  #main .service_bnr {
    display: flex;
    justify-content: space-between; }
    #main .service_bnr li {
      width: 49%;
      margin: 0; }
  #main .teikibin_bnr_area {
    margin: 30px 0;
    flex-wrap: wrap;}
    #main .teikibin_bnr_area li {
      width: 100%;
    max-width:320px;
  margin-bottom:1em}
  #main .tit_teikibin_kikan {
    border: 2px solid #e0482a;
    padding: 10px 15px;
    border-radius: 25px;
    margin: 0 auto;
    display: block; }
    #main .tit_teikibin_kikan dt {
      padding: 10px;
      margin-right: 0;
      text-align: center;
      margin-bottom: 1em;
      font-size: 1rem; }
    #main .tit_teikibin_kikan dd {
      font-size: 1.25rem; }
  #main .teikibin_date {
    text-align: center;
    margin-bottom: 3em;
    font-weight: bold;
    line-height: 1; }
    #main .teikibin_date span {
      padding: 10px 1em;
      font-size: 1.5rem; }
  #main .teiki_date_grp {
    display: block;
    margin: 40px 0 20px 0; }
    #main .teiki_date_grp img {
      width: 100px;
      height: auto;
      float: left;
      margin-right: 10px;
      margin-bottom: 10px; }
    #main .teiki_date_grp section {
      width: 100%;
      margin-bottom: 1em; }
    #main .teiki_date_grp h3 {
      font-size: 18px; }
    #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 .page_inner .head_teikibin_course {
    font-size: 2rem; }
    #main .page_inner .head_teikibin_course img {
      width: 40px;
      margin-right: 10px; }
    #main .page_inner .head_teikibin_course small {
      display: block;
      margin-top: 1em;
      font-size: 0.88rem; }
  #main .sec_allergy {
    border-radius: 30px;
    background: #fff6dc url("../../page_images/ico_teikibin3_info.png") no-repeat 25px 15px;
    background-size: 30px auto;
    padding: 15px 15px 15px 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: 1.25rem;
      line-height: 1;
      padding: 0 0 20px 50px;
      border-bottom: 1px dotted #ccc; }
    #main .sec_teikibin_item .grp {
      display: block; }
    #main .sec_teikibin_item .ico_type {
      padding: 10px;
      font-size: 1.25rem;
      position: static; }
    #main .sec_teikibin_item .pic {
      width: 100%;
      margin-bottom: 1em;
      display: block; }
    #main .sec_teikibin_item .txt_box {
      width: 100%; }
    #main .sec_teikibin_item .num {
      height: 40px;
      width: 40px;
      font-size: 20px; }
  #main .grp_campaign_end {
    margin-top: -100px; }
  #main .grp_campaign_end > img {
    width: 110px; }
  #main .page_image_chr_l + .sec_page_item {
    margin-top: 0; }
  #main .page_inner .txt_contact_tel {
    font-size: 30px;
    margin-bottom: 1em; }
    #main .page_inner .txt_contact_tel img {
      margin-right: 10px;
      width: 45px; }
  #main .about_page_link {
    margin: 40px 0 0 0;
    padding: 40px 0 0 0; }
  #main .sec_tosaben {
    border: 5px solid #af8646;
    padding: 20px;
    margin: 20px auto 40px auto; }
    #main .sec_tosaben::before {
      bottom: -2px; }
    #main .sec_tosaben .tabList {
      margin-bottom: 25px;
      justify-content: space-between; }
      #main .sec_tosaben .tabList li {
        width: 24%;
        margin: 0;
        font-size: 1.125rem; }
      #main .sec_tosaben .tabList a {
        padding: 12px;
        border: 2px solid #fff;
        border-radius: 10px; }
    #main .sec_tosaben .tosabenList li {
      width: 49%;
      font-size: 1.5rem; }
    #main .sec_tosaben .tosabenList a {
      padding-left: 20px; }
  #main .pop_tosaben {
    width: 300px;
    margin-left: -150px;
    top: 25%;
    border: 5px solid #f7ab4a;
    border-radius: 10px;
    background-size: 20% auto;
    background-position: 97% 50%;
    padding: 20px 50px 20px 20px; }
    #main .pop_tosaben h2 {
      font-size: 30px;
      margin-bottom: 10px; }
    #main .pop_tosaben h2 + p {
      font-size: 1rem;
      padding-bottom: 10px;
      margin: 0 20% 10px 0; }
    #main .pop_tosaben h3 {
      font-size: 0.88rem; }
    #main .pop_tosaben h3 + p {
      font-size: 0.88rem; }
    #main .pop_tosaben .btnClose {
      top: -15px;
      right: -15px;
      width: 30px;
      height: 30px; }
  #main .sec_shikitari_inner {
    padding: 15px 15px 15px 30px;
    display: block; }
    #main .sec_shikitari_inner p {
      width: 100%;
      margin: 1em 0 0 0; }
    #main .sec_shikitari_inner img {
      width: 75%;
      display: block;
      margin: 0 auto; }
  #main .sec_shikitari {
    max-width: 480px;
    margin: 50px auto; }
    #main .sec_shikitari::before, #main .sec_shikitari::after {
      height: 18px; }
    #main .sec_shikitari::before {
      top: -18px; }
    #main .sec_shikitari::after {
      bottom: -18px; }
    #main .sec_shikitari h2 {
      line-height: 1.25;
      padding: 10px;
      font-size: 1.25rem; }
      #main .sec_shikitari h2 i {
        font-size: 1rem;
        padding: 5px;
        margin-bottom: 1em;
        display: block;
        text-align: center;
        width: 10em; }
  #main .ozashiki_grp {
    display: block;
    margin: 25px auto; }
  #main .sec_ozashiki_item {
    width: 100%;
    margin-bottom: 5%;
    border-width: 2px;
    border-radius: 10px; }
    #main .sec_ozashiki_item .grp {
      padding: 10px;
      display: block; }
    #main .sec_ozashiki_item h2 {
      padding: 12px 0;
      font-size: 1.5rem; }
    #main .sec_ozashiki_item img {
      width: 75%;
      margin: 0 auto 1em auto;
      display: block; }
    #main .sec_ozashiki_item .txt_box {
      width: 100%; }
  #main .sec_umaimon {
    width: 100%;
    margin-bottom: 2%;
    border-width: 2px;
    border-radius: 10px;
    padding: 10px; }
    #main .sec_umaimon h2 {
      font-size: 1.5rem; }
      #main .sec_umaimon h2 i {
        display: inline-block;
        margin-right: 5px;
        font-size: 1rem;
        padding: 10px; }
    #main .sec_umaimon .grp {
      display: block; }
    #main .sec_umaimon h3 {
      font-size: 1.125rem; }
    #main .sec_umaimon .txt_box {
      width: 100%; }
    #main .sec_umaimon img {
      display: block;
      margin: 0 auto 1em auto;
      width: 75%;
      max-width: 180px; }
  #main .sec_words_head {
    margin-bottom: 20px; }
    #main .sec_words_head li {
      font-size: 1rem; }
      #main .sec_words_head li a {
        padding: 10px; }
  #main .sec_words_item {
    margin-bottom: 20px;
    border: 4px solid #f8b500;
    border-radius: 10px;
    padding: 15px;
    display: block; }
    #main .sec_words_item h2 {
      width: 100%;
      text-align: left;
      line-height: 1;
      margin: 0 0 0.5em 0;
      padding-top: 0;
      font-size: 1.5rem; }
    #main .sec_words_item .txt_box {
      width: 100%;
      padding: 5% 0 0 0;
      border-left: 0;
      border-top: 1px dotted #ccc; }
    #main .sec_words_item section {
      padding: 10px; }
      #main .sec_words_item section + section {
        margin-top: 20px; }
    #main .sec_words_item h3 {
      font-size: 1rem; }
  #main .tit_maintenance {
    padding: 10px 0 10px 38px;
    font-size: 1.125rem;
    background-size: 30px auto; }

.sp_f_nav_area {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  background: #3651a2; }
  .sp_f_nav_area a {
    color: #fff;
    text-decoration: none;
    padding: 10px 0;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    display: block; }
  .sp_f_nav_area ul {
    display: flex;
    font-size: 10px; }
  .sp_f_nav_area li {
    width: 16.66%; }
  .sp_f_nav_area img {
    width: 32px;
    display: block;
    margin: 0 auto 5px auto; }

@media screen and (max-width: 480px) {
  #main .blog_top_block img {
    aspect-ratio: 3 / 4; }

}
