
section nav ul li a::after{
  content: unset;
}

section {
  display: -webkit-flex;
  display: flex;
  min-height: calc(100vh - 160px);
}

section nav {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: #fff;
  max-width: 240px;
  min-width: 240px;
  border-right: 1px solid #ebeaeb;
}

section nav ul {
  list-style-type: none;
}

section.wide_mode nav {
  display: none;
}

article {
  width: 100%;
  color: #111111;
  padding: 80px 40px 40px;
  -webkit-flex: 3;
  -ms-flex: 3;
  flex: 3;
  background-color: #fff;
  max-width: 1440px;
  margin: 0px auto;
}

article section {
  display: block;
  min-height: 0px;
  margin-bottom: 80px;
}

article h1 {
  margin: 0 0 40px 0;
  font-size: 32px;
  line-height: 1.54;
  font-weight: bold;
}

article h2 {
  margin: 0 0 16px 0;
  font-size: 28px;
  line-height: 1.55;
  font-weight: bold;
}

article h3 {
  margin: 0 0 16px 0;
  font-size: 24px;
  line-height: 1.53;
  font-weight: bold;
}

article h4 {
  margin: 0 0 16px 0;
  font-size: 20px;
  line-height: 1.75;
  font-weight: bold;
}

article h5 {
  margin: 0 0 16px 0;
  font-size: 20px;
  line-height: 1.7;
  font-weight: bold;
}

article p {
  margin: 0 0 16px 0;
  font-size: 16px;
  line-height: 1.75;
}

article p.sh {
  margin: 44px 0 40px 0;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
}

article p.p2 {
  margin: 40px 0 40px 0;
  font-size: 14px;
  line-height: 1.71;
}

article p.grey {
  margin: 40px 0 40px 0;
  font-size: 14px;
  line-height: 1.71;
}

article p.smallB {
  margin: 40px 0 40px 0;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.71;
}

/*----- updated --------*/

article ul, article ol {
  margin: 0 0 16px 20px;
}

article ul li, article ol li {
  font-size: 16px;
  line-height: 1.75;
  padding-left: 8px;
  margin-bottom: 8px;
}

/* アコーディオン */
.guide_menu {
  font-size: 14px;
  padding: 0 20px 50px 20px;
  margin-top: 70px;
  overflow-y: scroll;
  height: 430px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.guide_menu::-webkit-scrollbar{
  display:none;
}

.guide_menu .level_1:not(:first-of-type) {
  padding: 30px 0 0;
}

ul.guide_list {
  display: none;
  color: #888888;
  padding-left: 10px;
}

.guide_list .level_2 {
  padding-top: 25px;
}

.guide_list .level_2 a {
  color: #888;
}

.guide_list .level_2 a:hover {
  color: #2375d9;
  text-decoration: underline solid #2375d9;
}

.mob_only {
  display: none;
}

.guide_toggle_btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 17px;
  font-weight: bold;
}

.guide_toggle_btn .allow {
  width: 8px;
  height: 8px;
  margin-bottom: 1px;
  border-bottom: 2px solid #2375d9;
  border-right: 2px solid #2375d9;
  transform: rotate(45deg);
}

.guide_toggle_btn:hover .allow {
  border-bottom: 2px solid #154eb0;
  border-right: 2px solid #154eb0;
}

.guide_toggle_btn.active .allow {
  border: none;
  margin-top: 0;
  margin-top: 10px;
  border-top: 2px solid #2375d9;
  border-left: 2px solid #2375d9;

}

.guide_toggle_btn.active:hover .allow {
  border-top: 2px solid #154eb0;
  border-left: 2px solid #154eb0;
}

.guide_menu_mask {
  position: absolute;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* アコーディオンを閉じるボタン */
.guide_close {
  display: flex;
  justify-content: center;
  padding: 30px 0;
}

.guide_close_btn {
  display: flex;
  align-items: center;
  font-weight: bold;
}

.guide_close_btn .cross {
  display: inline-block;
  color: #2375d9;
  margin-left: 5px;
  margin-top: 1px;
  width: 1em;
  height: 2px;
  background: currentColor;
  position: relative;
  transform: rotate(45deg);
}

.guide_close_btn .cross::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  transform: rotate(90deg);
}

.guide_close_btn:hover .cross {
  color: #154eb0;
}

/* ガイドメニューを開くボタン */
.guide_menu_open_btn {
  position: relative;
  height: 20px;
  width: 28px;
  box-sizing: border-box;
}

.guide_menu_open_btn::after {
  content: "";
  display: block;
  position: absolute;
  width: 50px;
  height: 50px;
  top: -15px;
  left: -11px;
}

.guide_menu_open_btn div {
  position: absolute;
  left: 0;
  height: 2px;
  width: 28px;
  background-color: #000;
  border-radius: 2px;
  display: inline-block;
  box-sizing: border-box;
}

.guide_menu_open_btn div:nth-of-type(1) {
  bottom: 20px;
}
.guide_menu_open_btn div:nth-of-type(2) {
  bottom: 10px;
}
.guide_menu_open_btn div:nth-of-type(3) {
  bottom: 0;
}

/* ガイドメニューを閉じるボタン */
.guide_menu_wrapper .guide_menu_close_btn {
  color: #000;
  margin-left: 5px;
  margin-top: 3px;
  width: 25px;
  height: 2px;
  background: currentColor;
  position: relative;
  transform: rotate(45deg);
}

.guide_menu_wrapper .guide_menu_close_btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  transform: rotate(90deg);
}

.guide_menu_wrapper .guide_menu_close_btn::after {
  content: "";
  display: block;
  position: absolute;
  width: 50px;
  height: 50px;
  top: -24px;
  left: -12px;
  transform: rotate(45deg);
}

/* コラム */
.guide-column {
  margin: 1% -2% 0;
}
.column-text-align-center {
    text-align: center;
}
.column-link {
    color: #1155cc;
}

table {
  width: 100%;
  table-layout: auto;
  border-collapse: collapse;
}

tr, td {
  word-wrap: break-word;
  min-width: initial !important;
}

@media screen and (max-width: 1364px) {
  article {
    padding: 40px 40px 40px;
  }
  article h1 {
    font-size: 32px;
    font-weight: bold;
  }

  .guide_menu_wrapper {
    position: absolute;
    top: 0px;
    height: 100%;
    left: -220px;
    z-index: 2;
  }

  .guide_menu_open_btn.mob_only {
    display: block;
    position: absolute;
    top: 30px;
    left: 20px;
  }

  .guide_menu_close_btn.mob_only {
    display: block;
    position: absolute;
    top: 30px;
    left: 12px;
  }

  .guide_menu_mask.on {
    display: block;
  }

}

div.block,span.block {
  display: block;
  margin-bottom: 48px;
}

div.block.block--img {
  display: block;
  margin-bottom: 24px;
}

div.block img {
  max-width: 100%;
}

div.block.block--position--12 {
  position: relative;
}
.block--position__1 {
  position: absolute;
  top:87%;
  left:0;
  width: 43%;
}
.block--position__2 {
  position: absolute;
  top:49%;
  left:47%;
}
@media (max-width: 767px) {
  .block--position__1 {
    left:0;
    width: 107%;
  }
  .block--position__2 {
    left:117%;
    width: 140%;
  }
}

div.block.block--s {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 600px) {
  div.block.block--s {
    width: 100%;
  }
}

div.block.block--m {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 600px) {
  div.block.block--m {
    width: 100%;
  }
}

div.block:last-child ,
span.block:last-child {
  margin: 0px;
}

div.block.block--s {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 600px) {
  div.block.block--s {
    width: 100%;
  }
}

.g-pc-flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 40px;
}
.g-pc-flex--align-center{
  align-items: center;
}
.g-pc-flex img{
  width: 100%;
}

.g-pc-3col-item{
  width: calc((100% - 110px) / 3);
}
.g-pc-2col-item{
  width: calc((100% - 55px) / 2);
}
.g-pc-2col-item--31{
  width: calc((100% - 55px) * .31);
}
.g-pc-2col-item--35{
  width: calc((100% - 55px) * .35);
}
.g-pc-2col-item--65{
  width: calc((100% - 55px) * .65);
}
.g-pc-2col-item--40{
  width: calc((100% - 55px) * .4);
}
.g-pc-2col-item--60{
  width: calc((100% - 55px) * .6);
}
.g-pc-2col-item--69{
  width: calc((100% - 55px) * .69);
}
.g-pc-2col-item:nth-child(odd){
  position: relative;
}
.g-pc-3col-item:not(:nth-child(3n)){
  position: relative;
}

@media (max-width: 767px){
  .g-pc-flex{
    display: block;
  }
  .g-pc-2col-item{
    width: 100%;
  }
  .g-pc-2col-item:nth-child(odd){
    margin-bottom: 55px;
  }
  .g-pc-3col-item{
    width: 100%;
  }
  .g-pc-3col-item:not(:nth-child(3n)){
    margin-bottom: 55px;
  }
}

.g-mb-0{
  margin-bottom: 0 !important;
}
.g-mb-12 {
  margin-bottom: 12px !important;
}

/* roller */
@media (max-width: 575px) {
  .g-roller_holder {
    margin: 0 -20px;
  }
  .g-roller_holder .g-image_roller {
    padding: 0 20px;
    /* Hide scrollbar for IE, Edge add Firefox */
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  /* Hide scrollbar for Chrome, Safari and Opera */
  .g-roller_holder .g-image_roller::-webkit-scrollbar {
    display: none;
  }
  /* コラム */
  .guide-column {
    margin: 1% -10% 0 -5%;
  }
}
.g-image_roller {
  overflow: hidden ;
}
.g-image_roller .block img {
  max-width: 100%;
}
@media (max-width: 767px) {
  .g-image_roller {
    overflow-x: auto;
  }
  .g-image_roller .block img {
    max-width: 250%;
  }
  .g-image_roller .col-6 .block img{
    max-width: 100%;
  }
  .g-image_roller .col-8 .block img{
    max-width: 100%;
  }
  .g-image_roller .col-4 .block img{
    max-width: 100%;
  }
}
/*
.g-image_roller .g-text-2col {
  max-width: 100%;
}*/
@media (max-width: 767px) {
  .g-image_roller .g-text-2col {
    max-width: 250%;
  }
}
.g-image_roller .g-text-3col {
  max-width: 100%;
}
@media (max-width: 767px) {
  .g-image_roller .g-text-3col {
    max-width: 250%;
  }
}


.g-menu-wrapper{
  border: 1px dashed;
  padding: 30px 20px 30px 60px;
}
@media (max-width: 767px) {
  .g-menu-wrapper {
    padding: 30px 10px;
  }
}
.g-menu-item{
  display: flex;
  align-items: center;
  padding: 10px 0;
}
@media (max-width: 767px) {
  .g-menu-item {
    padding: 13px 0;
  }
}
.g-menu-image{
  flex-shrink: 0;
  width: 50px;
  height: 50px;
}
.g-menu-text{
  margin-left: 40px;
}
@media (max-width: 767px) {
  .g-menu-text{
    margin-left: 20px;
  }
}
