@charset "utf-8";
/*-----------------------------------------------------

  top.css
  TOPpage CSS

------------------------------------------------------*/

/*-----------------------------------------------------
  header　
-----------------------------------------------------*/

#main_visual {
  margin-top: 70px;
  width: 100%;
  height: calc(100vh - 70px);
  position: relative;
  overflow: hidden;
}

#main_visual_bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  transition: transform 20s ease;
  background: url(../images/top/main_visual.jpg) no-repeat center center;
  background-size: cover;
}

#main_visual_shadow {
  width: 100%;
  height: 100%;
  background: url(../images/top/main_visual_shadow.png) repeat-x center bottom;
  background-size: auto 25vh;
  position: absolute;
  top: 0;
  left: 0;
}

#main_visual h2 {
  position: absolute;
  left: clamp(133px, 10.429vw, 209px);
  bottom: clamp(55px, 4.286vw, 86px);
}

#main_visual h2 div {
  font-family: 'NotoSansCJKjpBlack', sans-serif;
  font-display: swap;
  font-size: clamp(27px, 2.143vw, 43px);
  line-height: 1;
  height: clamp(55px, 4.286vw, 86px);
}

#main_visual h2 div#anim_01 {
  text-indent: -0.7em;
}

#main_visual h2 div span {
  font-size: 1.333em;
}

#scroll-down {
  display: block;
  position: absolute;
  text-align:center;
  padding-top: 79px;
  bottom: clamp(3.428vw, 3.428vw, 80px);
  left: 45px;
  -webkit-transition: all .5s;
  transition: all .5s;
  opacity: 0;
  z-index: 999;
}

#scroll-down.is_animated {
  opacity: 1;
}

.arrow-down {
    display: block;
    margin: 0 auto;
    width: 10px;
    height: 33px;
}
.arrow-down:after {
    content: '';
    display: block;
    margin: 0;
    padding: 0;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    behavior: url(-ms-transform.htc);
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}
#scroll-title {
  display: block;
  color: #fff;
  font-size:14px;
  font-weight:bold;
  letter-spacing:.1em;
}
#scroll-down::before {
    -webkit-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    -moz-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    -o-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    position: absolute;
    top: 0px;
    left: 50%;
    margin-left: -1px;
    width: 2px;
    height: 90px;
    background: #fff;
    content: ' ';
}
@-webkit-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@-moz-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@-o-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}

#scroll-down.fadeout {
  opacity: 0;
}
/*-----------------------------------------------------
  contents　
-----------------------------------------------------*/

#contents {
  width: 100%;
}

p.contents_lead {
  font-size: clamp(16px, 1.286vw, 26px);
  margin-top: clamp(18px, 1.429vw, 29px);
  margin-bottom: clamp(23px, 1.786vw, 36px);
}

section h2 {
  display: inline-block;
  font-size: clamp( 18px, 1.429vw, 28px);
  font-weight: normal;
  position: relative;
}

section h2::after {
  content: '';
  width: clamp(197px, 15.429vw, 309px);
  height: clamp(9px, 0.714vw, 14px);
  background: url(../images/common/line_h2.png) no-repeat right bottom;
  background-size: 100% auto;
  position: absolute;
  bottom: 5px;
  right: clamp(-343px, -17.143vw, -219px);
}

section h2 .h2_en {
  display: block;
  font-size: 2.5em;
  font-family: 'NotoSansCJKjpBlack', sans-serif;
  font-display: swap;
  color: #16809e;
  line-height: 1;
}

#service {
  padding: clamp(73px, 5.714vw, 114px) clamp(55px, 4.286vw, 86px);
  background: url(../images/top/bg_service.jpg) no-repeat right center;
  background-size: clamp(1280px, 100vw, 2000px) auto;
}

#service .sect_inner {
  width: clamp(1170px, 91.429vw, 1829px);
  aspect-ratio: 1400/547;
  position: relative;
}

#service_photo {
  width: clamp(841px, 65.714vw, 1314px);
  aspect-ratio: 1200/623;
  position: absolute;
  top: 0;
  right: 0;
}

#service_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#service_contents {
  width: clamp(446px, 34.857vw, 697px);
  background: #fff;
  border-radius: 0 clamp(18px, 1.429vw, 29px) clamp(18px, 1.429vw, 29px) 0;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: clamp(37px, 2.857vw, 57px) clamp(32px, 2.5vw, 50px) clamp(37px, 2.857vw, 57px) 0;
  z-index: 99;
}

#reason {
  background: url(../images/top/bg_reason.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
  padding: clamp(46px, 3.571vw, 71px) 0;
}

#reason::before {
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  top: -3px;
  background: #003e50;
}

#reason::after {
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -3px;
  background: #003e50;
}

#reason .sect_inner {
  width: clamp(1170px, 91.429vw, 1829px);
  margin: 0 auto;
}

section#reason h2 {
  display: block;
  background: none;
  color: #fff;
  text-align: center;
  font-family: 'NotoSansCJKjpBlack', sans-serif;
  font-display: swap;
  font-size: clamp(33px, 2.571vw, 51px);
  margin-bottom: clamp(18px, 1.429vw, 29px);
}

#reason h2::after {
  display: none;
}

#reason .flex_box {
  justify-content: space-between;
}

.reason_box {
  width: clamp(358px, 28vw, 560px);
  height: clamp(247px, 19.286vw, 386px);
  display: flex;
  align-items: center;
  background: #fff;
  position: relative;
  justify-content: center;
}

.reason_box::before {
  content: '';
  width: 23px;
  height: 23px;
  position: absolute;
  top: 50%;
  left: 50%;
  background: url(../images/common/icon_kakko.png) no-repeat left top;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 0;
}

.reason_box::after {
  content: '';
  width: 23px;
  height: 23px;
  position: absolute;
  bottom: 50%;
  right: 50%;
  background: url(../images/common/icon_kakko.png) no-repeat left top;
  transform: rotate(180deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 0;
}

.reason_box.active::before {
  top: 10px;
  left: 10px;
  opacity: 1;
}

.reason_box.active::after {
  bottom: 10px;
  right: 10px;
  opacity: 1;
}

.reason_box p {
  font-size: clamp(18px, 1.429vw, 29px);
  color: #003e50;
}

#reason .btn_more {
  margin: clamp(51px, 4vw, 80px) auto 0;
}



#bg_bottom {
  background: url(../images/top/bg_bottom.jpg) no-repeat center center;
  background-size: cover;
  padding-bottom: clamp(46px, 3.571vw, 71px);
}

#news {
  padding: clamp(91px, 7.143vw, 143px) 0;
}

#news h2 {
  margin-bottom: clamp(42px, 3.286vw, 66px);
}

#news .sect_inner {
  width: clamp(914px, 71.429vw, 1429px);
  margin: 0 auto;
}

#news dl {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  font-size: clamp(15px, 1.143vw, 23px);
  margin-bottom: clamp(22px, 1.714vw, 34px);
  padding-bottom: 3px;
  border-bottom: solid 1px #003e50;
}

#news dl a:link {text-decoration:none; color:#333;}
#news dl a:visited {text-decoration:none; color:#333;}
#news dl a:hover {text-decoration:underline; color:#3896b0;}

#news dd.news_category {
  width: clamp(137px, 10.714vw, 214px);
  height: clamp(32px, 2.5vw, 50px);
  background: #7c8f92;
  text-align: center;
  line-height: clamp(32px, 2.5vw, 50px);
  color: #fff;
  flex-grow: 0;
}

#news dd.news_date {
  width: clamp(165px, 12.857vw, 257px);
  padding-top: clamp(3px, 0.214vw, 4px);
  padding-left: clamp(44px, 3.429vw, 69px);
  flex-grow: 0;
}

#news dt {
  flex-grow: 1;
  position: relative;
}

#news dt a {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: clamp(3px, 0.214vw, 4px);
}

#news dt .arrow_s {
  position: absolute;
  bottom: clamp(9px, 0.714vw, 14px);
  right: 10px;
  width: 36px;
  height: 11px;
  fill: #16809e;
  -webkit-transition: all .35s;
  transition: all .35s;
}

#news dt a:hover .arrow_s {
  right: 0;
}

#other_contents {
  padding: clamp(46px, 3.571vw, 71px) 0;
}

#other_contents .sect_inner {
  width: clamp(1170px, 91.429vw, 1829px);
  margin: 0 auto;
}

#other_contents .flex_box {
  justify-content: space-between;
}

.other_contents_box a {
  display: block;
  width: clamp(388px, 30.286vw, 606px);
  height: clamp(210px, 16.429vw, 329px);
  font-size: clamp(18px, 1.429vw, 29px);
  font-weight: normal;
  position: relative;
  background: url(../images/common/line_h2.png) no-repeat right clamp(6px, 0.5vw, 10px) bottom clamp(6px, 0.5vw, 10px) #fff;
  background-size: clamp(197px, 15.429vw, 309px) auto;
  border: solid 1px #003e50;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: clamp(18px, 1.429vw, 29px);
  -webkit-transition: all .35s;
  transition: all .35s;
}

.other_contents_box a:link {text-decoration:none; color:#333;}
.other_contents_box a:visited {text-decoration:none; color:#333;}
.other_contents_box a:hover {text-decoration:none; color:#fff;}

.other_contents_box a .other_contents_en {
  font-size: 2em;
  font-family: 'NotoSansCJKjpBlack', sans-serif;
  font-display: swap;
  color: #16809e;
  line-height: 1;
  -webkit-transition: all .35s;
  transition: all .35s;
}

.other_contents_box .arrow_s {
  width: 36px;
  height: 11px;
  fill: #16809e;
  margin-left: clamp(9px, 0.714vw, 14px);
  -webkit-transition: all .35s;
  transition: all .35s;
}

.other_contents_box a:hover {
  background-color: #16809e;
  color: #fff;
}

.other_contents_box a:hover .other_contents_en {
  color: #fff;
}

.other_contents_box a:hover .arrow_s {
  fill: #fff;
  transform: translateX(10px);
}

#others_contact.other_contents_box a .other_contents_en {
  display: inline-block;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55 40"><path fill="%237c8f92" d="M47.542,0.556H3.169c-1.545,0-2.81,1.272-2.81,2.808v4.848l23.514,17.873c0.342,0.268,0.904,0.447,1.48,0.444	c0.575,0.003,1.137-0.175,1.488-0.449L50.36,8.421V3.363C50.36,1.828,49.096,0.556,47.542,0.556z M25.354,30.393 c-1.047-0.005-2.111-0.292-2.987-0.956L0.36,12.712v24.036c0,1.534,1.265,2.808,2.81,2.808h44.372c1.555,0,2.818-1.273,2.818-2.808	v-23.84l-22.016,16.53C27.462,30.101,26.402,30.388,25.354,30.393z"/></svg>') no-repeat left bottom clamp(3px, 0.214vw, 4px);
  background-size: clamp(38px, 3vw, 60px) auto;
  padding-left: clamp(48px, 3.714vw, 74px);
}

#others_contact.other_contents_box a:hover .other_contents_en {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55 40"><path fill="%23ffffff" d="M47.542,0.556H3.169c-1.545,0-2.81,1.272-2.81,2.808v4.848l23.514,17.873c0.342,0.268,0.904,0.447,1.48,0.444	c0.575,0.003,1.137-0.175,1.488-0.449L50.36,8.421V3.363C50.36,1.828,49.096,0.556,47.542,0.556z M25.354,30.393 c-1.047-0.005-2.111-0.292-2.987-0.956L0.36,12.712v24.036c0,1.534,1.265,2.808,2.81,2.808h44.372c1.555,0,2.818-1.273,2.818-2.808	v-23.84l-22.016,16.53C27.462,30.101,26.402,30.388,25.354,30.393z"/></svg>') no-repeat left bottom clamp(3px, 0.214vw, 4px);
  background-size: clamp(38px, 3vw, 60px) auto;
}

.other_contents_box a.nolink {
  background-color: #eee !important;
  color: #999 !important;
}

.other_contents_box a.nolink .other_contents_en {
  color: #999 !important;
}

.other_contents_box a.nolink .arrow_s {
  fill: #999;
}

.other_contents_box a.nolink:hover .arrow_s {
  fill: #999;
  transform: translateX(0px);
}


/*-----------------------------------------------------

  SP layout

------------------------------------------------------*/


@media screen and (max-width: 767px) {



/*-----------------------------------------------------
  SP header
------------------------------------------------------*/
#main_visual {
  height: calc(100vw - 58px);
  margin-top: 60px;
}

#main_visual h2 {
  left: 5.128vw;
  bottom: 5.128vw;
}

#main_visual h2 div {
  font-size: 5.128vw;
  height: 8.974vw;
}

#scroll-down {
  display: none;
}

/*-----------------------------------------------------
  SP contents
------------------------------------------------------*/

section h2 {
  font-size: 4.103vw;
}

section h2 .h2_en {
  font-size: 2em;
}

section h2::after {
  width: 30.769vw;
  right: -33.333vw;
}

#contents {
}

#service {
  padding: 12.821vw 0;
}

#service .sect_inner {
  width: 100%;
  aspect-ratio: inherit;
}

#service_photo {
  width: 100%;
  position: relative;
}

#service_contents {
  width: 100%;
  position: relative;
  padding: 6.41vw;
  border-radius: 0 4.103vw 0 0;
  z-index: 1;
}

p.contents_lead {
  font-size: 3.59vw;
  margin-top: 3.59vw;
  margin-bottom: 5.128vw;
}

#service .fadeInUp, #service .slideIn_right_delay, #service .img_mask {
  animation: none;
  opacity: 1;
}

#service .sect_inner {
  opacity: 0;
}

#service .sect_inner.is_animated {
	animation-name: fadeInUp_nodelay_service;
	animation-duration: 0.5s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
}

@keyframes fadeInUp_nodelay_service {
	0% {
		transform: translate3d(0, 30px, 0);
		opacity: 0;
	}
	100% {
		transform: translate3d(0, 0, 0);
		opacity: 1;
	}
}


section#reason h2 {
  font-size: 7.179vw;
}

#reason .sect_inner {
  width: 100%;
}

#reason .flex_box {
  display: block;
}

#reason .flex_box.fadeInUp_nodelay {
  animation: none;
  opacity: 1;
}

#reason .flex_box .fadeInUp.fadeInUp {
	animation-delay: 0.3s;
}

#reason {
  padding: 6.41vw 0 10.256vw;
}

.reason_box {
  width: 87.179vw;
  height: 46.154vw;
  margin: 0 auto 5.128vw;
}

.reason_box::before, .reason_box::after {
  background-size: 15px auto;
}

/*
.reason_box::before {
  top: 10px;
  left: 10px;
  opacity: 1;
}

.reason_box::after {
  bottom: 10px;
  right: 10px;
  opacity: 1;
}
*/

.reason_box p {
  font-size: 4.103vw;
}

#reason .btn_more {
  margin-top: 7.692vw;
}

#news {
  padding: 10.256vw 0;
}

#news h2 {
  margin-bottom: 7.692vw;
}

#news .sect_inner {
  width: 92%;
  margin: 0 auto;
}

#news dl {
  flex-wrap: wrap;
  font-size: 3.59vw;
}

#news dd.news_category {
  width: 35%;
  height: 7.179vw;
  line-height: 7.179vw;
}

#news dd.news_date {
  width: 65%;
  padding-left: 3.846vw;
}

#news dt a {
  padding-top: 1.282vw;
}

#news dt .arrow_s {
  width: 7.179vw;
}


#other_contents {
  padding: 5.128vw 0;
}

#other_contents .sect_inner {
  width: 92%;
  margin: 0 auto;
}

#other_contents .flex_box {
  display: block;
  width: 85%;
  margin: 0 auto;
}

.other_contents_box {
  margin-bottom: 2.564vw;
}

.other_contents_box a {
  width: 100%;
  height: 30.769vw;
  font-size: 3.077vw;
}

#others_contact.other_contents_box a .other_contents_en {
  background-size: 7.179vw;
  padding-left: 8.974vw;
  background-position: left bottom 1px;
}

#others_contact.other_contents_box a:hover .other_contents_en {
  background-size: 7.179vw;
  background-position: left bottom 1px;
}

.btn_download {
  width: 85vw;
  margin: 7.692vw auto;
}

.btn_download a {
  font-size: 3.59vw;
}

.icon_download {
  width: 7.179vw;
  height: 7.179vw;
}



}

@media screen and (max-width: 320px) {

}
