@charset "utf-8";
img, object, embed, video {
width: 100%;
margin: auto;
}

picture img{
width: 100%;
height: auto;
}

@keyframes fadeIn {
0% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}


@keyframes zoom {
0% {
transform: scale(1.2);
}
100% {
transform: scale(1);
}
}

#totop a:focus{ outline: none; }

@keyframes hide {
from {
opacity: 1;
}
to {
opacity: 0;
visibility: hidden;
}
}

/*
---------------------------*/
.bg_color_img{
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 0;
overflow: hidden;
filter: blur(60px);
opacity: .2;
}

.mb20{
margin-bottom: 20px;
}
.mb30{
margin-bottom: 30px;
}
.mb40{
margin-bottom: 40px;
}
.mb50{
margin-bottom: 50px;
}
.mb60{
margin-bottom: 60px;
}

/*PC*/
@media print, screen and (min-width: 801px) {
body{
min-width: 1260px;
}

.pc {
display:block !important;
}
.sp {
display:none !important;
}

/*--スクロールトップ---------*/
#totop {
bottom:140px;
display: block;
position: fixed;
right: 20px;
z-index: 50;
}

#totop a {
display: block;
width: 54px;
height: 54px;
text-indent: -1000em;
overflow: hidden;
background: url("../images/com/btn_scroll_top.png") 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}


/*com*/
/*----------------------------*/
.pcBr {
display: inline-block;
}
.spBr {
display: none;
}
.pc {
display: block;
}
.sp {
display: none !important;
}

/* header
--------------------------------------------*/
header {
position:fixed;
width: 100%;
transition: 0.5s;
background: #fff;
z-index: 20;
overflow: hidden;
}

header::before {
content: "";
display: block;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 120px;
background: #fff;
}

#header {
width: 100%;
position:fixed;
display: flex;
justify-content:space-between;
padding: 0 2.667%;
box-sizing: border-box;
transition: 0.5s;
}

#header::before{
content: "";
display: block;
position: absolute;
left:0px;
top:212px;
background: url("../images/com/mask_lt.png");
background-size: auto;
background-size: cover;
z-index: 10;
width: 61px;
height: 61px;
}

#header .logo_wrap {
display: block;
width: 250px;
z-index: 20;
background: #fff;
padding: 10px 20px 10px 0;
position:relative;
border-radius: 0 0 50px 0;
}

#header .logo_wrap::before{
content: "";
display: block;
position: absolute;
left:-20%;
top: 109px;
width: calc(105% - 2.667%);
height: 104px;
background: #fff;
z-index:-2;
}

#header .logo_wrap::after{
content: "";
display: block;
position: absolute;
left: 268px;
top: 118px;
background: url("../images/com/mask_lt.png");
background-size: auto;
background-size: cover;
z-index: 10;
width: 61px;
height: 61px;
}

#header .logo_wrap a{
display: block;
transition: all 0.5s 0s ease;
}

#header .logo_wrap a img{
}

#header .t-globalNavi{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
z-index: 1;
position: relative;
}

#header .t-globalNavi .t-globalNavi_link{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin:20px 20px 0 0;
}

#header .t-globalNavi .t-globalNavi_link li{
text-align: center;
margin-right: 20px;
}

#header .t-globalNavi .t-globalNavi_link li a .icon{
width: 60px;
display: block;
margin: 0 auto 10px;
}

#header .t-globalNavi .t-globalNavi_link li a{
text-decoration: none;
color: #624b1e;
}

#header .t-globalNavi .t-globalNavi_link li:last-child{
margin-right: 0;
}

.burger-btn {
display: none;
}

.siteNav {
display: flex;
justify-content: flex-end;
align-items: stretch;
flex-direction: row;
margin: 20px 0 0;
}

.siteNav .siteNav_dl {
display: flex;
justify-content: flex-start;
align-items: stretch;
flex-direction: row;
}

.siteNav .siteNav_dl .siteNav_dt {
display: flex;
justify-content: center;
align-items: center;
font-weight: 100;
line-height: 1.5;
}

.siteNav .siteNav_ul {
display: flex;
justify-content: flex-start;
align-items: stretch;
flex-direction: row;
}
.siteNav .siteNav_ul .siteNav_content .siteNav_a {
display: flex;
justify-content: center;
align-items: center;
position: relative;
margin-left:1.2rem;
font-size: 0.6rem;
font-weight: 500;
}

.siteNav .siteNav_ul .siteNav_content .siteNav_a:first-child {
margin-left: none;
}

.siteNav .siteNav_ul .siteNav_content .siteNav_a .siteNav_aLine {
background: linear-gradient(#000, #000) 100% 100% / 0 .5px no-repeat;
transition: background-size .4s cubic-bezier(.23,1,.32,1) 0s;
}

body:not(.-is-touchDevice) .siteNav .siteNav_ul .siteNav_content .siteNav_a:hover .siteNav_aLine {
background-position: 0 100%;
background-size: 100% 0.5px;
}

.menuWrap,
.gnav{
display: none;
}

/* footer
--------------------------------------------*/
footer {
position: relative;
background: url("../images/com/bg_weve_b.png") top center no-repeat;
background-size: 100% auto;
width: 100%;
padding:3% 0 0;
box-sizing: border-box;
}

footer #footer{
background: #f0f5f5;
padding: 40px 2.667% 60px;
box-sizing: border-box;
}

footer #footer .address_box{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 0 40px;
border-bottom: 1px solid #624b1e;
padding-bottom: 40px;
box-sizing: border-box;
}

footer #footer .address_box .address{
width: 56%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

footer #footer .address_box .address .logo_img{
width: 200px;
margin: 0;
}

footer #footer .address_box .address .address_txt{
width: calc(100% - 230px);
}

footer #footer .address_box .address .address_txt h2{
font-size: 120%;
margin-bottom: 20px;
}

footer #footer .address_box .address_txt h2 span{
font-size: 87.5%;
display: block;
}

footer #footer .address_box .gmap{
width: 40%;
border: 2px solid #624b1e;
vertical-align: bottom;
}

footer .fot_list{
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 0 0 40px;
}

footer .fot_list li{
display: inline-block;
margin: 0 10px;
}

footer .copy{
text-align: center;
line-height: 1;
}


/*main
--------------------------------------------------*/
main{
position: relative;
width: 100%;
padding:120px 0;
}

main::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 120%;
z-index: -1;
background: #f9f6f4;
}

main .section_wrap{
position: relative;
width: 1100px;
margin: 0 auto;
}

main .section_wrap .block{
position: relative;
margin: 0 0 60px;
padding:55px;
box-sizing: border-box;
background: #FFF;
border-radius: 2rem;
box-shadow: 0px 2px 8px 0px rgba(0,0,0,.1);
border: 3px solid #624b1e;
}

main .section_wrap .block:last-child{
margin-bottom: 0;
}

/*ttl
--------------------------------------------------*/
main .ttl{
position: relative;
width: 100%;
font-size:160%;
line-height: 1;
margin: 0 0 30px;
padding-bottom: 20px;
box-sizing: border-box;
border-bottom: 1px solid #624b1e;
}

main .ttl::before{
content:"";
position: absolute;
bottom: 0;
left: 0;
width: 120px;
height: 3px;
background:#624b1e;
}

main .ttl_txt{
width: 100%;
font-size:220%;
line-height: 1;
margin: 0 0 50px;
}

main .ttl_txt .en_txt{
display: block;
font-size:50%;
margin-bottom: 25px;
}

main .sub_ttl{
font-size: 160%;
line-height: 1;
margin: 0 0 40px;
}


/* hed
--------------------------------------------*/
.hed {
position: relative;
background: #f0f5f5;
padding: 50px 2.667% 70px;
box-sizing: border-box;
margin: 0 0 120px;
}

.hed::before{
content: "";
position: absolute;
bottom: -15%;
left: 0;
background: url("../images/com/bg_weve_b2.png") center bottom no-repeat;
background-size: auto;
background-size: 100% auto;
width: 100%;
height: 20%;
}

.hed p{
margin-bottom: 10px;
text-align: center;
}

.hed h1{
text-align: center;
font-size: 220%;
line-height: 1;
}




/*button
--------------------------------------------------*/
.button{
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: auto;
}
.button a{
background: #624b1e;
border: 1px solid #624b1e;
display:inline-block;
padding: 8px 32px;
text-align: center;
text-decoration: none;
color: #fff;
border-radius: 5px;
transition: 0.2s;
text-shadow:#624b1e 2px 0px,#624b1e -2px 0px, #624b1e 0px -2px, #624b1e 0px 2px, #624b1e 2px 2px, #624b1e -2px 2px, #624b1e 2px -2px, #624b1e -2px -2px, #624b1e 1px 2px, #624b1e -1px 2px, #624b1e 1px -2px, #624b1e -1px -2px, #624b1e 2px 1px, #624b1e -2px 1px, #624b1e 2px -1px, #624b1e -2px -1px;
}
.button a::after{
content: "";
display: inline-block;
width: 60px;
height: 6px;
background: url("../images/com/arrow01.svg") no-repeat 0 0/contain;
margin: 0 0 0 20px;
transition: 0.2s;
}
.button a:hover,
.button a:focus-visible{
background: #fff;
color: #860000;
text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
}
.button a:hover::after{
background: url(../images/com/arrow01_.svg) no-repeat 0 0/contain;
}


/*com
------------------------------------------*/
.skip {
width:1px;
color:#000000;
font-size:0.1%;
line-height:0.1;
background-color:#FFFFFF;
position:absolute;
left:-3000px;
z-index:9999;
}
a.skip {
color:#003377;
background-color:#FFFFFF;
text-align:center;
padding:2px 0;
top:auto;
}
a.skip:active {
display:block;
width:99.99%;
font-size:100%;
line-height:1.6;
top:0;
left:0;
}
a.skip:focus {
display:block;
width:99.99%;
font-size:100%;
line-height:1.6;
top:0;
left:0;
}


/*list
------------------------------------------*/
.dot_list{
margin: 0 0 0 20px;
padding: 0;
list-style-type:disc;
}

.dot_list li{
margin-bottom: 10px;
}

.dot_list li:last-child{
margin-bottom: 0;
}

.ol_list{
counter-reset: my-counter;
}

.ol_list li{
margin-right: 20px;
padding-left: 25px;
box-sizing: border-box;
position: relative;
margin-bottom: 10px;
}

.ol_list li:last-child{
margin-bottom: 0;
}

.ol_list li:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #FFF;
border: 1px solid #624b1e;
border-radius: 50%;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
height: 20px;
width: 20px;
color: #624b1e;
line-height:1;
position: absolute;
top:5px;
left:0;
font-size: 80%;
}



}
/*sp*/
@media only screen and (max-width:800px) {
.pc {
display:none !important;
}
.sp {
display:block !important;
}


body{
overflow-x: hidden;
line-height:1.85;
}

/*--スクロールトップ---------*/
#totop {
bottom: 80px;
display: block;
position: fixed;
right: 15px;
z-index: 50;
width:40px;
}
#totop a {
display: block;
width: 40px;
height: 40px;
text-indent: -1000em;
overflow: hidden;
background: url(../images/com/btn_scroll_top.png) 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}


/* com
--------------------------------------------*/
.pcBr {
display: none;
}
.spBr {
display: inline-block;
}
.pc {
display: none !important;
}
.sp {
display: block;
}


/* header
--------------------------------------------*/
header {
position: fixed;
width: 100%;
min-width: 360px;
height: 100px;
z-index: 100;
background: #FFF;
}

#header {
position: relative;
width: 100%;
transition: 0.5s;
margin: auto;
}

#header .logo_wrap {
position: absolute;
top: 0;
left: 50%;
display: block;
width:120px;
margin-left: -60px;
transition: 0.5s;
}

#header .logo_wrap a{
display: block;
transition: all 0.5s 0s ease;
}

#header .g_menu{
display: none;
}


/* デフォルトのbuttonスタイルをリセット */
button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: transparent;
border: 0;
border-radius: 0;
color: inherit;
cursor: pointer;
font: inherit;
margin: 0;
outline: none;
padding: 0;
vertical-align: middle;
}

/* 以下、ハンバーガーボタン */
.burger-btn {
display: block;
width: 50px;
height: 39px;
position: relative;
z-index: 3;
border: none;
}

.bar {
width: 20px;
height: 1px;
display: block;
position: absolute;
left: 50%;
transform: translateX(-50%);
background-color: #000;
}

.bar_top {
top: 10px;
}
.bar_mid {
top: 50%;
transform: translate(-50%, -50%);
}
.bar_bottom {
bottom: 10px;
}
.burger-btn.close .bar_top {
transform: translate(-50%, 10px) rotate(45deg);
transition: transform .3s;
}
.burger-btn.close .bar_mid {
opacity: 0;
transition: opacity .3s;
}
.burger-btn.close .bar_bottom {
transform: translate(-50%, -8px) rotate(-45deg);
transition: transform .3s;
}
.menu_list,
.hed_btn_list{
display: none;
}

.siteNav {
display: none;
}

.btn_tel{
position: absolute;
top: 0;
right: 60px;
width: 70px;
height: 100%;
}

.btn_tel a{
width: 100%;
height: 60px;
display: block;
border-left:1px solid #ddd;
border-bottom:1px solid #ddd;
text-align: center;
padding: 5px 0 10px;
box-sizing: border-box;
}

.btn_tel a i{
font-size: 16px;
line-height: 0;
color: #008dcf;
}

.btn_tel a span{
display: block;
font-size: 14px;
font-weight: bold;
line-height: 1;
}

/*menu*/
.menuWrap {
position: absolute;
top:5px;
right:6%;
width:50px;
height:50px;
z-index: 20000;
cursor: pointer;
background: url("../images/com/bg_img_sp.jpg") 0 0 no-repeat;
background-size: cover;
padding:5px;
box-sizing: border-box;
}

.menuWrap p {
width: 100%;
display: block;
position: relative;
font-size: .8rem;
font-weight: bold;
line-height: 1em;
text-align: center;
padding-top: 5px;
box-sizing: border-box;
}

.menu {
display: block;
position: relative;
width:100%;
height:100%;
margin: auto;

}
.menu__line {
background: #624b1e;
display: block;
height: 2px;
position: absolute;
transition: transform .3s;
width: 100%;
}
.menu__line--center {
top: 2px;
}
.menu__line--bottom {
bottom: 0;
}
.menu__line--top.active {
top: 20px;
transform: rotate(45deg);
width: 100%;
background: #624b1e
}
.menu__line--center.active {
transform: scaleX(0);
}
.menu__line--bottom.active {
bottom:18px;
transform: rotate(135deg);
background: #624b1e
}

/*gnav*/
.gnav {
background:#FFF;
display: none;
height: 100%;
position: fixed;
width: 100%;
top: 0;
left:0;
}
.gnav__wrap {
display: flex;
position: absolute;
width: 100%;
background-size: cover;
background: #faf4e3;
top: 0;
left:0;
padding: 15px;
box-sizing: border-box;

overflow-y:scroll;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
height: 100vh;

}

.gnav_bg_img {
display: none;
}

.gnav h3{
margin-bottom: 20px;
line-height: 1;
}

.gnav_contents {
width: 100%;
margin: auto;
}

.gnav_contents_box {
width: 100%;
height: 100%;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;
margin: auto;
}

.gnav__menu {
position: relative;
margin-bottom: 30px;
overflow-y: auto; /* auto推奨 */
}

.gnav__menu__item {
padding:6px 0;
box-sizing: border-box;
}

.gnav__menu__item a{
color: #624b1e;
line-height:1;
letter-spacing: 0.03em;
text-decoration: none;
transition: .5s;
display: block;
padding: 8px;
box-sizing: border-box;
}

.gnav__menu__item a:hover {
color: #008dcf;
}

.gnav__menu__item ul{
margin-left: 10px;
}

.gnav__menu__item ul li{
margin: 10px 0;
}

.gnav__menu__item ul li a{
font-size: 0.8rem;
}

.gnav_logo {
width: 220px;
margin: 0 0 30px;
}
.gnav_logo img {
width: 100%;
height: auto;
}
.gnav_menu_sub {
box-sizing: border-box;
margin: 0 auto;
margin: 20px 0 0 5px;
}
.gnav_menu_sub li:nth-child(n+2) {
margin-top: 10px;
}
.gnav_menu_sub li a {
color: #666;
display: block;
font-size: 12px;
}

.g_menu_wrap {
display: none;
}

.lang_box{
position: relative;
}

.lang_box h2{
font-size: 87.5%;
line-height: 1;
margin: 0 0 10px;
color: #624b1e;
text-align: center;
}

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

.lang_box .lang_list li{
width: 48%;
padding: 5px 10px;;
box-sizing: border-box;
background: #624b1e;
border-radius: 50rem;
margin-bottom: 4%;
line-height: 1;
text-align: center;
}

.lang_box .lang_list li a{
color: #FFF;
text-decoration: none;
}

.gnav_menu_boxL{
position: relative;
width: 96%;
margin: auto;
} 

.menu_logo{
width:46%;
margin: 0 auto 30px;
}

.company_name1{
font-size: 0.7rem;
font-weight: normal;
margin: 0 0 10px;
color: #005bac;
}

.company_name2{
font-size: 0.7rem;
font-weight: normal;
margin: 0 0 10px;
color: #5d1b56;
}

/*アコーディオンメニュー
-------------------------------------------*/
#header .gnav__wrap details {
}
#header .gnav__wrap details::details-content {
transition: height 0.4s, opacity 0.4s, content-visibility 0.4s allow-discrete;
height: 0;
opacity: 0;
overflow: clip;
background-color: #f0f2ff;
}
#header .gnav__wrap details[open]::details-content {
opacity: 1;
}

#header .gnav__wrap details[open] .icon {
transform: rotate(180deg);
}

@supports (interpolate-size: allow-keywords) {
:root {
interpolate-size: allow-keywords;
}

#header .gnav__wrap details[open]::details-content {
height: auto;
}
}

@supports not (interpolate-size: allow-keywords) {
#header .gnav__wrap details[open]::details-content {
height:auto;;
overflow-y: none;
}
}

#header .gnav__wrap summary {
display: grid;
grid-template-columns: 1fr 24px;
gap: 6px;
align-items: center;
padding:8px;
border: 1px solid #ddd;
font-weight: bold;
color: #2f393e;
cursor: pointer;
background: #FFF;
}

#header .gnav__wrap summary::-webkit-details-marker {
display: none;
}

#header .gnav__wrap .icon {
display: block;
position: relative;
width: 24px;
margin-left: -12px;
flex-shrink: 0;
transform-origin: center 43%;
transition: transform 0.4s;
}
#header .gnav__wrap .icon::before,
#header .gnav__wrap .icon::after {
content: "";
position: absolute;
display: block;
width: 15px;
height: 3px;
background-color: #2f509a;
}

#header .gnav__wrap .icon::before {
left: 0;
transform: rotate(45deg);
}

#header .gnav__wrap .icon::after {
right: 0;
transform: rotate(-45deg);
}

#header .gnav__wrap .content {
padding:10px;
box-sizing: border-box;
}

#header .gnav__wrap .content ul{
margin: 0;
padding: 0;
}

#header .gnav__wrap .content ul li{
border-bottom: 1px solid #ddd;
padding: 6px;
box-sizing: border-box;
}

#header .gnav__wrap .content ul li a{
display: block;
font-size: 14px;
font-weight: 600;
}


/* footer
--------------------------------------------*/
footer {
position: relative;
background: url("../images/com/bg_weve_b.png") top center no-repeat;
background-size: 100% auto;
width: 100%;
padding:3% 0 0;
box-sizing: border-box;
}

footer #footer{
background: #f0f5f5;
padding: 40px 5%;
box-sizing: border-box;
}

footer #footer .address_box{
width: 100%;
margin: 0 0 40px;
border-bottom: 1px solid #624b1e;
padding-bottom: 40px;
box-sizing: border-box;
}

footer #footer .address_box .address{
width: 100%;
margin: auto;
}

footer #footer .address_box .address .logo_img{
width: 220px;
margin:0 auto 20px;
}

footer #footer .address_box .address .address_txt{
width:100%;
margin-bottom: 30px;
}

footer #footer .address_box .address .address_txt h2{
font-size: 100%;
margin-bottom: 20px;
line-height: 1.6;
text-align: center;
}

footer #footer .address_box .address_txt h2 span{
font-size: 87.5%;
display: block;
}

footer #footer .address_box .gmap{
width: 90%;
border: 2px solid #624b1e;
vertical-align: bottom;
margin: auto;
}

footer .fot_list{
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 0 0 40px;
}

footer .fot_list li{
display: inline-block;
margin: 0 10px;
}

footer .copy{
text-align: center;
font-size: 87.5%;
line-height: 1;
}



/*main
--------------------------------------------------*/
main{
position: relative;
width: 100%;
padding-top:100px;
box-sizing: border-box;
}

main::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 120%;
z-index: -1;
background: #f9f6f4;
}

main .section_wrap{
position: relative;
width: 90%;
margin: 0 auto 60px;
}

main .section_wrap .block{
position: relative;
padding: 20px;
box-sizing: border-box;
background: #FFF;
border-radius:1.6rem;
box-shadow: 0px 2px 68px 0px rgba(0,0,0,.1);
margin-bottom: 30px;
border: 2px solid #624b1e;
}

main .section_wrap .block:last-child{
margin-bottom: 0;
}

main .ttl_txt{
width: 100%;
font-size:140%;
line-height: 1;
margin: 0 0 20px;
}

main .ttl_txt .en_txt{
display: block;
font-size:50%;
margin-bottom: 15px;
}

main .sub_ttl{
font-size: 110%;
line-height: 1.4;
margin: 0 0 20px;
}


/* hed
--------------------------------------------*/
.hed {
position: relative;
background: #f0f5f5;
padding: 20px 2.667% 20px;
box-sizing: border-box;
margin: 0 0 40px;
}

.hed::before{
content: "";
position: absolute;
bottom: -12%;
left: 0;
background: url("../images/com/bg_weve_b2.png") center bottom no-repeat;
background-size: auto;
background-size: 100% auto;
width: 100%;
height: 20%;
}

.hed p{
margin-bottom: 10px;
text-align: center;
font-size:87.5%;
line-height: 1;
}

.hed h1{
text-align: center;
font-size:150%;
line-height: 1;
}



/*ttl
--------------------------------------------------*/
main .ttl{
position: relative;
width: 100%;
font-size:120%;
line-height: 1;
margin: 0 0 30px;
padding-bottom: 10px;
box-sizing: border-box;
border-bottom: 1px solid #624b1e;
}

main .ttl::before{
content:"";
position: absolute;
bottom: 0;
left: 0;
width: 50px;
height: 3px;
background:#624b1e;
}

/*button
--------------------------------------------------*/
.button{
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: auto;
}
.button a{
font-size: 80%;
background: #624b1e;
border: 1px solid #624b1e;
display:inline-block;
padding: 5px 20px;
text-align: center;
text-decoration: none;
color: #fff;
border-radius: 5px;
transition: 0.2s;
text-shadow:#624b1e 2px 0px,#624b1e -2px 0px, #624b1e 0px -2px, #624b1e 0px 2px, #624b1e 2px 2px, #624b1e -2px 2px, #624b1e 2px -2px, #624b1e -2px -2px, #624b1e 1px 2px, #624b1e -1px 2px, #624b1e 1px -2px, #624b1e -1px -2px, #624b1e 2px 1px, #624b1e -2px 1px, #624b1e 2px -1px, #624b1e -2px -1px;
}
.button a::after{
content: "";
display: inline-block;
width: 20px;
height: 3px;
background: url("../images/com/arrow01.svg") no-repeat 0 0/contain;
margin: 0 0 0 20px;
transition: 0.2s;
}
.button a:hover,
.button a:focus-visible{
background: #fff;
color: #860000;
text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
}
.button a:hover::after{
background: url(../images/com/arrow01_.svg) no-repeat 0 0/contain;
}


/*com
------------------------------------------*/
.skip {
width:1px;
color:#000000;
font-size:0.1%;
line-height:0.1;
background-color:#FFFFFF;
position:absolute;
left:-3000px;
z-index:9999;
}
a.skip {
color:#003377;
background-color:#FFFFFF;
text-align:center;
padding:2px 0;
top:auto;
}
a.skip:active {
display:block;
width:99.99%;
font-size:100%;
line-height:1.6;
top:0;
left:0;
}
a.skip:focus {
display:block;
width:99.99%;
font-size:100%;
line-height:1.6;
top:0;
left:0;
}


/*list
------------------------------------------*/
.dot_list{
margin: 0 0 0 20px;
padding: 0;
list-style-type:disc;
}

.dot_list li{
margin-bottom: 10px;
}

.dot_list li:last-child{
margin-bottom: 0;
}

.ol_list{
counter-reset: my-counter;
}

.ol_list li{
margin-right: 20px;
padding-left: 25px;
box-sizing: border-box;
position: relative;
margin-bottom: 10px;
}

.ol_list li:last-child{
margin-bottom: 0;
}

.ol_list li:before {
content: counter(my-counter);
counter-increment: my-counter;
background-color: #FFF;
border: 1px solid #624b1e;
border-radius: 50%;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
height: 20px;
width: 20px;
color: #624b1e;
line-height:1;
position: absolute;
top:5px;
left:0;
font-size: 80%;
}


}