@charset "utf-8";



#main_box { line-height: 2.0; }



/* side_menu ----------------- */

li.btn110 {

  background-color: rgb(218,218,218);

  border-bottom-color: rgb(204,204,204) !important;

}

li.btn110 > a {

  pointer-events:none;

  cursor: auto;

}

#side_box .side_menu .menu_grp_c > li.btn110 > a::after {

  display: none;

}





/* contents ---- */



.box01 .linkbox_gray::after {

  transform: translate3d(0, -50%, 0) rotate(90deg);

}



.box02 {

  

}

.box02 .contents_box {

  position: relative;

  padding-bottom: 48px;

}

.box02 .contents_box > .explain {

  width: calc(100% - 290px);

  margin-right: 0;

  margin-left: auto;

  border: 4px rgb(247,175,13) solid;

  border-radius: 16px;

  padding: 16px 16px 16px 40px;

  background-color: rgb(252,222,152);

}

.box02 .contents_box > .explain .title {

  font-weight: 700;

  line-height: 1.4;

  transform: matrix(1, 0, -0.218, 1, 0, 0);

}

.box02 .contents_box > .explain > ul {

  position: relative;

  background-color: rgb(255,255,255);

  border-radius: 8px;

  padding: 24px 16px 16px 56px;

}

.box02 .contents_box > .explain > ul > li:first-child {

  display: block;

  position: absolute;

  top: 0;

  left: 0;

  padding-right: 4px;

  padding-left: 4px;

  border-radius: 4px;

  background-color: rgb(247,175,13);

  color: rgb(255,255,255);

  font-weight: 700;

  transform: rotate(-20deg);

}

.box02 .contents_box > .explain > ul > li:first-child::before {

  position: absolute;

  display: block;

  left: 50%;

  bottom: -11px;

  border-radius: 0;

  border-top: 12px rgb(247,175,13) solid;

  border-right: 12px transparent solid;

  border-left: 12px transparent solid;

  transform: translate3d(-50%, 0, 0);

  content: '';

}

.box02 .contents_box > .explain > ul > li:not(:first-child) {

  position: relative;

  margin-top: 16px;

  line-height: 1.4;

}

.box02 .contents_box > .explain > ul > li:not(:first-child)::before {

  display: block;

  position: absolute;

  left: -23px;

  width: 16px;

  top: 7px;

  height: 8px;

  border: 3px rgb(41, 183, 58) solid;

  border-top-style: none;

  border-right-style: none;

  transform: rotate(-45deg);

  content: '';

}

.box02 .contents_box > .image {

  display: block;

  position: absolute;

  top: -24px;

  left: 0;

  width: 320px;

  border-radius: 8px;

  border: 4px rgb(247,175,13) solid;

  background-color: rgb(255,255,255);

  box-shadow: 3px 3px rgba(128,128,128,.5);

}

.box02 .contents_box > .image:hover {

  top: -22px;

  left: 2px;

  box-shadow: 1px 1px rgba(128,128,128,.7);

}

.box02 .contents_box > .image > a {

  display: flex;

  justify-content: center;

  flex-direction: column;

  align-items: center;

  width: 100%;

  padding-right: 6px;

  padding-bottom: 16px;

  padding-left: 6px;

}

.box02 .contents_box > .image > a > .title {

  font-weight: 700;

  text-align: center;

  line-height: 1.5;

}

.box02 .contents_box > .image > a > .title > span {

  font-weight: 400;

}

.box02 .contents_box > .image > a > .caption {

  display: block;

  text-align: center;

  padding: 12px 0 4px;

}

.box02 .contents_box > .image > a > .caption ._el {

  padding-right: 16px;

}

.box02 .contents_box > .image > a > .caption ._el::after {

  right: 1px;

}





@media screen and (max-width:767px) {

  .box02 .contents_box {

    display: flex;

    flex-direction: column-reverse;

  }

  .box02 .contents_box > .image {

    position: relative;

    width: 100%;

    max-width: 340px;

    margin-top: 0;

  }

  .box02 .contents_box > .explain {

    width: 100%;

    padding: 16px;

  }

}



