@charset "utf-8";

/*
/*    CSS MENU
/*
/*    -> font
/*    -> header
/*    -> footer + pagetop
/*    -> モジュール
/*    -> ページ固有
*/

.mtl {
    margin-top: 10vw !important;
}
.mbl {
    margin-bottom: 10vw !important;
}
.mtm {
    margin-top: 7vw !important;
}
.mbm {
    margin-bottom: 5vw !important;
}
.mts {
    margin-top: 2vw !important;
}
.mtss {
    margin-top: 1vw !important;
}
.mbs {
    margin-bottom: 2vw !important;
}

.indent5 {
	display: inline-block;
	text-indent: 5em;
}



/*******************************************************************************
/*******************************************************************************
ローディング */

#pageloading-wrap {
    background: #466bda;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    display: table;
    z-index: 1;
}
#pageloading-icon {
    display: table-cell;
    vertical-align: middle;
}
#wrapper {
    z-index: 10;
}
#loading{
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    z-index: 10000;
}
#loading img {
    width: 60px;
    max-width: 100%;
}

/*******************************************************************************
/*******************************************************************************
font */

@font-face {
    font-family: 'mipig';
    src: url('../fonts/mipig.eot?syi1tg');
    src: url('../fonts/mipig.eot?syi1tg#iefix') format('embedded-opentype'), url('../fonts/mipig.ttf?syi1tg') format('truetype'), url('../fonts/mipig.woff?syi1tg') format('woff'), url('../fonts/mipig.svg?syi1tg#mipig') format('svg');
    font-weight: normal;
    font-style: normal;
}
[class^="icon_"],
[class*=" icon_"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'mipig' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.icon_minus:before {
    content: "\e900";
}
.icon_plus:before {
    content: "\e901";
}
.icon_largelist:before {
    content: "\e902";
}
.icon_smalllist:before {
    content: "\e903";
}
.icon_keyboard_arrow_up:before {
    content: "\e904";
}
.icon_keyboard_arrow_right:before {
    content: "\e905";
}
.icon_keyboard_arrow_left:before {
    content: "\e906";
}
.icon_keyboard_arrow_down:before {
    content: "\e907";
}
.icon_line:before {
    content: "\e90b";
}
.icon_twitter1:before {
    content: "\e909";
}
.icon_instagram:before {
    content: "\e90a";
}
.icon_map-marker:before {
    content: "\e908";
}

/*******************************************************************************
/*******************************************************************************
header */

header {
    position: fixed;
    z-index: 100;
    width: 100%;
    left: 0;
    top: 0;
}
header .h_inner {
    padding: 4vw;
}
header .logo {
    width: 20vw;
    line-height: 1;
}

/*******************************************************************************
/*******************************************************************************
footer + pagetop */

.f_contact {
    text-align: center;
    position: relative;
}
.f_contact_con {
    position: absolute;
    top: 36vw;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    width: 100%;
}
.f_contact .btn {
    margin-top: 2rem;
    margin-bottom: 2.2rem;
}
.f_contact .hosoku {
    text-align: left;
}
.f_main {
    background: #4a372f;
    padding-top: 10vw;
    color: #fff;
    padding-bottom: 12vw;
}
.f_main a {
    text-decoration: none;
    color: #fff;
}
.f_main .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.f_main .f_logobox {
    order: 1;
    width: 46vw;
}
.f_main .f_txtbox {
    order: 3;
    margin-top: 8vw;
    font-size: 1.4rem;
    width: 100%;
}
.f_main .f_nav {
    order: 2;
    margin: 0 0 0 auto;
    width: 33vw;
    overflow: hidden;
}
.f_main .f_nav li + li {
    margin-top: 1rem;
}
.f_main .f_main a {
    color: #fff;
    text-decoration: none;
}
.f_main .f_nav ul {
    float: right;
    font-size: 1.3rem;
}

.f_main .f_logo {
    width: 20vw;
    margin-bottom: 7vw;
}
.f_main small {
    font-size: 10px;
}

/*******************************************************************************
/*******************************************************************************
モジュール */


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
page_tl */

.page_tl {
    padding: 5vw 0 8vw 0;
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    position: relative;
}
.page_tl:not(.page_tl_withimg) {
	padding-top: 28vw;
}
.page_tl .inner {
    position: relative;
}
.page_tl .tl {
    padding-right: 10vw;
    font-weight: bold;
}
.page_tl .tl:before {
    background: url(../images/tl_hana.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    content: "";
    width: 9vw;
    height: 10vw;
    right: 0;
    top: 50%;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
}
.page_tl.page_tl_withimg {
    padding: 0 0 8vw 0;
}
.page_tl_withimg .tl {
    margin-top: -2.4rem;
    position: relative;
}
.page_conwrap {
    padding: 0 0 10vw 0;
}
.page_conwrap.bg {
    background: #f9f9f4;
    padding: 7vw 0 12vw 0;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tl */

.contl {
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.1em;
    font-size: 2.2rem;
    margin-bottom: 6vw;
    margin-top: 10vw;
}
.sbtl {
    margin-top: 4.5vw;
    font-weight: bold;
    padding-bottom: 0.4rem;
}
.sbtl_s {
    margin-top: 4.5vw;
    font-weight: bold;
    font-size: 1.6rem;
    margin-bottom: 0.5em;
}
.sbtl_m {
    margin-top: 4.5vw;
    font-weight: bold;
    font-size: 1.7rem;
    margin-bottom: 0.5em;
}
.sbtl_l {
    margin-top: 4.5vw;
    font-weight: bold;
    font-size: 2rem;
}
.tlc {
    text-align: center;
    font-weight: bold;
    font-size: 114%;
    letter-spacing: 0.1em;
    margin-bottom: 5vw;
}
.label {
    text-align: center;
    font-weight: bold;
    font-size: 90%;
    letter-spacing: 0.1em;
    margin-bottom: 5vw;
}



/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
list */


/*______________________________________________________________________________
li_dot_small */

.li_dot_small li {
    margin-top: 0.5rem;
    padding-left: 1.4rem;
    position: relative;
}
.li_dot_small li:before {
    font-family: 'mipig' !important;
    content: "\e903";
    position: absolute;
    left: 0;
    top: 0;
}

/*______________________________________________________________________________
li_dot_large */

.li_dot_large li {
    position: relative;
    padding-left: 1.8em;
}
.li_dot_large li + li {
    margin-top: 1em;
}
.li_dot_large li:before {
    font-family: 'mipig' !important;
    content: "\e902";
    position: absolute;
    left: 0;
    top: 0;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
btn */

.btn01 {
    text-align: center;
}
.btn01 a {
    display: inline-block;
    width: 50vw;
    background: #4a3730;
    color: #fff;
    text-decoration: none;
    border-radius: 0.9rem;
    letter-spacing: 0.2rem;
    padding: 0.8em;
    border: 1px solid #4a3730;
}
.btn02 {
    text-align: center;
}
.btn02 a {
    text-decoration: none;
    color: #fff;
    background: rgba(255, 255, 255, 0);
    border: 1px solid #ffffff;
    border-radius: 0.9rem;
    text-align: center;
    padding: 0.7em 1.2em;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
}
.btn03 {
    text-align: center;
}
.btn03 a {
    text-decoration: none;
    border: 1px solid #dcccc4;
    border-radius: 0.9rem;
    text-align: center;
    padding: 0.8em 1.2em;
    letter-spacing: 0.1em;
    background: #fff;
    min-width: 27vw;
    font-size: 1.5rem;
}
.btn04 a {
    text-decoration: none;
    border: 1px solid #4a3730;
    border-radius: 0.9rem;
    text-align: center;
    padding: 0.7em 1.2em;
    letter-spacing: 0.1em;
    min-width: 27vw;
    font-size: 1.5rem;
}
.btn_small a {
    min-width: 27vw;
    font-size: 1.1rem;
    padding: 0.4em 1.2em;
}
.btn_icon .btn_icon {
    padding-right: 0.5em;
    font-size: 1.3em;
    vertical-align: sub;
}
.btn_col02 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.btn_col02 li + li {
    margin-left: 4%;
}
.btn_col02 li a {
    width: 100%;
    padding-left: 0.5em;
    padding-right: 0.5em;
}
.f_main .f_txtbox .txt02 a {
    border: 1px solid #dcccc4;
    background: #4a372f;
    transition: 0.5s ease;
    opacity: 1;
    text-decoration: none;
    border-radius: 0.5rem;
    text-align: center;
    padding: 0.8em;
    width: 100%;
}
/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
table */

table {
    font-size: 91%;
    border-top: 1px solid #dcccc4;
}
table tbody th {
    width: 35%;
}
table tbody th,
table tbody td {
    border-bottom: 1px solid #dcccc4;
    padding: 0.4em 0.4em 0.7em 0.4em;
    vertical-align: top;
}

table.handling {
	font-size: 80%;
}
table tbody th {
    width: 16.666%;
}
.scroll table{
width:100%;
}
.scroll{
overflow: auto;
white-space: nowrap;
}
.scroll::-webkit-scrollbar{
 height: 5px;
}
.scroll::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ブロック */

.sec_block {
    padding-top: 10vw;
}
.bg_area {
    margin-top: 11vw;
    background: #f9f9f4;
    padding-bottom: 10vw;
}
.bg_box {
    background: #f9f9f4;
    padding: 6vw;
}
.withaside aside {
    margin-top: 13vw;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
並び */

.col_01 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: -8vw;
}
.col_01 .conbox {
    margin-top: 8vw;
}
.col_02 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: -6%;
}
.col_02 .conbox {
    width: 47%;
    margin-top: 6%;
}
.col_03 {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    margin-top: -5%;
}
.col_03 .conbox {
    width: 30%;
    margin-top: 5%;
}

.col_pic03 ul {
	display: block;
}
.col_pic03 li {
	margin-bottom: 4vw;

}
.col_01.col_pic03 {
	display: block;
	margin-top: 8vw;
}
.col_01.col_pic03 h3, .col_01.col_pic03 p {

}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
囲み */

.box_white {
    background: #fff;
    padding: 4.5vw 5.5vw;
}

/*******************************************************************************
/*******************************************************************************
固有ブロック */


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sidephoto */

.sidephoto .txt_block_in + figure {
    margin-top: 8vw;
}
.sidephoto figure + .txt_block_in {
    margin-top: 8vw;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
halfphot */

.halfphot .img_block {
    padding-top: 9vw;
}
.halfphot .inner figure {
    position: relative;
}
.halfphot .inner figure:before {
    background: #dcccc4;
    position: absolute;
    content: "";
    left: -9vw;
    top: -9vw;
    width: 120vw;
    height: 100%;
}
.halfphot .inner figure img {
    position: relative;
}
.halfphot .img_block + .txt_block {
    margin-top: 10vw;
}
.halfphot .txt_block {
    position: relative;
}
.halfphot.halfphot_l .inner {
    position: relative;
}
.halfphot.halfphot_l .inner:before {
    background: #dcccc4;
    position: absolute;
    content: "";
    left: -9vw;
    top: 9vw;
    width: 120vw;
    height: 100%;
    height: 105%;
    height: -webkit-calc(100% + 1vw);
    height: calc(100% + 1vw);
}
.halfphot.halfphot_l .img_block {
    padding-top: 0;
}
.halfphot.halfphot_l .inner figure:before {
    top: 9vw;
}
.halfphot.halfphot_l .img_block + .txt_block {
    padding-bottom: 5vw;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
withbtntl */

.withbtntl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.withbtntl.withbtntl_contl {
    margin-bottom: 6vw;
    margin-top: 10vw;
}
.withbtntl .tl {
    text-align: left;
    margin-top: 0;
    margin-bottom: 0;
}
.withbtntl .btn {
    margin-left: 15px;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
news_li */

.news_li li {
    width: 100%;
}
.news_li li a {
    text-decoration: none;
    width: 100%;
}
.news_box .img_block {
    overflow: hidden;
    position: relative;
    width: 100%;
}
.news_li .img_block:before {
    content: '';
    display: block;
    padding-top: 65%;
    width: 100%;
    position: relative;
}
.news_box .time_box {
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 10px;
    padding: 0.5em 0.3em 0 0;
    line-height: 1;
}
.news_li .img_block figure img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
}
.news_box .txt {
    font-size: 1.4rem;
    padding-top: 0.6em;
}

.news_box .btn01 a {
	width: 60% !important;
	margin-bottom: 20px;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gallery_li */

.gallery_li li a {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.gallery_li li a:before {
    content: '';
    display: block;
    padding-top: 67%;
    width: 100%;
    position: relative;
}
.gallery_li li a img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
instafram_block */

.instafram_block a {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.instafram_block a:before {
    content: '';
    display: block;
    padding-top: 100%;
    width: 100%;
    position: relative;
}
.instafram_block img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
faq_block */

.faq_block dt {
    background: #f9f9f4;
    padding: 1em;
    font-weight: bold;
    letter-spacing: 1px;
    transition: 0.5s ease;
}
.faq_block + .faq_block {
    margin-top: 3vw;
}
.faq_block dt.on {
    background: #dcccc4;
    transition: 0.5s ease;
}
.faq_block dd {
    padding: 3vw 8vw 2vw;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cform */

.cform input[type="text"],
.cform textarea {
	background: #FFF;
	padding: 8px;
	border-radius: 10px;
	border: 0 none;
	width: 48vw;
	
}
.cform th {
	vertical-align: middle;
}
.cform p {
	padding-top: 50px;
	text-align: center;
}
input[type="submit"] {
}
.cform select {
	background: #FFF;
	padding: 8px;
	border-radius: 10px;
	border: 0 none;
}
.cform th {
	width: 34%;
}
/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pager */

.pager {
    margin-top: 12vw;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    justify-content: center;
    line-height: 1;
}
.pager a {
    display: inline-block;
    background: #ffffff;
    color: #4a3730;
    text-decoration: none;
    border-radius: 0.9rem;
    letter-spacing: 0.2rem;
    padding: 0.8em;
    border: 1px solid #dcccc4;
    text-align: center;
    width: 9vw;
    transition: 0.5s ease;
}
.pager ul.btn {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}
.pager ul.btn li + li {
    margin-left: 2vw;
}
.pager ul.btn .ellipsis {
    margin-left: 2vw;
}
.pager .next.btn {
    margin-left: 2vw;
}
.pager ul.btn .cr a {
    background: #4a372f;
    color: #fff;
}
.pager ul.btn .ellipsis_before,
.pager ul.btn .ellipsis_after,
.pager .prev {
    display: none;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
POPUP */
.mfp-bg {
    background: #4a3730 !important;
}
.mfp-counter {
    color: #fff !important;
}
.mfp-arrow-right:before {
    border-left-color: #4a3730 !important;
}
.mfp-arrow-left:before {
    border-right-color: #4a3730 !important;
}

.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
    opacity: 1;
}
/*******************************************************************************
/*******************************************************************************
ページ固有 */


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TOP */


/*______________________________________________________________________________
topmv */

.topmv {
    height: 100vh;
    width: 100%;
    text-align: center;
    position: relative;
}
.topmv_in {
    z-index: 3;
    position: relative;
    height: 100vh;
}
.topmv_in:after {
    background: rgba(79, 52, 44, 0.15);
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 2;
}
.topmv .mv_logo {
    position: absolute;
    position: absolute;
    top: 30%;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
    z-index: 10;
}
.topmv .mv_logo img {
    display: inline-block;
    width: 35vw;
}
.topmv .txt {
    position: absolute;
    top: 52%;
    left: 0;
    width: 100%;
    text-align: center;
    color: #fff;
    z-index: 10;
}
.topmv .btn02 {
    position: absolute;
    top: 54%;
    left: 0;
    width: 100%;
    z-index: 10;
}

.topmv .btn02 a {
    margin-top: 10vw;
}


/*20210322*/

video#videoarea {
    position: absolute;
}


/*______________________________________________________________________________
moviefrontarea */

#moviefrontarea {
    background: #fff;
    position: relative;
    z-index: 50;
}
#moviefrontarea:before {
    background: url(../images/tl_hana.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    content: "";
    width: 9vw;
    height: 10vw;
    right: 6vw;
    top: -5vw;
}



/*______________________________________________________________________________
追加20190509姜 */

/*リンクボタンの幅揃える*/
.topmv .btn02 a {
    width: 44vw;
}
/*追加リンクボタンの位置調整*/
.topmv .rsv {
    top: 64%;
}


.topmv .guide_en a, .topmv .rsv_en a {
	width: 54vw;
}

.topmv .guide_en {
    top: 56%;
}
.topmv .rsv_en {
    top: 66%;
}
/*会社概要の「動物取扱業の種別及び登録番号」の見た目整列*/
.nosp {
	display: inline-block;
	width: 3.5em;
}
.nosp_en {
	display: inline-block;
	width: 6em;
}
/*ホームに「Notice」追加（「初めての方へ」から移動）*/
.notice_block {
	background: #FFF;
	padding: 44px;
	border: 1px solid #dcccc4;
	border-radius: 12px;
}
.notice_block h3 {
	font-size: 110%;
	margin-bottom: 28px;
}
.notice_block ul {
	margin: 20px 0;
}
.notice_block .li_dot_large li + li {
    margin-top: 0.5em;
}

/*追加20191009*/

.news_en {
	text-align: center;
	padding: 0 20px 60px 20px;
}
.cs {
	text-align: center;
	padding: 60px 20px 120px 20px;
}

/*20220813*/

#system h3 {
	margin: 2rem 0 1rem 0;
}
#system table {
	border-top: 0 none;
    border-right: 1px solid #dcccc4;
border-collapse: separate;
	border-radius: 0 0 8px 8px;
overflow: hidden;
	margin-top: 1rem;
}
#system table caption {
	background: #dcccc4;
	padding: 0.5rem 0;
	border-radius:8px 8px 0 0;
}
#system table thead, #system table td {
	text-align: center;
    vertical-align: middle;
}
#system table tbody th {
    width: 39%;
    padding: 0.3em 0.3em 0.5em 0.5em;
	background: #f5f4f3;
    border-left: 1px solid #dcccc4;
}
#system table thead {
    border-bottom: 1px solid #dcccc4;
}
#system table thead th, #system table td {
    border-left: 1px solid #dcccc4;
    padding: 0.3em 0.3em 0.5em 0.3em;
}
#system table thead th {
	background: #f5f4f3;
    border-top: 1px solid #dcccc4;
	border-bottom: 1px solid #dcccc4;
}
#system .btn01 a {
	width: 100%;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
booking */

.booking_li {
	text-align: center;
}
.booking_li li {
	margin: 0 auto 30px auto;
}
.booking_li a {
    display: inline-block;
    width: 100%;
    background: #4a3730;
    color: #fff;
    text-decoration: none;
    border-radius: 0.9rem;
    letter-spacing: 0.2rem;
    padding: 0.8em;
    border: 1px solid #4a3730;
}
.booking_li a:hover {
    background: #f9f9f4;
    border-color: #4a3730;
    color: #4a3730;
}
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}

/*privacy*/
body {
	counter-reset: number 0;
}
ol.li-pp-index {
	margin: 4rem 0;
}
ol.li-pp-index li {
	position: relative;
	padding-left: 8rem;
}
ol.li-pp-index li:last-child {
  padding-left: 0;
}
ol.li-pp-index li:before{
  counter-increment: number 1;
  content: "第"counter(number)"条";
  position: absolute;
  left: 0;
}
ol.li-pp-index li:last-child:before {
	content: "";
}
#pp-new h3 {
	font-size: 2rem;
	margin-bottom: 2rem;
}
#pp-new ul > li {
	counter-reset: number 0;
	list-style-type:  decimal;
	margin-left: 2rem;
	margin-bottom: 1rem;
	
}
#pp-new section {
	padding-bottom: 4rem;
}
ol.li-pp-kakko {
	margin-top: 2rem;
}
ol.li-pp-kakko > li {
	position: relative;
	padding-left: 4.6rem;
}
ol.li-pp-kakko > li:before{
  counter-increment: number ;
  content: "("counter(number)")";
  position: absolute;
  left: 0;
}

ol.li-pp-maru {
	margin: 2rem 0;
  counter-reset: number;
}
ol.li-pp-maru  > li {
	position: relative;
	padding-left: 1.5em;
}
ol.li-pp-maru  > li:before {
  counter-increment: number;
  content: counter(number);
	position: absolute;
	top: 1rem;
	left: 0;
	width: 1.6rem;
	height: 1.6rem;
	border: 1px solid #000;
	border-radius: 50%;
	text-align: center;
	line-height: 1;
	font-size: 1.4rem
}
ol.li-pp-maru  > li.fs:before {
	font-size: 0.8rem;
	padding-top: 0.33rem;
}
#pp-new li p {
	margin: 2rem 0;
}

/*asf*/

section#asf_page h3 {
	font-size: 2.4rem;
	margin-top: 4rem;
	margin-bottom: 2.8rem;
}
section#asf_page h3:first-child {
	margin-top: 0;
}
section#asf_page p {
	margin-bottom: 1.8rem;
}
section#asf_page ul.remarks {
	margin-bottom: 1.8rem;
}
section#asf_page ul.remarks li {
	list-style-type: disc;
	margin-left: 1.8rem;
}
section#asf_page > div {
	background: #FFF;
}
section#asf_page div img {
	margin-top: 3rem;
}
.asf_region_wrap {
	padding: 0 5rem;
}
.asf_region_wrap, .asf_region_list {
	display: flex;
	flex-wrap: wrap;
}
.asf_region_list ul, .asf_region_wrap h4 {
	padding-right: 2rem;
}
.asf_region_wrap h4 {
	margin-bottom: 1rem;
}
.asf_region_list li, .txta {
	font-size: 1.4rem;
}
.asf_region {
	margin-bottom: 3rem;
	margin-right: 2rem;
}
.asf_region:last-child {
	margin-right: 0;
}
.update {
	text-align: right;
	font-size: 1.3rem;
	padding: 0 5rem 2rem 0;
}


.news_box .indent10 {
	display: inline-block;
	width: 10rem;
}