.ellipsis {
  white-space: nowrap;
  overflow: hidden
}

.ellipsis.multiline {
  white-space: normal
}

.left {
  float: left
}

.right {
  float: right
}

a {
  color: #000
}

/* ↓20220323 追記↓ */
header {
	position: relative;
}
.box-language {
	position: absolute;
}
.box-language ul li a {
	color: #616161;
	background: none;
	border-radius: 50%;
	font-weight: bold;
	text-align: center;
}
.box-language ul li a img {
	width: 70%;
}
.box-language ul li a.is-selected {
	background: #fff;
}
/* ↑20220323 追記↑ */

@media only print,screen and (min-width:769px) {
  .header_wrapper, body {
    position: relative
  }
  ul.sub_menu .no_link, ul.sub_menu li {
    font-size: 1.4rem
  }
  h1 {
    margin-bottom: 1%;
    width: 226px;
  }
  .tel {
    pointer-events: none;
    cursor: default
  }
  .header_wrapper {
    width: 880px;
    margin: 0 auto
  }
  #sub, footer, footer ul li img {
    width: 100%
  }
  .nav_wrapper {
    display: none
  }
  #header_btn_box {
    width: 96px;
    height: 180px;
    position: absolute;
    top: 0;
    right: 0
  }
  #header_btn_box li:first-child {
    left: 0;
    position: absolute;
    top: -8px
  }
  #header_btn_box li:nth-child(2) {
    right: 0;
    position: absolute;
    top: -8px
  }
  #sub {
    padding: 1.6rem 0;
    background-color: #8c8c8c;
    text-align: center
  }
  ul.sub_menu {
    height: 26px
  }
  ul.sub_menu li {
    display: inline-block;
    margin-right: 1.5rem;
    line-height: 200%
  }
  ul.sub_menu .no_link, ul.sub_menu a {
    color: #fff;
    display: table
  }
  ul.sub_menu li:last-child {
    margin-right: 0
  }
  span.tri {
    font-size: .8rem;
    display: table-cell;
    vertical-align: middle
  }
  footer {
    background-color: #fff;
    padding-bottom: 70px
  }
  footer ul {
    overflow: hidden;
    width: 475px;
    margin: 0 auto;
    padding: 2rem 0
  }
  footer ul li {
    float: left;
    width: 225px
  }
  footer ul li:first-child {
    margin-right: 2rem
  }
  div.logo {
    margin: 0 0 2%;
    width: 231px
  }	
  footer p {
    text-align: left;
    line-height: 190%;
    font-size: 1.5rem;
    margin-bottom: 1rem
  }
  span.tel_fax {
    font-weight: 700;
    font-size: 1.5rem
  }
  .copyright {
    margin-bottom: 0;
    font-size: 1rem;
    color: #ababab;
    text-align: center
  }
  .back_btn {
    width: 96px;
    text-align: center;
    margin: 1rem auto 0;
    cursor: pointer;
    position: relative
  }
  .blog_icon, .news_icon {
    padding: 0 .2rem;
    font-size: .8rem;
    color: #fff;
    font-weight: 700;
    display: inline-block;
    width: 60px;
    text-align: center;
    line-height: 180%
  }
  .back_arrow_btn {
    position: absolute;
    left: 0;
    border-bottom: #8c8c8c solid 8px
  }
  .blog_icon {
    background-color: #ff2b8f;
    border-radius: .4rem;
    -webkit-border-radius: .4rem;
    -ms-border-radius: .4rem;
    -moz-border-radius: .4rem
  }
  .news_icon {
    background-color: #ff782b;
    border-radius: .4rem;
    -webkit-border-radius: .4rem;
    -ms-border-radius: .4rem;
    -moz-border-radius: .4rem
  }
  .footer_info {
    width: 67.3%;
    margin: 4% auto;
    overflow: hidden
  }
  .footer_box {
    width: 48%;
    text-align: left
  }
  #facebook_box {
    width: 48%;
    float: right
  }
	
	/* ↓20220323 追記↓ */
	.box-language {
		top: 21px;
		right: -55px;
	}
	.box-language ul li {
		margin-bottom: 5px;
	}
	.box-language ul li a {
		width: 35px;
		height: 33px;
		line-height: 30px;
		padding-top: 2px;
	}
	.box-language ul li a:hover {
		background: #fff;
	}
	/* ↑20220323 追記↑ */
}

@media only screen and (max-width:768px) {
  #header_btn_box, .sidebar {
    display: none
  }
  .btn, .top_back {
    cursor: pointer
  }
  .h1_box, .nav_wrapper, footer ul, ul.nav_ul li {
    overflow: hidden
  }
  * {
    box-sizing: border-box
  }
  body {
    font-size: 1.2rem;
    line-height: 180%
  }
  .bg_b {
    background-color: rgba(51, 51, 51, .6);
    z-index: 100;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 0
  }
  .btn, .nav_btn {
    position: relative
  }
  header {
    width: 92%;
    margin: 0 auto;
    padding: 4% 0 1%
  }
  .h1_box {
    width: 76%;
    padding: 1% 0
  }
  .h1_box h1 {
    float: left;
    width: 41%
  }
  .h1_box .tel {
    float: right;
    width: 56%;
    margin-top: 8%;
    text-align: right
  }
  .btn {
    width: 100%;
    left: 10%
  }
  .nav_btn {
    float: right;
    width: 20%;
    margin-top: 1%;
    z-index: 110
  }
  .nav_wrapper {
    width: 100%;
    padding-bottom: 7%;
    margin-top: -18%
  }
  .sidebar {
    color: #000;
    float: right;
    width: 70%;
    position: absolute;
    z-index: 1000;
    right: 0
  }
  .arrow2, .nav_img_l, p.nav_text_r {
    display: inline-block
  }
  .sidebar.right {
    top: 0;
    right: 0;
    bottom: 0;
    width: 300px
  }
  ul.nav_ul {
    float: right;
    background-color: #fff;
    width: 100%
  }
  ul.nav_ul li {
    padding: 1rem 0 1rem 1rem;
    border-bottom: #d2d2d2 solid .1rem;
    width: 100%
  }
  ul.nav_ul li:first-child img {
    width: 40%
  }
  .menu_online {
    background-color: #645a4b;
    border-bottom: none!important;
    color: #fff
  }
  .nav_img_l {
    max-width: 10%;
    margin-right: 1rem
  }
  p.nav_text_r {
    margin-top: 1%
  }
  .menu_online p.nav_text_r {
    color: #fff
  }
  .top_back {
    padding: 2rem 0;
    background-color: #8c8c8c;
    text-align: center;
    width: 100%
  }
  .arrow2 {
    height: 1.2rem;
    position: relative;
    width: 2rem
  }
  .arrow2.active:before {
    transform: rotate(-60deg) translateX(0) translateY(0)
  }
  .arrow2.active:after {
    transform: rotate(60deg) translateX(0) translateY(0)
  }
  .arrow2:after, .arrow2:before {
    background: #fff;
    border-radius: 10px;
    content: " ";
    display: block;
    height: 2px;
    position: absolute;
    top: 6px;
    transition: all .3s ease 0s;
    width: 19px
  }
  #sub, .back_btn {
    display: none
  }
  footer, footer ul li img {
    width: 100%
  }
  .arrow2:before {
    left: -5px;
    transform: rotate(130deg)
  }
  .arrow2:after {
    right: -5px;
    transform: rotate(-130deg)
  }
  footer {
    background-color: #fff
  }
  footer ul {
    border-bottom: #8c8c8c solid .1rem
  }
  footer ul li {
    width: 50%;
    float: left
  }
  footer ul li:first-child {
    border-right: #8c8c8c solid .1rem
  }
  div.logo {
    margin: 2rem auto;
    width: 50%
  }
  footer p {
    text-align: center;
    line-height: 190%;
    font-size: 1rem;
    margin-bottom: 1rem
  }
  span.tel_fax {
    font-weight: 700;
    font-size: 1.4rem
  }
  .copyright {
    margin-bottom: 0;
    font-size: .8rem;
    color: #ababab
  }
  .blog_icon, .news_icon {
    padding: 0 .4rem;
    font-size: .8rem;
    color: #fff;
    font-weight: 700;
    display: inline-block;
    width: 50px;
    text-align: center
  }
  .blog_icon {
    background-color: #ff2b8f;
    border-radius: .4rem;
    -webkit-border-radius: .4rem;
    -ms-border-radius: .4rem;
    -moz-border-radius: .4rem
  }
  .news_icon {
    background-color: #ff782b;
    border-radius: .4rem;
    -webkit-border-radius: .4rem;
    -ms-border-radius: .4rem;
    -moz-border-radius: .4rem
  }
  #facebook_box {
    margin: 6% 0;
    text-align: center
  }
	
	/* ↓20220323 追記↓ */
	.box-language {
		width: 38%;
		top: 38%;
		right: 18%;
	}
	.box-language ul {
		font-size: 0;
	}
	.box-language ul li {
		display: inline-block;
		vertical-align: top;
		font-size: .8rem;
		margin-right: 5%;
	}
	.box-language ul li:last-of-type {
		margin-right: 0;
	}
	.box-language ul li a {
		width: 10vw;
		height: 10vw;
		line-height: 10vw;
	}
	/* ↑20220323 追記↑ */
}