@charset "UTF-8";
/*
Theme Name: designsodan
Author: tajima
Description: ワイズ関西オフィシャルサイト
Version:1.5
License: GNU General Public License v2 or later
License URI: LICENSE
*/


body {
  font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, 'MS PGothic', 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  font-weight: 400;
  line-height: 1.9em;
  background-color: #ffffff;
  color: #333333;
  text-align: justify;
  background-color: inherit;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
}

body,
html {
  padding: 0;
  margin: 0 !important
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

/* テキスト */
h1 {
  font-size: 1.75em;
  font-weight: 300;
}

h2 {
  font-size: 1.5em;
  font-weight: 600
}

h3 {
  font-size: 1.25em
}

h4 {
  font-size: 1.125em
}

h5 {
  font-size: 1em
}

h6 {
  font-size: 0.875em
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 10px;
}

@media only screen and (max-width:520px) {
  h1 {
    font-size: 1.25em;
  }

  h2 {
    font-size: 1.125em;
  }

  h3 {
    font-size: 1em
  }

  h4 {
    font-size: 1em
  }
}

.mincho {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 300;
}

button,
input,
label,
select,
textarea {
  font-family: inherit;
  font-size: 1em;
}

img {
  max-width: 100%;
  height: auto;
}

a img {
  transition: .6s ease;
  -webkit-transition: .6s ease;
  -ms-transition: .6s ease;
}

a img:hover {
  opacity: .7;
}

img.sukima {
  max-width: 100%;
  vertical-align: bottom;
}

ul {
  padding: 0;
  margin: 0
}

ul li {
  list-style: none
}

a {
  text-decoration: none;
  color: #333333;
}

p {
  margin: 0 0 1em;
}

.bold {
  font-weight: 600
}

.sp {
  display: none !important;
}

.ipSp {
  display: none !important;
}

.pcipSp {
  display: none !important;
}

@media only screen and (max-width:768px) {
  .ip {
    display: none !important;
  }

  .ipSp {
    display: inherit !important;
  }

  .pcipSp {
    display: inherit !important;
  }
}

@media only screen and (max-width:480px) {
  .sp {
    display: inherit !important;
  }

  .pc {
    display: none !important;
  }

  .pcipSp {
    display: none !important;
  }
}

/* flexbox */
.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}

.d-flex02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.d-flex-around {
  justify-content: space-around;
}

.d-flex-start {
  justify-content: flex-start;
}

.d-flex-end {
  justify-content: flex-end;
}

.d-flex-center {
  justify-content: center;
}

.align-center {
  align-items: center;
}

.align-end {
  align-items: end;
}

.flex-reverse {
  flex-wrap: wrap-reverse;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

p.text-center,
.text-center p {
  line-height: 1.8em;
}

.col2 {
  width: 48%;
}

.col3 {
  width: 30%;
  margin-right: 5%;
  margin-bottom: 30px;
}

.col3:nth-of-type(3n) {
  margin-right: 0;
}

@media only screen and (max-width:768px) {
  .col2 {
    width: 100%;
  }

  .col3 {
    width: 48%;
    margin-right: 0;
  }

  .col3:nth-of-type(2n) {
    margin-right: 0;
  }

  .col2:last-child,
  .col3:last-child {
    margin-bottom: 0;
  }
}

@media only screen and (max-width:520px) {
  .col3 {
    width: 100%;
  }
}

.clear {
  clear: both;
}

.bold {
  font-weight: bold;
}

.normal {
  font-weight: normal !important;
}

.red {
  color: #d9382b
}

.black {
  color: #333333
}

.darkgray {
  color: #b4b4b5;
}


/* ------------------------------------------------
外枠
------------------------------------------------
*/

.container-inner {
  max-width: 1240px;
  padding: 0 20px;
  margin: 0 auto;
}

main {
  margin-bottom: 100px;
}

#page {
  margin-top: 10vh;
}

#page {
  margin-top: 0;
}

/* Tablet*/
@media only screen and (max-width:920px) {
  main {
    margin-bottom: 50px;
  }

  #page {
    margin-top: 3vh;
  }

  .container-inner {
    padding: 0px 40px;
  }
}

/* SP*/
@media only screen and (max-width:520px) {
  .container-inner {
    padding: 0px 20px;
  }
}

/* margin */
.mb-1 {
  margin-bottom: 10px;
}

.mb-2 {
  margin-bottom: 20px;
}

.mb-3 {
  margin-bottom: 30px;
}

.mb-4 {
  margin-bottom: 40px;
}

.mb-5 {
  margin-bottom: 50px;
}

.mb-6 {
  margin-bottom: 60px;
}

.mb-7 {
  margin-bottom: 70px;
}

.mb-8 {
  margin-bottom: 80px;
}

.mb-9 {
  margin-bottom: 90px;
}

.mb-10 {
  margin-bottom: 100px;
}

@media only screen and (max-width:520px) {
  .mb-5 {
    margin-bottom: 30px;
  }

  .mb-6 {
    margin-bottom: 40px;
  }

  .mb-7 {
    margin-bottom: 50px;
  }

  .mb-8 {
    margin-bottom: 60px;
  }

  .mb-9 {
    margin-bottom: 70px;
  }

  .mb-10 {
    margin-bottom: 80px;
  }
}


/* ------------------------------------------------
共通箇所
------------------------------------------------
*/

/* ------------------------------------------------
header 
------------------------------------------------
*/
header {
  position: sticky;
  top: 0;
  z-index: 220;
}

.header_cont {
  position: relative;
}

.header_right {
  padding: 10px 0;
  background-color: #fff;
  width: 100%;
}

.header_left {
  position: absolute;
  top: 0;
  left: 0;
}

#header-logo a img:hover {
  opacity: 1;
}

@media (min-width: 769px) and (max-width: 1000px) {}

.nav-wrapper ul.grand-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.nav-wrapper ul.grand-menu li {
  margin-left: 20px;
  font-size: 0.85em;
}

.nav-wrapper ul.grand-menu li:first-child {
  margin: 0;
}

.nav-wrapper ul.grand-menu li a {
  padding: 0.3em 0.2em;
  display: inline-block;
}

.nav-wrapper ul.grand-menu li a {
  position: relative;
}

.nav-wrapper ul.grand-menu li a:before {
  background-color: #c30d23;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .2s;
}

.nav-wrapper ul.grand-menu li a:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}

@media only screen and (min-width:851px) {
  .header_right .header-nav ul.grand-menu {
    margin-right: 30px;
  }
}

@media only screen and (max-width:850px) {
  header {
    background-color: #fff;
    width: 100%;
    height: 50px;
  }

  nav #nav-wrapper {
    padding: 0 10px;
  }

  .header_left img {
    width: 30%;
    margin-left: 10px;
  }

  .header_right {
    width: inherit;
    padding: 0;
    position: absolute;
    right: 0;
  }
}

/*.nav-wrapper ul.grand-menu li .sub-menu{
position: absolute;
visibility: hidden;
transition: all .4s ease;
left: 0;
width: 230px;
background-color: #333333;
opacity: 0;
}

.nav-wrapper ul.grand-menu li .sub-menu li .sub-menu{
position: absolute;
visibility: hidden;
transition: all .4s ease;
top: 0;
left: 230px;
width: 230px;
background-color: #333333;
opacity: 0;
}

.nav-wrapper ul.grand-menu li{
position: relative;
}

.nav-wrapper ul.grand-menu li:hover .sub-menu,
.nav-wrapper ul.grand-menu li .sub-menu li:hover .sub-menu{
display: block;
visibility: visible;
transition: all .4s ease;
opacity: 1;
}

.nav-wrapper ul.grand-menu .sub-menu li{
margin-left: 0;
font-size: 12px;
}

.sub-menu li a{
display: block!important;
padding: 0.8em!important;
color: #ffffff;
}

.nav-wrapper ul.grand-menu li .sub-menu li a:hover{
background-color: #666666;
color: #ffffff;
transition: .5s;
}

.nav-wrapper ul.grand-menu li .sub-menu li a:hover:before{
transform-origin: 0;
transform: scale(0);
}*/


.ham,
.black-bg {
  display: none;
}


@media only screen and (max-width:1200px) {
  .nav-wrapper ul.grand-menu li {
    margin-left: 20px;
    font-size: 13px;
  }
}

@media only screen and (max-width:1000px) {
  .nav-wrapper ul.grand-menu li {
    font-size: 12px;
  }

}

@media only screen and (max-width:850px) {

  header {
    padding: 15px 0 10px;
  }

  .ham {
    position: relative;
    width: 32px;
    height: 32px;
    cursor: pointer;
    display: inherit;
    z-index: 1000;
  }

  .ham_l {
    position: absolute;
    width: 32px;
    height: 2px;
    left: 0;
    background-color: #c30d23;
    transition: all .4s;
  }

  .ham_l-1 {
    top: 1px;
  }

  .ham_l-2 {
    top: 10px;
  }

  .ham_l-3 {
    top: 20px;
  }

  .open .ham_l-1 {
    transform: rotate(-45deg);
    top: 11px;
    background-color: #c30d23;
  }

  .open .ham_l-2 {
    opacity: 0;
  }

  .open .ham_l-3 {
    transform: rotate(45deg);
    top: 11px;
    background-color: #c30d23;
  }


  .header-nav {
    position: fixed;
    right: -100%;
    top: 0;
    width: 50%;
    height: 100vh;
    background-color: #ffffff;
    transition: all .4s;
    z-index: 220;
    overflow-y: auto;
    padding: 50px 30px;
  }

  .open .header-nav {
    right: 0;
  }

  .black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background-color: #333333;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
    display: inherit;
    cursor: pointer;
    z-index: 100;
  }

  .open .black-bg {
    opacity: 0.6;
    visibility: visible;
  }


  .nav-wrapper ul.grand-menu {
    display: block;
  }

  .nav-wrapper ul.grand-menu li {
    font-size: 13px;
    margin: 0;
    margin-left: 0;
  }

  .nav-wrapper ul.grand-menu li a {
    color: #333333;
    border-bottom: 1px solid #c30d23;
    display: block;
    padding: 10px;
  }

  .nav-wrapper ul.grand-menu li a:before {
    content: none;
  }

  .open .nav-wrapper ul.grand-menu {
    display: block;
    transition: .4s;
  }

  /*.nav-wrapper ul.grand-menu li .sub-menu,
.nav-wrapper ul.grand-menu li .sub-menu li .sub-menu{
position: static;
display: none;
transition: all .4s ease;
left: 0;
width: auto;
background-color: #ffffff;
opacity: 0;
}

.nav-wrapper ul.grand-menu li:hover .sub-menu,
.nav-wrapper ul.grand-menu li .sub-menu li:hover .sub-menu{
display: block;
visibility: visible;
transition: all .4s ease;
opacity: 1;
}

.nav-wrapper ul.grand-menu li .sub-menu li a{
padding: 10px 10px 10px 40px!important;
}

.nav-wrapper ul.grand-menu li .sub-menu li .sub-menu li a{
padding: 10px 10px 10px 70px!important;
}

.nav-wrapper ul.grand-menu li .sub-menu li a:hover{
color: #333333;
background-color: #ffffff;
transition: .5s;
}*/
}

@media only screen and (max-width:520px) {
  .header-nav {
    width: 70%;
    padding: 50px 20px;
  }
}

/* ------------------------------------------------
footer
------------------------------------------------
*/

footer {
  border-top: 6px solid #b3b3b3;
  border-bottom: 6px solid #b3b3b3;
  padding: 25px 0 15px;
}

footer .footer-col {
  width: 15%;
}

.footer_menue {
  width: 67%;
  margin-right: 3%;
}

.footer_menue ul {
  justify-content: flex-end;
}

.footer_menue ul li {
  font-size: 0.8em;
}

.footer_cont,
footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}

.footer_menue ul li {
  margin-right: 20px;
}

.copyright p {
  font-size: 11px;
  margin-bottom: 0;
  line-height: 1.5em;
  text-align: end;
}

footer ul li:last-of-type {
  margin-right: 0;
}

@media only screen and (max-width: 820px) {
  footer .footer-col {
    width: 50%;
  }

  .footer_menue {
    width: 80%;
  }

  .footer_menue ul {
    justify-content: flex-start;
  }

  .copyright p {
    text-align: start;
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 620px) {
  footer ul {
    margin-bottom: 5px;
  }

  footer .footer-col,
  .footer_menue,
  footer .footer-col:nth-of-type(2) {
    width: 100%;
  }
}

@media only screen and (max-width:480px) {
  .footer_menue {
    line-height: 1.2em;
    font-size: 0.8em;
  }

  .copyright p {
    font-size: 7px;
  }

  .footer-col.sp a {
    width: 48%;
  }
}

/* ------------------------------------------------
content
------------------------------------------------
*/

/*----------------------------
コンテンツ
----------------------------*/


/* アニメーション設定*/
.fadein {
  opacity: 0;
  transform: translate3d(0, 40px, 0);
}

.fadein.is-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: 1s;
}


/* --------------パンくず-------------- */
ul.breadcrumb {
  font-size: 0.8em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 50px 0;
}

ul.breadcrumb li:not(:first-child) {
  margin-left: 28px;
  position: relative;
}

ul.breadcrumb li:not(:first-child):before {
  content: "";
  position: absolute;
  top: 45%;
  left: -20px;
  display: block;
  width: 5px;
  height: 1px;
  background: #333333;
  padding-left: 5px;
}

ul.breadcrumb li:last-child:after {
  content: ""
}

ul.breadcrumb li:last-child {
  color: #b4b4b5
}

@media only screen and (max-width:768px) {
  ul.breadcrumb {
    justify-content: flex-start;
    font-size: 0.677em;
    margin: 30px 0;
  }
}


/* --------------pagination-------------- */

.pagination {
  text-align: center;
}

.nav-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.pagination .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  margin: 0 15px 20px 0;
  color: #808080;
  background: #ffffff;
  border: 1px solid #808080;
  border-radius: 5px;
  line-height: 0;
}

.pagination a:hover {
  transition: .3s;
  background: #ec6c00;
  border: 1px solid #ec6c00;
  color: #ffffff;
}

.pagination .current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  color: #ffffff;
  background: #ec6c00;
  border: 1px solid #ec6c00;
  border-radius: 5px;
}

.pagination .dots {
  background: transparent;
}



/* ------------------------------------------------
ブログ
------------------------------------------------
*/
.archive-post {
  width: 22%;
  margin: 0 4% 10px 0;
}

.archive-post:nth-child(4n) {
  margin: 0 0 10px 0;
}

.post-thumbnail {
  flex: 1;
}

.post-thumbnail {
  position: relative;
  width: 100%;
  padding-top: calc(10 / 14 * 100%);
}

.post-thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/*.archive-post img{transition: transform .4s;}

.archive-post a:hover img{
transform: scale(1.1);
-webkit-transform: scale(1.1);
opacity: 1;
transition: .4s;	
}*/

.archive-post h3 {
  font-size: 1.1em;
  font-weight: 600;
  line-height: 1.6em;
  margin-top: 7px;
  margin-bottom: 5px;
}

.post-description {
  font-size: 0.9em;
  margin-bottom: 0.2em;
  color: #333333;
}

.post-text {
  font-size: 0.9em;
  line-height: 1.5em;
}

.more-link a {
  text-align: center;
  color: #727171;
  font-size: 17px;
  font-style: normal;
  border: 1px solid #c30d23;
  display: inline-block;
  margin: 20px 0 0 0;
  padding: 4px 20px;
  border-radius: 20px;
  transition: .6s;
  z-index: 1;
}

.more-link a:hover {
  color: #fff;
  background-color: #c30d23;
  transition: .6s;
}

@media only screen and (max-width: 820px) {
  .archive-post {
    width: 48%;
    margin-bottom: 25px;
  }

  .archive-post:nth-child(2n) {
    margin: 0 0 25px 0
  }

  .archive-post .post-categories li a {
    font-size: 12px;
  }
}

@media only screen and (max-width: 520px) {
  .archive-post h3 {
    font-size: 1em;
    line-height: 1.5em;
  }

  .archive-post p {
    font-size: 0.8em
  }

  .archive-post {
    width: 100%;
  }
}


/* ------------------------------------------------
共通箇所
------------------------------------------------
*/

.main-tit {
  font-size: 2em;
  text-align: center;
  margin-bottom: 50px;
}

.post-time {
  font-size: 0.9em;
  color: #333333;
  padding: 0;
  margin: 8px 0 5px 0;
  max-height: 30px;
  line-height: 150%;
}

.pagetitle {
  color: #727171;
  font-size: 15px;
  font-style: normal;
  border: 1px solid #c30d23;
  /*display: inline-block;*/
  display: none;
  margin: 20px 0 0 0;
  padding: 0 13px;
  border-radius: 17px;
}

.blog-tit {
  font-size: 27px;
  line-height: 130%;
  font-weight: normal;
  color: #333;
  margin: 10px 0px 7px 0px;
  padding: 18px 0px 15px 0px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.wk_red {
  color: #c30d23
}

@media only screen and (max-width: 1000px) {
  .page-tit {
    font-size: 2em;
    margin: 0 auto 50px;
  }
}

@media only screen and (max-width: 520px) {
  .main-tit {
    font-size: 1.5em;
    margin-bottom: 20px;
  }

  .page-tit {
    font-size: 1.8em;
    margin: 0 auto 20px;
  }

  .blog-tit {
    font-size: 1.125em;
    margin: 10px 0;
  }
}


/* ------------------------------------------------
投稿ページ
------------------------------------------------
*/

.col--l .content {
  width: 70%;
}

.sidebar {
  width: 25%;
}

.col--l .content p a {
  font-size: 1.2em;
  color: #f39e52;
  border: 2px solid #f39e52;
  border-radius: 50px;
  padding: 12px 20px;
  display: inline-block;
}

.col--l .content p a:hover {
  opacity: 1;
  color: #ffffff;
  background-color: #f39e52;
}

@media only screen and (max-width: 768px) {
  .col--l .content {
    width: 100%;
  }

  /*.col--l .sidebar{display: none;}*/
  .col--l .sidebar {
    width: 100%;
  }

  .col--l .content p a {
    font-size: 1em;
    padding: 10px 15px;
    border: 1px solid #f39e52;
  }
}

.post-item {
  margin-top: 50px;
}

.post-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: none;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.post-tags li {
  font-size: 0.8em;
  letter-spacing: 0.1em;
  text-align: center;
  display: inline-block;
  margin-right: 15px;
}

.post-tags li a {
  color: #b4b4b5;
}

.post-tags li a::after {
  content: ",";
}

.post-tags li:last-of-type a::after {
  content: none;
}

.post-tags li {
  margin-right: 5px;
}

@media only screen and (max-width: 768px) {
  .post-item {
    margin-top: 30px;
  }
}


/* sidebar */
.sidebar .side-area {
  margin-bottom: 50px;
}

.sidebar h3 {
  color: #888;
  font-size: 1.1em;
  font-weight: bold !important;
  letter-spacing: 0.05em;
  margin: 0 0 10px;
  padding: 0 0 0.5em;
  position: relative;
  border-bottom: 1px solid #ccc;
  background: 0;
  border-radius: 0;
}

.sidebar h3:after {
  content: ".";
  line-height: 0;
  display: block;
  overflow: hidden;
  position: absolute;
  bottom: -1px;
  width: 30%;
  border-bottom: 2px solid #c30d23;
}

.sidebar .side-area ul li {
  border-bottom: 1px dotted #ddd;
  font-size: 0.9em;
}

.sidebar .side-area ul li a {
  display: block;
  padding: 15px 0px 7px 0px;
}

.sidebar .side-area ul li:first-child a {
  padding-top: 0;
}

.sidebar .side-active select {
  color: #333333;
  border: 1px solid #333333;
  width: 100%;
  padding: 5px
}


/* 検索フォーム */
.search-container {
  box-sizing: border-box;
  position: relative;
  border: 1px solid #808080;
  width: 100%;
  overflow: hidden;
  margin-bottom: 50px;
}

.search-container input[type="text"] {
  border: none;
  padding: 6px;
  width: 100%;
}

.search-container input[type="text"]:focus {
  outline: 0;
}

.search-container input[type="submit"] {
  cursor: pointer;
  background-image: url(./images/common/search.svg);
  background-size: 20px;
  background-repeat: no-repeat;
  background-color: #ffffff;
  background-position: 16px 17px;
  font-size: 1.3em;
  border: none;
  position: absolute;
  width: 2.5em;
  height: 2.5em;
  right: 0;
  top: -8px;
  outline: none;
}

@media only screen and (max-width: 768px) {
  .search-container {
    width: 50%;
    margin: 0 auto 5%
  }
}

@media only screen and (max-width: 480px) {
  .search-container {
    width: 60%;
  }
}

.sidebar .side-active select {
  width: 100%;
  padding: 5px
}


@media only screen and (max-width: 520px) {
  .page-article {
    margin-top: 30px;
    margin-bottom: 15px;
  }

  .previous-article,
  .next-article {
    width: 100%;
  }

  .previous-article {
    margin-bottom: 20px;
  }

  .previous-article a:before,
  .next-article a:after {
    padding-left: 11px;
    height: 11px;
  }

  .side-area {
    margin-bottom: 20px;
  }
}

.col--l p,
figure {
  margin-bottom: 1.5em;
}


/* --------------------------------------------------------------------------------------------------------------------------------------------
*
各ページ
*
--------------------------------------------------------
------------------------------------------------------------------------------------
*/



/*----------------------------
top
----------------------------*/

div.vid_contents video {
  width: 100%;
  text-align: center;
  margin: auto;
}

#site-content-top {
  margin-top: 80px;
}

h1.main_copy {
  margin: 0 auto 30px;
  line-height: 1.5em;
}

.top_message p {
  font-size: 1.25em;
  line-height: 2.5em;
}

.top_bt {
  position: relative;
}

.bt_tit {
  position: absolute;
  top: 0;
  left: 0;
}


.information-btn {
  font-size: 1.4em;
  font-weight: 600;
  border: 2px solid #c30d23;
  padding: 15px 30px 15px 15px;
  border-radius: 25px;
  background-image: linear-gradient(90deg, #ffffff, #c30d23);
  position: relative;
}

.information-btn:hover {
  background-image: none;
}

.information-btn p {
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
}

@media only screen and (max-width:530px) {
  .information-btn {
    border-radius: 18px;
  }
}

.shigajob-btn img {
  width: 100%
}

.kyujin_bt {
  font-size: 1.4em;
  font-weight: 600;
  text-align: center;
  border: 2px solid #c30d23;
  padding: 15px;
  border-radius: 10px;
  display: block;
  width: 100%;
}

.inquiry-btn {
  font-size: 1.4em;
  font-weight: 600;
  border-top: 2px solid #c30d23;
  border-bottom: 2px solid #c30d23;
  padding: 12px 20px;
  align-items: center;
}

@media only screen and (max-width:530px) {
  .inquiry-btn {
    font-size: 1em;
  }

  .inquiry-btn .arrow02 {
    width: 30px;
    height: 30px;
  }

  .inquiry-btn .arrow02::before {
    left: 8px;
    width: 8px;
    height: 8px;
  }

  .inquiry-btn .arrow02::after {
    left: 6px;
    width: 11px;
  }
}

.contact_en {
  display: flex;
  align-items: center;
}

a:hover .inquiry-btn {
  color: #fff;
  background-color: #c30d23;
  transition: .6s;
}

/*----
.inquiry_bt {
font-size:1.9em;
font-weight: 600;
}

.inquiry_bt::before {
content: url("images/common/icon_mail.png");
margin-right: 20px;
position:relative;
top:20px;
left:0;	
}
.inquiry_bt::after {
content: url("images/common/icon_mail.png");
margin-left: 20px;
position:relative;
top:20px;
right:0;	
}

a .inquiry_bt:hover{opacity: .7;}
----*/
@media only screen and (min-width: 821px) {

  .top_message h1.main_copy,
  #site-content-top h2 img {
    width: 56%;
  }
}

.kyujin-btn a {
  text-align: center;
  font-size: 1.4em;
  display: block;
  background-color: #fff;
  border: 2px solid #c30d23;
  color: #333;
  border-radius: 10px;
  padding: 15px;
  transition: .6s;
  z-index: 1;
}

.kyujin-btn a:hover {
  color: #fff;
  background-color: #c30d23;
  transition: .6s;
}

@media only screen and (max-width:530px) {
  .kyujin-btn a {
    font-size: 16px;
    padding: 15px;
  }

  /*.shigajob-btn img {width: 30px}
.shigajob-btn {
background-image: linear-gradient(90deg, #ffffff 30%, #c30d23);}*/
  #site-content-top {
    margin-top: 50px;
  }
}

/*-------------ボタン------------------*/
.arrow,
.arrow02 {
  position: relative;
  box-sizing: border-box;
  width: 60px;
  height: 60px;
  border: 2px solid #c30d23;
  background-color: #fff;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

.arrow02 {
  width: 43px;
  height: 43px;
  margin-left: 10px;
}

.arrow::before,
.arrow02::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 25px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #c30d23;
  border-right: 2px solid #c30d23;
  transform: rotate(45deg);
}

.arrow02::before {
  left: 15px;
  width: 10px;
  height: 10px;
}

.arrow::after,
.arrow02::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 19px;
  width: 17px;
  height: 2px;
  background: #c30d23;
}

.arrow02::after {
  left: 10px;
  width: 17px;
}

@media only screen and (max-width:530px) {
  .shigajob-btn {
    padding: 10px;
    font-size: 1.1em;
  }

  .arrow {
    width: 30px;
    height: 30px;
  }

  .arrow::before {
    left: 12px;
    width: 6px;
    height: 6px;
  }

  .arrow::after {
    left: 9px;
    width: 9px;
    height: 2px;
  }
}

/*------------PHILOSOPHY----------------*/

#philosophy h1 {
  font-size: 2.3em
}

.main_copy01 {
  font-size: 1.1em;
  line-height: 2.4em !important;
  margin-top: 50px;
}

.main_copy02 {
  font-size: 1.25em;
  line-height: 2.8em !important;
}

.sec_credo {
  align-items: stretch;
}

ul.philosophy_text {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

ul.philosophy_text li {
  border-left: 5px solid #c30d23;
  border-right: 5px solid #c30d23;
  padding: 0 15px;
  letter-spacing: 0.05em;
  line-height: 2em;
  display: flex;
  align-items: center;
}

@media only screen and (max-width:520px) {
  #philosophy h1 {
    font-size: 1.9em
  }

  ul.philosophy_text li {
    font-size: 1em;
    line-height: 1.8em;
  }

  #philosophy h3 img {
    margin-bottom: 10px !important;
  }

  #philosophy .col3 {
    margin-bottom: 50px;
  }

  .main_copy02 {
    font-size: 1.15em;
    line-height: 2.2em !important;
  }
}

.video-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
  overflow: hidden;
}

.video-wrap video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.click-layer {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 85%;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  z-index: 2;
}

/* 白丸＋三角 */
.video-overlay {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .95);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 10px rgba(0, 0, 0, .25);
  border: none;
  cursor: pointer;
  transition: opacity .2s;
  z-index: 3;
}

.video-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}

.video-overlay .triangle {
  width: 0;
  height: 0;
  border-left: 24px solid #c30d23;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
}

/* 再生中はクリックレイヤーを無効化（ネイティブ操作を邪魔しない） */
.video-wrap.playing .click-layer {
  pointer-events: none;
}

/* iOSのインライン再生安定化（見た目は変わりません）*/
video[playsinline] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
}


@media (max-width:520px) {
  .video-overlay {
    width: 64px;
    height: 64px;
  }

  .video-overlay .triangle {
    border-left-width: 20px;
    border-top-width: 12px;
    border-bottom-width: 12px;
  }

  .click-layer {
    height: 80%;
  }
}

/*------------公開情報----------------*/

#p_information h1 {
  border-bottom: 2px solid #c30d23;
  text-align: center;
  padding-bottom: 10px;
}

/*------------事業内容----------------*/

#business h1 {
  font-size: 2em;
}

#business .container-inner {
  background-image: url("images/business/shiga.gif");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: contain;
}

.red_dot {
  border-bottom: 5px dotted #c30d23;
}

.business_cards {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.card {
  position: relative;
  /*background-image:
linear-gradient(#ffffff 35%, #969797),
url("images/business/bs_bt01.jpg");*/
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
  aspect-ratio: 4 / 2.75;
  border-radius: 6px;
  overflow: hidden;
}

.card a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  position: relative;
  color: inherit;
}

.card p {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10%;
  margin: 0;
  color: #fff;
  font-size: 1.35em;
  line-height: 1.2em;
  text-align: center;
  font-weight: bold;
  text-shadow: 0 2px 4px rgba(0, 0, 0, .80);
  white-space: nowrap;
  pointer-events: none;
  z-index: 999;
}

.card a::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #c30d23;
  mix-blend-mode: multiply;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.card a:hover::after {
  opacity: 0.2;
}

.business_cards .c01 {
  background-image:
    linear-gradient(#ffffff 35%, #969797),
    url("images/business/bs_bt01.jpg");
}

.business_cards .c02 {
  background-image:
    linear-gradient(#ffffff 35%, #969797),
    url("images/business/bs_bt02.jpg");
}

.business_cards .c03 {
  background-image:
    linear-gradient(#ffffff 15%, #8c8c8c),
    url("images/business/bs_bt03.jpg");
}

.business_cards .c04 {
  background-image:
    linear-gradient(#ffffff 35%, #969797),
    url("images/business/bs_bt04.jpg");
}

.business_cards .c05 {
  background-image:
    linear-gradient(#ffffff 35%, #969797),
    url("images/business/bs_bt05.jpg");
}

.business_cards .c06 {
  background-image:
    linear-gradient(#ffffff 35%, #969797),
    url("images/business/bs_bt06.jpg");
}

.business_cards .c07 {
  background-image:
    linear-gradient(#ffffff 35%, #969797),
    url("images/business/bs_bt07.jpg");
}

.business_cards .c08 {
  background-image:
    linear-gradient(#ffffff 35%, #969797),
    url("images/business/bs_bt08.jpg");
}

.c01:hover {
  background-image: url("images/business/bs_bt01.jpg");
}

.c02:hover {
  background-image: url("images/business/bs_bt02.jpg");
}

.c03:hover {
  background-image: url("images/business/bs_bt03.jpg");
}

.c04:hover {
  background-image: url("images/business/bs_bt04.jpg");
}

.c05:hover {
  background-image: url("images/business/bs_bt05.jpg");
}

.c06:hover {
  background-image: url("images/business/bs_bt06.jpg");
}

.c07:hover {
  background-image: url("images/business/bs_bt07.jpg");
}

.c08:hover {
  background-image: url("images/business/bs_bt08.jpg");
}

@media (max-width: 920px) {
  .business_cards {
    width: 100%;
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 820px) {
  .business_cards {
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 520px) {
  .card p {
    font-size: 1em;
  }
}

.bs_col01 {
  width: 40%
}

.bs_col02 {
  width: 55%
}

#business h3 {
  font-size: 1.9em;
  line-height: 2em;
  color: #4c4848;
  margin-bottom: 40px;
}

#business h3::before {
  content: "";
  display: inline-block;
  background-image: url('images/business/bs_icon.png');
  background-size: cover;
  background-repeat: no-repeat;
  width: 32px;
  height: 48px;
  margin-right: 12px;
  position: relative;
  top: 10px;
}

@media only screen and (max-width:768px) {
  .bs_col01 {
    width: 100%;
    order: 1;
  }

  .bs_col02 {
    width: 100%;
    order: 2;
  }

  #business h3 {
    font-size: 1.3em;
    margin-bottom: 10px;
  }

  #business h3::before {
    width: 20px;
    height: 30px;
    top: 7px;
  }

  .bs_col p {
    font-size: 1em;
  }
}

/*------------ABOUT US----------------*/
#aboutus .flexColC img {
  vertical-align: top;
  border: 1px solid #fff;
}

table.company_table {
  width: 100%;
  line-height: 2em;
}

.company_table th {
  width: 15%;
  border-top: 1px solid #9fa0a0;
  border-right: none;
  border-left: none;
  text-align: left;
  padding-left: 12px;
}

.company_table td {
  border-top: 1px solid #9fa0a0;
  padding: 15px 0 15px 12px;
}

.company_table td.last_col,
.company_table th.last_col {
  border-bottom: 1px solid #9fa0a0;
}

.business_cont02 {
  margin-top: 20px;
}

.history-list th {
  width: 125px;
  border-top: none;
  padding: 0 12px 0 0;
  font-weight: 400;
  vertical-align: top;
}

.history-list td {
  border-top: none;
  padding: 0;
}

@media only screen and (min-width:769px) {
  .company_table td .business_cont01 {
    width: 80%;
  }

  .company_table td .business_cont02 {
    width: 10%;
  }
}

@media only screen and (max-width:530px) {
  .company_table tr {
    display: flex;
    flex-direction: column;
  }

  .company_table th {
    width: 100%;
  }

  .company_table th.last_col {
    border-bottom: none;
  }

  .company_table td {
    line-height: 1.5em;
  }

  .history-list td {
    margin-bottom: 10px;
  }
}

.office_name {
  width: 25%
}

.company_link {
  width: 75%
}

@media only screen and (max-width: 1000px) {
  .office_name {
    width: 40%
  }

  .company_link {
    width: 60%
  }
}

@media only screen and (max-width: 768px) {
  .office_name {
    width: 100%
  }

  .company_link {
    width: 100%
  }
}

.company_link a {
  color: #c30d23;
  margin-left: 30px;
  border: 1px solid #c30d23;
  padding: 3px 15px;
  border-radius: 5px;
}

@media only screen and (max-width: 530px) {
  .company_link a {
    margin-left: 1em;
  }
}

td.office {
  line-height: 1.9em;
}

/*@media only screen and (max-width:480px){
.company_link a {margin-left: 0;}
}*/

h2.subtitle,
h3.subtitle {
  background-image: url("images/common/tit_back.png");
  background-repeat: no-repeat;
  background-position: 0% 50%;
  height: 37px;
  background-size: contain;
  position: relative;
  text-align: center;
}

.subtitle p {
  font-size: 1em;
  font-weight: 600;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.office_detail {
  background-color: #e2e1e6;
  padding: 25px 20px;
  margin-bottom: 30px;
}

.office_detail h3 {
  border-bottom: 6px solid #c30d23;
  padding-bottom: 5px;
  margin-bottom: 25px;
}

.office_detail p {
  margin: 30px 0;
}

@media only screen and (max-width: 530px) {
  p {
    letter-spacing: 0.08em;
  }
}

.map {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9*/
  height: 0;
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 99%;
}

@media only screen and (max-width:768px) {
  h2.subtitle {
    background-image: url("images/common/tit_backIp.png");
  }

  .subtitle p {
    font-size: 0.8em;
  }
}

@media only screen and (max-width:530px) {
  h2.subtitle {
    background-image: url("images/common/tit_backSp.png");
  }

  .subtitle p {
    font-size: 1em;
  }

  .office_detail p {
    line-height: 1.6em;
  }
}

/*------------スライダー 20260307変更----------------*/
.gradation_t {
  width: 100%;
  height: 25px;
  background: linear-gradient(to bottom, #cccccc, #fff);
}

.gradation_b {
  width: 100%;
  height: 25px;
  background: linear-gradient(to bottom, #fff, #cccccc);
}

/* スライダー全体 */
.slider-wrapper {
  display: flex;
  overflow: hidden;
}

/* スライド3枚のグループ */
.slider {
  animation: scroll-left 100s infinite linear .5s both;
  display: flex;
  align-items: center;
}

.sliderB {
  animation: scroll-left 50s infinite linear .5s both;
  display: flex;
  align-items: center;
}

/* スクロールで表示されたら開始（対応ブラウザのみ） */
@supports (timeline-trigger-name: --t) and (animation-trigger: --t play-forwards pause) {
  .slider-wrapper {
    timeline-trigger:
      --wk-slider view() entry 100% exit 0%;
    trigger-scope: --wk-slider;
  }

  .slider,
  .sliderB {
    animation-trigger: --wk-slider play-forwards pause;
  }
}

/* スライド */
.slide,
.slideB {
  width: calc(100vw / 6);
  /* スライドの枚数 */
}

/* スライドの画像 */
.slide img {
  display: block;
  width: 80%;
}

.slideB img {
  display: block;
  width: 100%;
}

li.slide {
  margin-right: 60px;
}

li.slideB {
  margin-right: 0;
}

/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

@media only screen and (max-width:920px) {

  .gradation_t,
  .gradation_b {
    height: 60px;
  }

  .slide img {
    width: 100%;
  }
}

@media only screen and (max-width:530px) {

  .gradation_t,
  .gradation_b {
    height: 30px;
  }

  .slide {
    width: calc(100vw / 3);
  }
}

/*------------スライダー 20260307変更ここまで----------------*/


/*----------------------------
contact
----------------------------*/

/* お問い合わせkintone */
.inquiry-form {
  position: relative;
  padding: 2em 0;
}

.inquiry-form::before {
  position: absolute;
  content: "■ お問合せフォーム";
  top: 20px;
  display: block;
  background: #c30d23;
  border-radius: 0 40px 40px 0;
  font-size: 1.3em;
  color: #fff;
  padding: 0.4em 1em;
  font-weight: 700;
  width: 50%;
}

@media only screen and (max-width:920px) {
  .inquiry-form::before {
    width: 80%;
  }
}

/* reCAPTCHA */
/*-----
.fixity .contact-privacy{
text-align:center;
font-size:12px
}
.grecaptcha-badge { visibility: hidden; }--/

/* 登録・就業中の方members */
.members-sec-bt-group {
  justify-content: center;
  margin-bottom: 60px;
  padding: 0 10%;
  justify-content: space-between;
}

.members-sec-bt {
  width: 47%;
}

.members-sec-bt a {
  width: 100%;
  padding: 10px 45px;
  color: #ffffff;
  font-weight: 600;
  background-color: #c30d23;
  border-radius: 17px;
  transition: background .2s;
  display: inline-block;
  gap: .4em;
}

.members-sec-bt a:hover {
  background-color: #c30d23BF;
}

/*.members_sec_tit{
	background-image: url("images/common/tit_back_3.png");
	margin:0 auto 30px;
	padding: 35px 0;
	text-align:center;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	background-position: 0% 50%;
	color: #c30d23;
}*/
@media only screen and (max-width:768px) {

  /*.members_sec_tit {background-image: url("images/common/tit_backIp_3.png");}*/
  .members-sec-bt-group {
    padding: 0;
  }
}

@media only screen and (max-width:530px) {
  .members-sec-bt-group {
    margin-bottom: 20px;
  }

  .members-sec-bt {
    width: 48%;
  }

  .members-sec-bt a {
    padding: 8px 10px;
    border-radius: 13px;
    margin: auto;
    line-height: 1.2em;
  }

  /*.members_sec_tit {background-image: url("images/common/tit_backSp_3.png");}*/
  .members-sec-bt a {
    font-size: 0.8em;
  }
}

.members_sec_tit p {
  margin: 20px 0;
}

.col4 {
  width: 23%;
  margin-right: 2.666%;
}

.col4:nth-of-type(4n) {
  margin-right: 0;
}

#members_mi article,
#members_si article {
  justify-content: flex-start;
}

@media only screen and (max-width:768px) {
  .col4 {
    width: 48%;
    margin-right: 0;
  }

  .col4:nth-of-type(2n) {
    margin-right: 0;
  }

  .col4:last-child {
    margin-bottom: 0;
  }

  #members_mi article,
  #members_si article {
    justify-content: space-between;
  }
}

/*@media only screen and (max-width:520px){
.col4{width: 100%;}
}*/

.members_bt {
  background-color: #c30d23;
  margin-bottom: 30px;
}

.members_bt img {
  display: block;
}

.members_bt_text {
  color: #ffffff;
  padding-left: 10px;
  padding-right: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.members_bt_text p {
  margin-bottom: 0;
}

.members_bt_text::after {
  content: "";
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #ffffff;
  transform: translateX(0);
  transition: transform .2s ease;
}

.members_bt:hover .members_bt_text::after {
  transform: translateX(4px);
}

.ribbon-heading {
  background-image: url("images/common/tit_back_2.png");
  background-repeat: no-repeat;
  background-position: 0% 50%;
  height: 38px;
  background-size: contain;
  position: relative;
  text-align: center;
}

.ribbon-heading span {
  font-size: 1em;
  font-weight: 600;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

@media only screen and (max-width:768px) {
  .ribbon-heading {
    background-image: url("images/common/tit_backIp_2.png");
  }
}

@media only screen and (max-width:530px) {
  .ribbon-heading {
    background-image: url("images/common/tit_backSp_2.png");
  }
}

.post-list {
  width: min(720px, 92vw);
  margin: 0 auto 30px;
}

.post-list__item {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #e5e5e5;
  text-align: left;
}

.post-list__date {
  font-size: 14px;
  opacity: .8;
  white-space: nowrap;
}

.post-list__title {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.post-list__title:hover {
  text-decoration: underline;
}

@media (max-width: 530px) {
  .post-list__item {
    grid-template-columns: 1fr;
  }
}

.post-list a {
  line-height: 1.5em;
}

.category-members-information .d-flex,
.category-staff-information .d-flex {
  flex-direction: column;
}

.category-members-information .archive-post,
.category-staff-information .archive-post {
  width: 100%;
}

.category-members-information .post-thumbnail,
.category-staff-information .post-thumbnail {
  display: none;
}

/* TOPページではMEMBERS INFORMATIONカテゴリーのアイキャッチ画像を表示 */
.home .category-members-information .post-thumbnail {
  display: block;
}

/* privacy policy */

#policy {
  color: #666666;
}

#policy h1 {
  text-align: center;
  border-bottom: 3px solid #c30d23;
  padding-bottom: 20px;
}

#policy h3 {
  font-size: 1rem;
  font-weight: 400;
}

#policy ul li {
  list-style-type: disc;
  margin-left: 1.4em;
}

#policy ul li li {
  list-style-type: circle;
}

#policy ol li {
  position: relative;
  list-style-type: none;
  margin-left: 2.2em;
}

#policy ol li:before {
  position: absolute;
  right: calc(100% + 0.5rem);
  content: "("counter(list-item) ")";
}

.policy_sec_title {
  padding: 10px;
  border-left: 5px solid #c30d23;
  font-size: 1.2rem;
}

#policy address {
  font-style: normal;
}

.policy_date {
  text-align: end;
}

/*Sp行間*/
@media (max-width: 530px) {
  p {
    line-height: 1.5em;
  }

  .main_copy01,
  .main_copy02,
  .top_message p {
    line-height: 1.8em !important;
    font-size: 1em;
  }
}

/*フローティングボタン*/
.fab {
  background-image: url("images/common/bt_top.webp");
  background-size: contain;
  position: fixed;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom));
  z-index: 1000;
  aspect-ratio: 1 / 1;
  width: 90px;
  display: grid;
  place-items: center;
  transition: transform .15s, opacity .2s, box-shadow .2s;
  filter: drop-shadow(0 3px 9px rgba(0, 0, 0, .2));
}

@media (max-width: 530px) {
  .fab {
    width: 60px;
  }
}

.fab:hover {
  transform: translateY(-2px);
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, .2));
}

.fab:active {
  transform: translateY(0);
}

/* 移行中のみの設定 */
.category {
  display: none
}