@charset "utf-8";

/*-------------------------------------*/
/* CLEARFIX */
/*-------------------------------------*/


.clear:after,
.inner:after
{
content:"";
display:block;
clear:both;
}

/*---------------------------------------*/

html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,br,hr,blockquote,th,td,label{    
margin:0;   
padding:0;   
}

fieldset,img,abbr,acronym{
border:0;
} 

img{
vertical-align:bottom;
} 

/*---------------------------------------*/
hr{
display:none;
}

/*---------------------------------------*/
ul{
list-style:none;   
}

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

tr,th,td{  
text-align:left;
vertical-align:top;
font-weight:normal;
}

caption{
text-align:left;
}

/*---------------------------------------*/
a img,:link img,:visited img{
border:none;
}

:link,:visited {
text-decoration:none;
}

q:before,q:after {
content:'';
}

address {
font-style:normal;
}

input:focus{
outline: none;
}

pre {
	white-space: pre-wrap ;
}





/*--
中 font-size:96%;
小 font-size:88%;
--*/

/* .enFont{
font-family: 'Lato',YakuHanJP_Narrow, "游ゴシック Medium", "Yu Gothic Medium","游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
font-weight:400;
} */
.enFont.light{
font-weight: 100;
}
/* .mainCoror100{
color:#435f77;
} */
.mainCoror75{
color:#728799;
}
.mainCoror50{
color:#777;
}
.mainCoror25{
color:#d0d7dd;
}
.mainCoror10{
color:#eceff1;
}
.mainbgCoror100{
background:#435f77;
color: #fff;
}
.mainbgCoror75{
background:#728799;
color: #fff;
}
.mainbgCoror50{
background:#a1afbb;
}
.mainbgCoror25{
background:#d0d7dd;
}
.mainbgCoror10{
background:#eceff1;
}
a.c_nav-bt{
background:#435f77;
}
.postPage .pageTtlOuter .pageTtl{
color:#d0d7dd;
}
#staff .staff-styleA .staffContent{
border-bottom: 1px dashed #a1afbb;
}
#post03 .post03CateContent li:nth-child(2){
border-bottom: 1px dashed #435f77;
}
a:link,
a:visited
{
color:#333333;
text-decoration:none;
transition: all 0.3s ease;
}
/* a:hover,
a:active
{
color:#435f77;
text-decoration:none;
} */
a.mainbgCoror100:link,
a.mainbgCoror100:visited{
color:#fff;
background:#435f77;
}
a.mainbgCoror100:hover,
a.mainbgCoror100:active
{
color:#435f77;
background:#eceff1;
}
a.mainbgCoror75:link,
a.mainbgCoror75:visited{
color:#fff;
background:#728799;
}
a.mainbgCoror75:hover,
a.mainbgCoror75:active
{
color:#435f77;
background:#eceff1;
}
a.mainbgCoror25:link,
a.mainbgCoror25:visited{
color:#435f77;
background:#d0d7dd;
}
a.mainbgCoror25:hover,
a.mainbgCoror25:active
{
color:#435f77;
background:#eceff1;
}
.hLinks li a:link,
.hLinks li a:visited
{
color:#435f77;
}
.hLinks li a:hover,
.hLinks li a:active
{
color:#333;
}
.fLinks li a:link,
.fLinks li a:visited
{
color:#435f77;
}
.fLinks li a:hover,
.fLinks li a:active
{
color:#333;
}
.accordion .inbox .subNavi li a:link,
.accordion .inbox .subNavi li a:visited
{
color:#435f77;
}
.accordion .inbox .subNavi li a:hover,
.accordion .inbox .subNavi li a:active
{
color:#333;
}
footer .fNavi li a:link,
footer .fNavi li a:visited
{
color:#5c5c5c;
}
footer .fNavi li a:hover,
footer .fNavi li a:active
{
color:#435f77;
}
.post02List li .cate a:link,
.post02List li .cate a:visited
{
color:#777;
}
.post02List li .cate a:hover,
.post02List li .cate a:active
{
color:#435f77;
}
.footerLinksArea .w50:last-child .bgimg:link,
.footerLinksArea .w50:last-child .bgimg:visited
{
color:#435f77;
}
.footerLinksArea .w50:last-child .bgimg:hover,
.footerLinksArea .w50:last-child .bgimg:active
{
color:#435f77;
}




/*---------------------------------------*/
/* base */
/*---------------------------------------*/

/*--
中 font-size:96%;
小 font-size:88%;
--*/
@import url('https://fonts.googleapis.com/css?family=EB+Garamond:400|Lato:400,100&display=swap');


/*---------------------------------------*/
/* header */
/*---------------------------------------*/
header {
  position: relative;
  padding: 10px 0 0;
  text-align: center;
}

header .hLinks {
  position: absolute;
  top: 10px;
  right: 5%;
}

header .hLinks ul li {
  float: left;
  margin-left: 2em;
  font-size: 86%;
}

header .hLinks ul.snsLink {
  position: relative;
  top: -3px;
}

header .hLinks ul li img {
  width: 16px;
  height: auto;
  transition: all 0.3s ease;
}

header .hLinks ul li a:hover img {
  opacity: 0.5;
}

header .logo {
  padding: 40px 0 0;
  margin: 0 auto 50px;
  max-width: 220px;
}

header .logo img {
  width: 100%;
  height: auto;
}

header .logo .none {
  display: none;
}

header .logo .logo-txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
}

header .hNavi {
  display: inline-block;
  margin-bottom: 2px;
}

header .hNavi li {
  float: left;
  margin: 0 2vw;
  font-size: 85%;
}

/*---------------------------------------*/
/* fixheader */
/*---------------------------------------*/
#fixheader {
  width: 100%;
  height: 80px;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}

@media screen and (max-width:767px) {
  #fixheader {
    height: 60px;
  }
}

#fixheader .logo {
  position: absolute;
  top: 45%;
  left: 2%;
  transform: translate(0, -50%);
  width: 263px;
}

@media screen and (max-width:767px) {
  #fixheader .logo {
    top: 26px;
    left: 20px;
    width: 200px;
  }
}

#fixheader .logo img {
  width: 100%;
  height: auto;
}

#fixheader .hLinks {
  position: absolute;
  top: 12px;
  right: 2%;
}

#fixheader .hLinks ul li {
  float: left;
  margin-left: 1.5em;
  font-size: 80%;
}

#fixheader .hLinks ul.snsLink {
  position: relative;
  top: -6px;
}

#fixheader .hLinks ul li img {
  width: 16px;
  height: auto;
  transition: all 0.3s ease;
}

#fixheader .hLinks ul li a:hover img {
  opacity: 0.5;
}

#fixheader .hNavi {
  position: absolute;
  top: 42px;
  right: 2%;
}

.spNavi {
  display: none;
}

@media screen and (max-width:1150px) {
  .hNavi {
    display: none;
  }

  .hLinks {
    display: none;
  }

  .spNavi {
    display: block;
  }
}

#fixheader .hNavi li {
  float: left;
  margin-left: 2em;
  font-size: 85%;
}

/*---------------------------------------*/
/* spNavi */
/*---------------------------------------*/
a.c_nav-bt {
  position: absolute;
  width: 80px;
  height: 80px;
  right: 0;
  top: 0;
  z-index: 10000;
  cursor: pointer;
}

@media screen and (max-width:767px) {
  a.c_nav-bt {
    width: 60px;
    height: 60px;
  }
}

#panel-btn-icon {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -7px;
  margin-top: -2px;
  width: 7px;
  height: 2px;
  background: #fff;
  transition: .2s;
  border-radius: 2px;
}

a.c_nav-bt:hover #panel-btn-icon {
  width: 10px;
}

a.c_nav-bt #panel-btn-icon.close {
  width: 14px;
  border-bottom: none;
}

#panel-btn-icon:before,
#panel-btn-icon:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  height: 2px;
  background: #fff;
  transition: .3s;
  border-radius: 2px;
}

#panel-btn-icon:before {
  margin-top: -8px;
  width: 8px;
}

a.c_nav-bt:hover #panel-btn-icon:before,
a.c_nav-bt #panel-btn-icon.close:before {
  width: 14px;
}

#panel-btn-icon:after {
  margin-top: 6px;
  width: 14px;
}

a.c_nav-bt:hover #panel-btn-icon:after {
  width: 7px;
}

a.c_nav-bt #panel-btn-icon.close:after {
  width: 14px;
}

#panel-btn .close {
  background: transparent;
}

#panel-btn .close:before,
#panel-btn .close:after {
  margin-top: 0;
}

#panel-btn .close:before {
  transform: rotate(-45deg);
}

#panel-btn .close:after {
  transform: rotate(-135deg);
}

div.accordion {
  overflow-y: scroll;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  width: 100%;
}

.accordion .inbox {
  background-color: #fff;
  width: 100%;
  height: auto;
  min-height: 100vh;
  overflow: hidden;
}

/* メニュースタイル*/
.hbMenuLogo {
  width: 224px;
  padding: 20px 20px 20px 2%;
}

.accordion .inbox .mainNavi li {
  margin-bottom: 24px;
  font-size: 18px;
}

@media screen and (max-width:767px) {
  .hbMenuLogo {
    width: 200px;
    padding: 14px 0 0 20px;
  }

  .accordion .inbox .mainNavi li {
    font-size: 14px;
    margin-bottom: 20px;
  }
}

.accordion .inbox .subNavi {
  border-top: 1px dashed #e2e2e2;
  padding-top: 32px;
}

.accordion .inbox .subNavi li {
  margin-bottom: 14px;
  font-size: 14px;
}

@media screen and (max-width:767px) {
  .accordion .inbox .subNavi li {
    font-size: 12px;
  }
}

.accordion .inbox .subLinks li {
  float: left;
  width: 16px;
  margin-right: 5px;
}

.accordion .inbox .subLinks li img {
  width: 100%;
  height: auto;
  transition: all 0.3s ease;
}

.accordion .inbox .subLinks li a:hover img {
  opacity: 0.5;
}

/* 新HBナビ */
.hbNav {
  width: 80%;
  max-width: 400px;
  margin: 104px auto 0;
}

.hbMainNav {
  box-sizing: border-box;
}

.hbMainNav::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #aaa;
  margin-top: 48px;
}

.hbMainNav_item {
  font-size: 14px;
  margin-top: 20px;
  line-height: 1.6;
  margin-left: 4px;
}

.hbSubNav {
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 0 4px;
  margin-top: 48px;
}

.hbSubNav_item {
  letter-spacing: .16em;
}

.hbSubNav_item+.hbSubNav_item {
  margin-top: 12px;
}

.hbNavInfo {
  position: relative;
  margin: 48px 0;
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.hbNavInfo::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 48px;
  height: 1px;
  background-color: #aaa;
}

.hbNavInfo_adress {
  color: #aaa;
}

.hbNavInfo_adress+.hbNavInfo_adress {
  margin-top: 8px;
}

.hbNavItem_sns {
  margin-top: 24px;
}

.hbNavSnsLink {
  display: flex;
  gap: 16px;
  margin-bottom: 4px;
}

.hbNavIcon {
  width: 16px;
}

@media screen and (max-width:767px) {
  .hbNav {
    margin-top: 64px;
  }
}

/*---------------------------------------*/
/* footerLinksArea */
/*---------------------------------------*/
.footerLinksArea .w100 {
  width: 100%;
}

.footerLinksArea .w50 {
  width: 50%;
  float: left;
}

.footerLinksArea a {
  display: block;
  position: relative;
  width: 100%;
  height: 400px;
}

@media screen and (max-width:980px) {
  .footerLinksArea a {
    height: 300px;
  }
}

@media screen and (max-width:767px) {
  .footerLinksArea .w100 a {
    height: 200px;
  }

  .footerLinksArea .w50 a {
    height: 100px;
  }
}

.footerLinksArea .bgimg {
  background: none !important;
}

.footerLinksArea .bg {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.footerLinksArea .bg:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

.footerLinksArea a:hover .bg:after {
  opacity: 0.5;
}

.footerLinksArea .w50:first-child .bg:after {
  background: #666;
}

.footerLinksArea .w50:last-child .bg:after {
  background: #fff;
}

.footerLinksArea .txtBox {
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.footerLinksArea .txtBox .icon {
  display: block;
  margin: 0 auto 15px;
  opacity: 0;
}

@media screen and (max-width:767px) {
  .footerLinksArea .txtBox .icon {
    margin: 0 auto 10px;
  }
}

.footerLinksArea .txtBox .icon .icon-mail {
  font-size: 28px;
}

@media screen and (max-width:767px) {
  .footerLinksArea .txtBox .icon .icon-mail {
    font-size: 20px;
  }
}

.footerLinksArea .txtBox .ttl {
  font-size: 160%;
  margin-bottom: 30px;
  display: block;
}

@media screen and (max-width:767px) {
  .footerLinksArea .txtBox .ttl {
    font-size: 11pt;
    margin-bottom: 0;
  }
}

.footerLinksArea .txtBox .note {
  display: block;
}

@media screen and (max-width:767px) {
  .footerLinksArea .txtBox .note {
    margin: 10px auto;
    white-space: nowrap;
    font-size: 8pt;
  }
}

.footerLinksArea .txtBox .more {
  display: block;
  margin: 30px auto 0;
  width: 200px;
  position: relative;
}

@media screen and (max-width:767px) {
  .footerLinksArea .txtBox .more {
    margin: 0 auto;
    width: 150px;
  }
}

.footerLinksArea .txtBox .icon-arrow {
  position: absolute;
  top: 9px;
  right: 20px;
  font-size: 10px;
}

@media screen and (max-width:767px) {
  .footerLinksArea .txtBox .icon-arrow {
    top: 7px;
  }
}

/*---------------------------------------*/
/* footer */
/*---------------------------------------*/
footer {
  padding: 65px 0 30px;
  text-align: center;
}

@media screen and (max-width:767px) {
  footer {
    padding: 30px 0 10px;
  }
}

footer .logo {
  max-width: 215px;
  margin: 55px auto 120px;
}

@media screen and (max-width:767px) {
  footer .logo {
    max-width: 160px;
    margin-bottom: 70px;
  }
}

footer .logo img {
  width: 100%;
  height: auto;
}

footer .fNavi {
  margin-bottom: 80px;
}

.footerNavList00 {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

footer .fNavi li {
  font-size: 93%;
}

@media screen and (max-width:980px) {
  footer .fNavi li {
    margin: 0 1vw;
  }
}

.infoOuter {
  position: relative;
}

@media screen and (max-width:980px) {
  .infoOuter {
    position: static;
  }
}

footer .info {
  color: #5c5c5c;
  font-size: 86%;
  text-align: left;
}

@media screen and (max-width:767px) {
  footer .info {
    font-size: 8pt;
  }
}

footer .info-cation {
  font-size: 80%;
  line-height: 1.45;
  margin: 2px 0 10px;
  opacity: 0.8;
}

footer .info-cation a {
  color: #435f77;
  text-decoration: underline;
}

footer .fLinks {
  width: fit-content;
  margin: 24px auto 20px;
}

@media screen and (max-width:980px) {
  footer .fLinks {
    top: 70px;
  }
}

footer .fLinks ul li {
  float: left;
  margin-left: 2em;
  font-size: 86%;
}

footer .fLinks ul.snsLink {
  position: relative;
  top: -3px;
}

footer .fLinks ul li img {
  width: 16px;
  height: auto;
  transition: all 0.3s ease;
}

footer .fLinks ul li a:hover img {
  opacity: 0.5;
}

footer .copyright {
  font-size: 71.4%;
  color: #a1a1a1;
  text-align: right;
  line-height: 1.5;
}

@media screen and (max-width:767px) {
  footer .copyright {
    font-size: 7pt;
    text-align: center;
    margin-top: 10px;
  }
}


/* 新フッター */
.footerIcon {
  width: 16px;
}

.footerNav {
  display: flex;
  justify-content: space-between;
  margin-bottom: 120px;
}

@media screen and (max-width:980px) {
  .footerNav {
    display: none;
  }
}

.footerMainNav {
  width: 30%;
  text-align-last: left;
  border-right: 1px solid #ccc;
}

.footerMainNav_item {
  position: relative;
  font-size: 16px;
  width: fit-content;
}

.footerMainNav_item+.footerMainNav_item {
  margin-top: 10px;
}

.footerSubNav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2em 1.5em;
  justify-content: space-between;
  width: 45%;
  max-width: 440px;
  font-size: 95%;
}

.footerNavList {
  text-align: left;
}

.footerNavList_item {
  position: relative;
  display: flex;
  align-items: center;
  width: fit-content;
}

.footerNavList_item::before {
  content: "";
  width: 6px;
  height: 2px;
  background-color: #bbb;
  margin-right: 4px;
}

.footerNavList_item+.footerNavList_item {
  margin-top: 10px;
}

.footerNavList_item a::after,
.footerMainNav_item a::after {
  position: absolute;
  bottom: 2px;
  left: 8px;
  content: '';
  width: calc(100% - 8px);
  height: 1px;
  background: #aaa;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .5s cubic-bezier(0, .94, .85, 1);
}

.footerMainNav_item a::after {
  width: 100%;
  left: 0;
}

.footerNavList_item a:hover::after,
.footerMainNav_item a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.footerSnsLink {
  margin-top: 8px;
  display: flex;
  gap: 16px;
}

.footer_address {
  margin-top: 8px;
}


/*---------------------------------------*/
/* 20260402_new-footer */
/*---------------------------------------*/
.footer {

}
.footer-wrap {
  width: min(80%,76.66em);
  margin: 0 auto;
}
.footer__nav {
  display: flex;
  justify-content: space-between;
  margin-bottom: 120px;
}
.footer__nav-left {
}
.footer__nav-border {
  content: "";
  width: 1px;
  height: auto;
  background-color: #ccc;
}
.footer__nav-right {
}
.footer__nav-right-wrap {
  display: flex;
  justify-content: space-between;
  gap: 8em;
}
.footer__nav-right__col__block:not(:first-child) {
  margin-top: 3.5em;
}
.footer__nav-right__col__block-list {
  margin-left: 1em;
}

@media (max-width: 767px) {
  .footer-wrap {
    width: 88%;
  }
  .footer__nav {
    flex-direction: column;
    gap: 2em;
    margin-bottom: 60px;
  }
  .footer__nav-border {
    width: auto;
    height: 1px;
  }
  .footer__nav-right-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3em;
  }
  .footer__nav-right__col__block:not(:first-child) {
    margin-top: 2em;
  }
  .footer__nav-right__col.footer__nav-right__col-last {
    grid-column: span 2;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3em;
  }

  .footer__nav-right__col-last .footer__nav-right__col__block:nth-child(2) {
    margin-top: 0;
  }
}

.footer__nav-left__list a,
.footer__nav-right__col__block-title a,
.footer__nav-right__col__block-list a {
  transition: opacity .3s ease;
}

.footer__nav-left__list a:hover,
.footer__nav-right__col__block-title a:hover,
.footer__nav-right__col__block-list a:hover {
  opacity: 0.6;
}


/*---------------------------------------*/
/* layout */
/*---------------------------------------*/
.blockLeft {
  float: left;
}

.blockRight {
  float: right;
}

.txtRight {
  text-align: right;
}

.txtCenter {
  text-align: center;
}








/*---------------------------------------*/
/* BASE 2026~ */
/*---------------------------------------*/


a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  color: #333;
  font-family: din-2014, "TsukuGoPr5-M", "FOT-筑紫ゴシック Pro M", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", YuGothic, 'Lato', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-size: clamp(0.813rem, 0.782rem + 0.13vw, 0.938rem);
  letter-spacing: 0.12em;
  line-height: 2.1;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

.block {
  display: block;
}

.ib {
  display: inline-block;
}

.mincho {
  font-family: "游明朝 Medium", "YuMincho Medium", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Meiryo, "Times New Roman", serif;
}

.contents-relative {
  position: relative;
  z-index: 1;
}

.pc {
  display: block !important;
}

.tab-pc {
  display: block !important;
}

.tab {
  display: none !important;
}

.sp-tab {
  display: none !important;
}

.sp {
  display: none !important;
}

@media screen and (max-width:980px) {
  .pc {
    display: none !important;
  }

  .tab {
    display: block !important;
  }

  .tab-pc {
    display: none !important;
  }

  .sp-tab {
    display: block !important;
  }
}

@media screen and (max-width:767px) {
  .tab {
    display: none !important;
  }

  .sp {
    display: block !important;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}


/* --------------- type --------------- */

/* ---- サイズ ---- */
.txt-18-25 {
  font-size: 1.6667em;
  letter-spacing: 0.18em;
  line-height: 1.9;
}

.txt-17-23 {
  font-size: 1.5334em;
  letter-spacing: 0.18em;
  line-height: 1.9;
}

.txt-16-21 {
  font-size: 1.4em;
  letter-spacing: 0.18em;
  line-height: 1.9;
}

.txt-15-19 {
  font-size: 1.2667em;
  letter-spacing: 0.12em;
}

.txt-14-17 {
  font-size: 1.1333em;
  letter-spacing: 0.12em;
}

.txt-11-13 {
  font-size: 0.8667em;
  letter-spacing: 0.12em;
}

.txt-10-11 {
  font-size: 0.7333em;
  letter-spacing: 0.12em;
}

@media (max-width:1023px) {
  .txt-18-25 {
    font-size: 1.3846em;
  }

  .txt-17-23 {
    font-size: 1.3077em;
  }

  .txt-16-21 {
    font-size: 1.2308em;
  }

  .txt-15-19 {
    font-size: 1.1538em;
  }

  .txt-14-17 {
    font-size: 1.0769em;
  }

  .txt-11-13 {
    font-size: 0.8462em;
  }

  .txt-10-11 {
    font-size: 0.7692em;
  }
}

/* ---- ウェイト ---- */
.text-bold {
  font-family: din-2014, "TsukuGoPro-B", "FOT-筑紫ゴシック Pro B";
  font-weight: 600;
}

.text-demi {
  font-family: din-2014, "TsukuGoPr5-D", "FOT-筑紫ゴシック Pro D";
  font-weight: 500;
}

.text-medium {
  font-family: din-2014, "TsukuGoPr5-M", "FOT-筑紫ゴシック Pro M";
  font-weight: 400;
}

/* ---- 字間 ---- */
.ls-0_2 {
  letter-spacing: 0.2em;
}

.ls-0_18 {
  letter-spacing: 0.18em;
}

.ls-0_16 {
  letter-spacing: 0.16em;
}

.ls-0_14 {
  letter-spacing: 0.14em;
}

.ls-0_12 {
  letter-spacing: 0.12em;
}

.ls-0_1 {
  letter-spacing: 0.1em;
}

/* ---- 行間 ---- */
.lh-1_9 {
  line-height: 1.9;
}

.lh-1_7 {
  line-height: 1.7;
}

.lh-1_5 {
  line-height: 1.5;
}

.lh-1_4 {
  line-height: 1.4;
}

/* その他 */
/* 大文字の英語はこれを適用 */
.en-upper {
  text-transform: uppercase;
}

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

.txt-left {
  text-align: left;
}

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

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


/* --------------- wrap --------------- */
.wrap-1080 {
  width: min(85%, 72em);
  margin: 0 auto;
}

.wrap-1024 {
  width: min(80%, 68.231em);
  margin: 0 auto;
}

.wrap-720 {
  width: min(66%, 48em);
  margin: 0 auto;
}

.wrap-660 {
  width: min(88%, 44em);
  margin: 0 auto;
}

@media (max-width:1023px) {
  .wrap-1024 {
    width: 90%;
  }
}

@media (max-width:767px) {
  .wrap-1080 {
    width: min(90%, 35.6em);
    margin: 0 auto;
  }

  .wrap-1024 {
    width: min(90%, 35.6em);
  }

  .wrap-720 {
    width: min(88%, 48em);
    margin: 0 auto;
  }

  .wrap-660 {
    width: min(90%, 44em);
    margin: 0 auto;
  }
}


/* --------------- space --------------- */

/* 375px~1920px */
/* セクション間の余白とかに使用 */
/* 96-240 */
.space-96-240 {
  padding-top: 16em;
}

.space-96-240-bottom {
  padding-bottom: 16em;
}

/* 80-200 */
.space-80-200 {
  padding-top: 13.3em;
}

.space-80-200-bottom {
  padding-bottom: 13.3em;
}

/* 64-160 */
.space-64-160 {
  padding-top: 10.7em;
}

.space-64-160-bottom {
  padding-bottom: 10.7em;
}

/* 48-120 */
.space-48-120 {
  padding-top: 8em;
}

.space-48-120-bottom {
  padding-bottom: 8em;
}

/* 40-100 */
.space-40-100 {
  padding-top: 6.6em;
}

.space-40-100-bottom {
  padding-bottom: 6.6em;
}

/* 34-80 */
.space-34-80 {
  padding-top: 5.3em;
}

.space-34-80-bottom {
  padding-bottom: 5.3em;
}

@media (max-width:1023px) {
  .space-96-240 {
    padding-top: 7.4em;
  }

  .space-96-240-bottom {
    padding-bottom: 7.4em;
  }

  .space-80-200 {
    padding-top: 6.2em;
  }

  .space-80-200-bottom {
    padding-bottom: 6.2em;
  }

  .space-64-160 {
    padding-top: 4.9em;
  }

  .space-64-160-bottom {
    padding-bottom: 4.9em;
  }

  .space-48-120 {
    padding-top: 3.7em;
  }

  .space-48-120-bottom {
    padding-bottom: 3.7em;
  }

  .space-40-100 {
    padding-top: 3.1em;
  }

  .space-40-100-bottom {
    padding-bottom: 3.1em;
  }

  .space-34-80 {
    padding-top: 2.6em;
  }

  .space-34-80-bottom {
    padding-bottom: 2.6em;
  }
}


/* ちょっとした文字周りの余白に使用 */
/* margin-top */
.mt-4 {
  margin-top: 4em;
}

.mt-3 {
  margin-top: 3em;
}

.mt-2_5 {
  margin-top: 2.5em;
}

.mt-2 {
  margin-top: 2em;
}

.mt-1_5 {
  margin-top: 1.5em;
}

.mt-1 {
  margin-top: 1em;
}

.mt-0_5 {
  margin-top: 0.5em;
}

@media (max-width: 767px) {
  .mt-4 {
    margin-top: 2.4em;
  }

  .mt-3 {
    margin-top: 1.9em;
  }

  .mt-2_5 {
    margin-top: 1.7em;
  }

  .mt-2 {
    margin-top: 1.3em;
  }

  .mt-1_5 {
    margin-top: 1em;
  }

  .mt-1 {
    margin-top: 0.8em;
  }

  .mt-0_5 {
    margin-top: 0.4em;
  }
}

/* margin-bottom */
.mb-3 {
  margin-bottom: 3em;
}

.mb-2_5 {
  margin-bottom: 2.5em;
}

.mb-2 {
  margin-bottom: 2em;
}

.mb-1_5 {
  margin-bottom: 1.5em;
}

.mb-1 {
  margin-bottom: 1em;
}

.mb-0_5 {
  margin-bottom: 0.5em;
}

@media (max-width: 767px) {
  .mb-3 {
    margin-bottom: 1.9em;
  }

  .mb-2_5 {
    margin-bottom: 1.7em;
  }

  .mb-2 {
    margin-bottom: 1.3em;
  }

  .mb-1_5 {
    margin-bottom: 1em;
  }

  .mb-1 {
    margin-bottom: 0.8em;
  }

  .mb-0_5 {
    margin-bottom: 0.4em;
  }
}

/* padding-top */
.pt-3 {
  padding-top: 3em;
}

.pt-2_5 {
  padding-top: 2.5em;
}

.pt-2 {
  padding-top: 2em;
}

.pt-1_5 {
  padding-top: 1.5em;
}

.pt-1 {
  padding-top: 1em;
}

.pt-0_5 {
  padding-top: 0.5em;
}

@media (max-width: 767px) {
  .pt-3 {
    padding-top: 1.9em;
  }

  .pt-2_5 {
    padding-top: 1.7em;
  }

  .pt-2 {
    padding-top: 1.3em;
  }

  .pt-1_5 {
    padding-top: 1em;
  }

  .pt-1 {
    padding-top: 0.8em;
  }

  .pt-0_5 {
    padding-top: 0.4em;
  }
}

/* padding-bottom */
.pb-3 {
  padding-bottom: 3em;
}

.pb-2_5 {
  padding-bottom: 2.5em;
}

.pb-2 {
  padding-bottom: 2em;
}

.pb-1_5 {
  padding-bottom: 1.5em;
}

.pb-1 {
  padding-bottom: 1em;
}

.pb-0_5 {
  padding-bottom: 0.5em;
}

@media (max-width: 767px) {
  .pb-3 {
    padding-bottom: 1.9em;
  }

  .pb-2_5 {
    padding-bottom: 1.7em;
  }

  .pb-2 {
    padding-bottom: 1.3em;
  }

  .pb-1_5 {
    padding-bottom: 1em;
  }

  .pb-1 {
    padding-bottom: 0.8em;
  }

  .pb-0_5 {
    padding-bottom: 0.4em;
  }
}


/* --------------- color --------------- */
/* bg */
.bg-white {
  background-color: #fff;
}

.bg-lightgray {
  background-color: #f7f7f7;
}

.bg-bluegray {
  background-color: #f2f4f7;
}

/* txt */
.txt-black,
.txt-black a {
  color: #333;
}

.txt-darkgray,
.txt-darkgray a {
  color: #666;
}