@charset "UTF-8";
/* common.css */

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
img {line-height:0;vertical-align:top;}
main,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select,label{vertical-align:top}
input,textarea{font-family:inherit;font-size:inherit;outline:none;}
body * {box-sizing:border-box}

/*------------------------------------------------------------------------------------------------------------------------
elements, common
--------------------*/
html, body {
  height: 100%;
}
body {
  color: #000;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}
.c-montserrat { font-family: 'Montserrat', sans-serif;}
.c-mont-yu {
  font-family: 'Montserrat', "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, sans-serif;
  font-weight: 400;
}
a {
  text-decoration: none;
}
a.c-txt__link {
  color: #e50100;
  text-decoration: underline;
}
p + p:not(.c-mt0) { margin-top: 1em;}
#wrapper {
  position: relative;
  background: #fbfaf4;
  min-height: 100%;
}
#container {
  background: #fff;
}
#svgicon {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
}
svg { fill: currentColor;}
.c-heading01 {
  font-weight: 500;
}
@media (max-width: 768px) {
  /* #wrapper {
    padding-top: 20px;
  } */
  /* #container {
    margin: 0 auto 60px;
    width: 92vw;
  } */
  img {
    height: auto;
    max-width: 100%;
  }
  .pc { display: none;}
}
@media (min-width: 769px) {

  #wrapper {
    min-width: 1300px;
    padding-top: 60px;
  }
  #container {
    display: flex;
    margin: 0 auto 60px;
    /* width: 1295px; */
    width: 1200px;
  }
  .sp { display: none;}
}

@keyframes btnBg {
  45% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes btnColor {
  35% {
    color: #fff;
  }
  60% {
    color: #fff;
  }
  100% {
    color: #e50100;
  }
}

/*------------------------------------------------------------------------------------------------------------------------
side-contents
--------------------*/
.side-nav-list {
  border-top: 1px solid #c0c0c0;
}
.side-nav-list__item { border-bottom: 1px solid #c0c0c0;}
.side-nav a {
  position: relative;
  display: block;
  font-weight: bold;
}
.side-bnr-area__item {
  display: block;
}
.side-nav-list__item__icon {
  position: absolute;
  top: calc(50% - 7px);
  right: 5.5vw;
  color: #E50100;
  display: block;
  transition: .2s linear;
}
.side-nav-list__item__icon--btm {
  transform: rotate(90deg) translateY(4px);
}
.sub-nav-list__item {
  border-top: 1px solid #c0c0c0;
  line-height: 1;
}
.sub-nav-list__item > a {
  font-weight: normal !important;
}
.sub-nav-list__item > a::after {
  position: absolute;
  top: calc(50% - 4px);
  right: 5.5vw;
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #959595;
}

/* bnr -------------------------------------------------------------------------------- */
.side-bnr-area__bnr {
  /* background: #efefef; */
  background: #F2F2F2 ;
  border-bottom: 1px solid #E50100;
  color: #000;
  display: flex;
  font-weight: bold;
  justify-content: space-between;
  line-height: 1.3;
  margin-top: 30px;
  padding: 18px;
  transition: background-color .3s linear;
}
.bnr__icon { padding-left: 10px;}

.side-user-area {
  background: #f2f2f2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1;
  height: 150px;
}
.side-logout a {
  color: #000;
  text-decoration: underline;
}
@media (max-width: 768px) {
  .side-contents {
    padding-top: 20px;
  }
  .side-bnr-area__bnr {
    margin-left: auto;
    margin-right: auto;
    width: 90vw;
  }

  .side-contents__logo { margin-left: 4vw;}
  .side-contents__logo img {
    height: 30px;
    width: auto;
  }
  .side-contents__heading {
    padding: 1em 4vw;
  }
  #nav-btn {
    position: fixed;
    top: 0;
    right: 0;
    background: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    width: 50px;
    z-index: 5;
  }
  .nav-btn-inner {
    position: relative;
    height: 20px;
    width: 20px;
  }
  .nav-btn-inner span {
    position: absolute;
    top: 2px;
    left: 0;
    background: #fff;
    border-radius: 1px;
    display: inline-block;
    height: 2px;
    transition: all 0.4s ease;
    width: 100%;
  }
  .nav-btn-inner span:nth-of-type(2) { top: 10px}
  .nav-btn-inner span:nth-of-type(3) { top: 18px}
  .nav-btn-inner.act span:nth-of-type(1) { transform: translateY(8px) rotate(45deg);}
  .nav-btn-inner.act span:nth-of-type(2) { opacity: 0;}
  .nav-btn-inner.act span:nth-of-type(3) { transform: translateY(-8px) rotate(-45deg);}
  #side-block {
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    display: none;
    overflow: auto;
    height: 100vh;
    padding-top: 50px;
    width: 100%;
    z-index: 4;
  }
  .side-contents__logo.side-nav__logo {
    position: absolute;
    top: 10px;
    left: 4vw;
    margin-left: 0;
  }
  .side-nav-list__item > a {
    color: #000;
    padding: 1.6em 4vw;
  }
  .sub-nav-list {
    display: none;
  }
  .side-nav-open a.act .side-nav-list__item__icon--btm {
    transform: rotate(0deg) translateY(0);
  }
  .sub-nav-list__item > a {
    background: #efefef;
    color: #000;
    font-size: 13px;
    padding: 18px 4vw 18px calc(4vw + 14px);
  }

  /* bnr -------------------------------------------------------------------------------- */
  .side-bnr-area { padding-bottom: 30px;}
  .side-bnr-area__item {
    margin: 25px auto 0;
    width: 80%;
  }
  .side-bnr-area__item img {
    width: 100%;
  }

}
@media (min-width: 769px) {
  #nav-btn { display: none;}
  .side-contents {
    width: 300px;
  }
  .side-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 55px 0 48px;
  }
  .side-contents__logo {
    /* margin: 33px 0 0 27px; */
  }
  .side-contents__heading {
    /* margin: 19px 0 50px 27px; */
    margin-top: 30px;
    text-align: center;
  }
  .side-nav-list__item > a {
    color: #787878;
    font-size: 16px;
    overflow: hidden;
    padding: 34px 27px;
    line-height: 1;
    transition: color .3s linear;
  }
  .side-nav-list__item > a.current {
    border-right: 2px solid #e50100;
    color: #000;
  }
  .side-nav-list__item__icon {
    right: 36px;
  }
  .side-nav-list__item > a:hover {
    color: #000;
  }
  .side-nav-list__item > a:hover .side-nav-list__item__icon {
    right: 24px;
  }
  .side-nav-open:hover > a { color: #000;}
  .side-nav-open:hover .side-nav-list__item__icon--btm {
    transform: rotate(0deg) translateY(0);
  }
  .sub-nav-list {
    overflow: hidden;
    height: 0;
    transition: .3s ease;
  }
  .sub-nav-list__item > a {
    background: #efefef;
    color: #000;
    font-size: 14px;
    padding: 21px 44px 21px 37px;
    transition: background-color .3s linear;
  }
  .sub-nav-list__item > a:hover { background-color: #dedede;}
  .sub-nav-list__item > a::after { right: 37px;}
  .side-nav-open:hover .sub-nav-list__info { height: 228px;}
  .side-nav-open:hover .sub-nav-list__consultation { height: 57px;}

  /* bnr -------------------------------------------------------------------------------- */
  .side-bnr-area {
    padding: 0 27px 30px;
  }
  .side-bnr-area__bnr:hover {
    background-color: #dedede;
  }
  .side-bnr-area__item {
    margin-top: 32px;
    width: 100%;
  }
  .side-bnr-area__item {
    height: auto;
    width: 100%;
  }
  .side-user-area {
    height: 200px;
    width: 300px;
  }
  .side-user-area a:hover { text-decoration: none;}
}

/*------------------------------------------------------------------------------------------------------------------------
main-contents
--------------------*/
.main-box {
  padding-bottom: 60px;
}
@media (max-width: 768px) {
  .contents-lead {
    padding: 0 4vw 20px;
  }
}
@media (min-width: 769px) {
  .main-contents {
    border-left: 1px solid #c0c0c0;
    padding-left: 74px;
    width: calc(100% - 300px);
  }
  .main-box {
    padding-bottom: 100px;
  }
}

/*------------------------------------------------------------------------------------------------------------------------
topics
--------------------*/
.topics__icon {
  color: #c3c3c3;
}
.topics__icon svg { vertical-align: top;}
.topics-nav-list {
  display: flex;
}
.topics-nav-list__item + .topics-nav-list__item { margin-left: 1em;}
.topics-nav-list__item a {
  background: #c3c3c3;
  border-radius: 18px;
  display: block;
  color: #fff;
  line-height: 1;
  height: 36px;
  padding: 11px 1em;
  text-align: center;
  white-space: nowrap;
}
.topics-nav-list__item a.current { background-color: #e50100;}

.topics-articles__item {
  color: #000;
  display: block;
}
.topics__date {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
}
.topics__cat {
  border: 1px solid #9e9e9e;
  color: #9e9e9e;
  border: 1px solid #787878;
  color: #787878;
  font-size: 10px;
  line-height: 20px;
  height: 22px;
  margin: 0 17px;
  text-align: center;
  width: 110px;
}
@media (max-width: 768px) {
  .topics-nav {
    padding: 20px 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .topics-nav-list {
    padding: 0 4vw;
  }
  .topics-nav-list::after {
    content: '';
    display: block;
    min-width: 4vw;
  }
  .topics-nav-list__item {
    flex-shrink: 0;
  }

  .topics-articles__item {
    position: relative;
    border-bottom: 1px solid #c0c0c0;
    padding: 1.2em calc(15px + 8vw) 1.2em 4vw;
  }
  .topics-articles__item > span { display: block;}
  .topics__date {
    float: left;
    line-height: 22px;
  }
  .topics__cat { float: left;}
  .topics__ttl {
    clear: both;
    padding-top: 10px;
  }
  .topics__icon {
    position: absolute;
    top: 50%;
    right: 4vw;
    transform: translateY(-50%);
  }
  .topics__icon svg {
    height: auto;
    width: 15px;
  }
}
@media (min-width: 769px) {
  .topics-nav {
    /* padding: 46px 0 16px; */
    padding: 46px 0;
  }
  .topics-nav-list__item + .topics-nav-list__item { margin-left: 28px;}
  .topics-nav-list__item a {
    background: #c3c3c3;
    border-radius: 20px;
    display: block;
    height: 40px;
    padding: 13px 0;
    transition: background-color .4s ease;
    width: 176px;
  }
  .topics-nav-list__item a:hover { background-color: #e50100;}

  .topics-articles__item {
    position: relative;
    border-bottom: 1px solid #c0c0c0;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 44px 55px 39px 0;
    width: 100%;
  }
  .topics-articles__item::after {
    position: absolute;
    top: 0;
    left: 0;
    background: #f3f3f3;
    content: '';
    display: block;
    height: 100%;
    transform: translateX(-100%);
    width: 100%;
    z-index: 0;
  }
  .topics-articles__item:hover::after {
    animation: btnBg 0.5s cubic-bezier(0.55,0.40,0.2,0.9) forwards;
  }
  .topics-articles__item > span {
    position: relative;
    z-index: 1;
  }
  .topics__date {
    flex-shrink: 0;
    width: 70px;
  }
  .topics__cat {
    flex-shrink: 0;
  }
  .topics__ttl {
    font-size: 18px;
    flex-shrink: 1;
    line-height: 1.54;
  }
  .topics__icon {
    flex-shrink: 0;
    margin-left: auto;
    padding-left: 1.5em;
  }
}

/*------------------------------------------------------------------------------------------------------------------------
footer
--------------------*/
#footer,
#footer a {
  color: #5a5a5a;
}
#footer {
  background: #f2f2f2;
}
#footer address {
  background: #000;
  border-top: 4px solid #e50100;
  color: #fff;
  font-style: normal;
  font-weight: 400;
  text-align: center;
}
.footer__ttl { font-weight: bold;}
.footer-links__txt a {
  display: flex;
}
.footer-links__icon { margin-left: 8px;}
@media (max-width: 768px) {
  .footer-contents {
    padding: 35px 4vw;
  }
  .footer-links { margin-top: 30px;}
  .footer-links__txt a { padding: 5px 0;}
  #footer address { padding: 8px 0;}
}
@media (min-width: 769px) {
  .footer-contents {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    padding: 85px 0 80px;
    width: 1200px;
  }
  .footer-links {
    text-align: right;
  }
  .footer-links a:hover { text-decoration: underline;}
  .footer-links__txt {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  #footer address {
    height: 46px;
    line-height: 42px
  }
}

/*------------------------------------------------------------------------------------------------------------------------
page-login
--------------------*/
input[type="text"],
input[type="password"],
input[type="submit"],
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  transition: background-color .4s ease;
}
input[type="submit"],
button { cursor: pointer;}
input[type="text"],
input[type="password"] {
  border: 1px solid #c3c3c3;
  font-size: 16px;
  padding: 15px;
}
span + input,
.swpm-text-field {
  margin-top: 10px;
  width: 100%;
}
input[type="checkbox"] { display: none;}
input[type="checkbox"] + span {
  position: relative;
  padding-left: 25px;
}
input[type="checkbox"] + span::before {
  position: absolute;
  top: 0;
  left: 0;
  background: #f7f7f7;
  content: '';
  display: block;
  width: 16px;
  height: 16px;
}
input[type="checkbox"]:checked + span::after {
  position: absolute;
  top: -4px;
  left: 4px;
  content: "";
  display: block;
  width: 6px;
  height: 12px;
  transform: rotate(40deg);
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
}
.page-login label { display: flex;}
.page-login label span,
.swpm-remember-me { font-size: 12px;}
.page-login button,
.swpm-login-form-submit {
  border: none;
  background: #000;
  color: #fff;
  display: block;
  height: 45px;
  margin-top: 20px;
  width: 80%;
}

.login-label01 {
  flex-direction: column;
}
.swpm-join-us-link { display: none;}
.login_note,
.swpm-forgot-pass-link {
  font-size: 12px;
  margin-top: 22px;
}
.login_note a,
.swpm-forgot-pass-link a {
  color: #000;
  text-decoration: underline;
}

.page-login #footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.swpm-login-widget-action-msg {
  color: #E50100;
  font-weight: bold;
}
@media (max-width: 768px) {
  input[type="text"],
  input[type="password"] {
    padding: 10px;
  }
  .page-login {
    background: #fff !important;
    padding-bottom: 46px;
  }
  .login-header {
    padding: 15px 4vw;
  }
  .login__heaidng { margin-top: 15px;}
  .login-form,
  .swpm-login-form-inner {
    padding: 0 4vw 60px;
  }
  .login-contents label,
  .swpm-remember-me {
    margin-top: 20px;
  }
  .swpm-remember-checkbox {
    display: flex;
    justify-content: center;
  }
  .login-label02 { justify-content: center;}
  .page-login button,
  .swpm-login-form-submit {
    margin-left: auto;
    margin-right: auto;
  }
  .login_note,
  .swpm-forgot-pass-link { text-align: center;}
}
@media (min-width: 769px) {
  .page-login {
    min-height: 100%;
    padding-bottom: 46px;
  }
  .page-login #container {
    padding: 90px 0;
  }
  .login-header {
    display: flex;
    align-items: center;
  }
  .login__heaidng { margin-left: 23px;}
  .login-contents {
    margin: 0 auto;
    width: 598px;
  }
  .login-contents label,
  .swpm-remember-me {
    margin-top: 40px;
  }
  .swpm-label,
  .login-label01 span {
    font-size: 14px !important;
    font-weight: bold;
  }

  .login_note a:hover,
  .swpm-forgot-pass-link a:hover { text-decoration: none;}
  input[type="text"],
  input[type="password"] {
    padding: 15px;
    transition: border-color .5s ease;
  }
  input[type="text"]:focus,
  input[type="password"]:focus { border-color: #e50100;}
  .page-login button,
  .swpm-login-form-submit {
    font-size: 17px;
    width: 190px;
  }
  .page-login button:hover,
  .swpm-login-form-submit:hover {
    background: #e50100;
  }

}

/*------------------------------------------------------------------------------------------------------------------------
btn
--------------------*/
.top__btn {
  border: 1px solid #e50100;
  color: #e50100;
  height: 50px;
  margin: 40px auto 0;
  display: block;
  overflow: hidden;
  width: 80%;
}
.top__btn span {
  display: block;
  height: 48px;
  line-height: 48px;
  overflow: hidden;
  text-align: center;
}
@media (max-width: 768px) {

}
@media (min-width: 769px) {
  .top__btn {
    position: relative;
    height: 66px;
    margin: 65px auto 0;
    transform: translateX(-37px);
    transition: opacity .1s linear .4s;
    width: 290px;
  }
  .page-content .top__btn { transform: translateX(0);}
  .top__btn span {
    position: relative;
    height: 64px;
    line-height: 64px;
    z-index: 1;
  }
  .top__btn::after {
    position: absolute;
    top: 0;
    left: 0;
    background: #e50100;
    content: '';
    display: block;
    height: 100%;
    transform: translateX(-100%);
    width: 100%;
    z-index: 0;
  }
  .top__btn:hover span {
    animation: btnColor 0.5s cubic-bezier(0.55,0.40,0.2,0.9) forwards;
  }
  .top__btn:hover::after {
    animation: btnBg 0.5s cubic-bezier(0.55,0.40,0.2,0.9) forwards;
  }
}

/*------------------------------------------------------------------------------------------------------------------------
wp-pagenavi
--------------------*/
.wp-pagenavi {
  font-family: 'Montserrat', sans-serif;
  display: flex;
}
.wp-pagenavi > span,
.wp-pagenavi > a {
  border: 1px solid #787878;
  color: #787878;
  height: 2.5em;
  line-height: calc(2.5em - 2px);
  text-align: center;
  transition: .3s ease;
  width: 2.5em;
}
.wp-pagenavi > span.current,
.wp-pagenavi > a:hover {
  background: #e50100;
  border: 1px solid #e50100;
  color: #fff;
}
.wp-pagenavi > a.previouspostslink,
.wp-pagenavi > a.nextpostslink {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.wp-pagenavi > a.previouspostslink svg {
  transform: rotate(180deg) translateX(1px);
}
@media (max-width: 768px) {
  .wp-pagenavi {
    margin-top: 40px;
  }
}
@media (min-width: 769px) {
  .wp-pagenavi {
    justify-content: center;
    margin-top: 80px;
    padding-right: 74px;
  }
  .wp-pagenavi > * + * {
    margin-left: 1.2em;
  }
}

/*------------------------------------------------------------------------------------------------------------------------
.page-help
--------------------*/
@media (max-width: 768px) {
  .page-help .topics-articles {
    margin: 20px -4vw 0;
  }
}
@media (min-width: 769px) {

}
