@charset "UTF-8";
body {
  min-width: 1024px; }

@media (max-width: 480px) {
  body {
    min-width: 375px; } }
/*max-width:480px*/
body {
  font-family: メイリオ,Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック', 'MS P Gothic',Osaka,Myriad Pro,Verdana,Arial, sans-serif;
  color: #4e4e4e;
  /*text-align: center;
  background-image : url(../img_common/body_bk.gif);
  background-repeat : repeat-x;*/
  padding-top: 0px;
  padding-left: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  margin-top: 0px;
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  background-position: center top; }

/*max-width:1280px*/
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  body {
    padding: 80px 0 0 0;
    position: relative; } }
/*max-width:480px*/
/*******************************************************************************/
h1, h2, h3, h4, h5, h6, p, form {
  margin: 0;
  padding: 0; }

img {
  border: 0; }

li, ul {
  list-style: none;
  margin: 0;
  padding: 0; }

a:link, a:visited {
  color: #15629f;
  text-decoration: none; }

a:hover, a:active {
  color: #178bff;
  text-decoration: underline; }

hr {
  visibility: hidden;
  clear: both;
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  empty-cells: show; }

.Clear {
  clear: both; }

.clearfix::after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  min-height: 1%;
  display: block; }

* html .clearfix {
  height: 1%; }

* html body, * + html body {
  padding-left: 1px; }

.Overflow {
  overflow: auto; }

.nowrap {
  white-space: nowrap; }

/*******************************************************************************/
/*font-family: 'M PLUS 1p', sans-serif;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
font-family: 'Zen Maru Gothic', sans-serif;*/
header {
  height: 90px;
  position: relative;
  left: 0;
  top: 0;
  border-bottom: 2px solid #C0C0C0; }

.header_box {
  max-width: 860px;
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start;
  padding: 10px 0; }
  .header_box h1 {
    color: #666666;
    font: 12px/1.0em 'M PLUS 1p', sans-serif;
    font-weight: 400; }
  .header_box a {
    color: #EE781F;
    font: 46px/1.0em 'Zen Maru Gothic', sans-serif;
    font-weight: 700; }
    .header_box a span {
      font: 16px/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 500;
      display: block;
      color: #303030;
      margin: 0 0 5px; }
    .header_box a:hover {
      text-decoration: none;
      opacity: 0.5; }
  .header_box .toggle {
    display: none; }

@media (max-width: 480px) {
  header {
    z-index: 9999;
    height: 60px;
    position: fixed;
    width: 100%;
    background-color: #fff;
    left: 0;
    top: 0;
    border-bottom: 1px solid #C0C0C0; }

  .header_box {
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
    padding: 0; }
    .header_box h1 {
      display: none; }
    .header_box a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      align-items: center;
      margin: 0 0 0 15px;
      font: 30px/1.0em 'Zen Maru Gothic', sans-serif;
      font-weight: 700; }
      .header_box a span {
        font: 15px/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 500;
        margin: 3px 8px 0 0; }
    .header_box .toggle {
      display: block;
      height: 60px;
      width: 70px;
      background-color: #EE781F;
      color: #fff;
      position: relative;
      text-align: center; }
      .header_box .toggle p {
        font: 14px/1.0em 'Zen Maru Gothic', sans-serif;
        font-weight: 500;
        line-height: 0.5em;
        position: absolute;
        top: 72%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        /* Safari用 */
        transform: translate(-50%, -50%); }
      .header_box .toggle span {
        transition: .3s;
        position: absolute;
        width: 40px;
        height: 2px;
        display: block;
        background-color: #fff;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        /* Safari用 */
        transform: translate(-50%, -50%); }
        .header_box .toggle span:nth-of-type(1) {
          top: 27%; }
        .header_box .toggle span:nth-of-type(2) {
          top: 45%; }
      .header_box .toggle.active span:nth-of-type(1) {
        left: 50%;
        top: 35%;
        -webkit-transform: translate(-50%, -50%) rotate(28deg);
        transform: translate(-50%, -50%) rotate(28deg); }
      .header_box .toggle.active span:nth-of-type(2) {
        left: 50%;
        top: 35%;
        -webkit-transform: translate(-50%, -50%) rotate(-28deg);
        transform: translate(-50%, -50%) rotate(-28deg); } }
/*max-width:480px*/
/*******************************************************************************/
nav {
  right: -100%;
  transition: .3s;
  position: fixed;
  z-index: 8888;
  background-color: #FFF8C7;
  width: 100%;
  height: 100vh;
  top: 60px;
  padding: 30px 20px 15%;
  box-sizing: border-box; }
  nav.active {
    right: 0; }
  nav .link_list {
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto 30px; }
    nav .link_list li {
      width: 100%;
      margin: 0 0 15px; }
      nav .link_list li a {
        text-decoration: none;
        background: linear-gradient(#fff, #FDE8D4);
        color: #654720;
        padding: 0 0 0 20px;
        box-sizing: border-box;
        display: block;
        width: 100%;
        height: 60px;
        border: 1px solid #F6B176;
        font: 18px/60px 'M PLUS 1p', sans-serif;
        font-weight: 500;
        border-radius: 10px;
        position: relative; }
        nav .link_list li a.current {
          background: linear-gradient(#FDE7D2, #F6B379); }
          nav .link_list li a.current:before {
            display: none; }
        nav .link_list li a:before {
          position: absolute;
          content: "";
          top: 44%;
          left: 90%;
          -webkit-transform: translate(-50%, -50%);
          /* Safari用 */
          transform: translate(-50%, -50%);
          width: 6px;
          height: 6px;
          border-top: 2px solid #AC9675;
          border-right: 2px solid #AC9675;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
  nav .sns_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 345px;
    margin: 0 auto; }
    nav .sns_list li {
      width: calc((100% - 10px)/2);
      max-width: 310px; }
    nav .sns_list a {
      box-sizing: border-box;
      display: block;
      width: 100%;
      height: 65px;
      text-align: left;
      border-radius: 10px;
      font: 15px/1.3em 'M PLUS 1p', sans-serif;
      font-weight: 700;
      position: relative; }
      nav .sns_list a span {
        font: 18px/1.0em 'M PLUS 1p', sans-serif;
        font-weight: 700; }
      nav .sns_list a:before {
        display: block;
        position: absolute;
        content: "";
        -webkit-transform: translate(-50%, -50%);
        /* Safari用 */
        transform: translate(-50%, -50%); }
      nav .sns_list a.facebook {
        padding: 12px 0 0 50px;
        color: #1877F2;
        border: 1px solid #5EA0F6;
        background: linear-gradient(#fff, #fff, #D1E4FC); }
        nav .sns_list a.facebook:before {
          background: url("../img_top/icon-facebook.svg") center center no-repeat;
          background-size: contain;
          width: 35px;
          height: 35px;
          top: 50%;
          left: 15%; }
      nav .sns_list a.line {
        padding: 12px 0 0 75px;
        border: 1px solid #51D888;
        color: #06C755;
        background: linear-gradient(#fff, #fff, #CDF4DD); }
        nav .sns_list a.line:before {
          background: url("../img_top/icon-line.svg") center center no-repeat;
          background-size: contain;
          width: 35px;
          height: 35px;
          top: 50%;
          left: 28%; }

/*******************************************************************************/
.main_left {
  width: 200px; }
  .main_left .link_list {
    width: 100%;
    margin: 0 auto 40px; }
    .main_left .link_list li {
      width: 100%;
      margin: 0 0 12px; }
      .main_left .link_list li a {
        text-decoration: none;
        background: linear-gradient(#fff, #FDE8D4);
        color: #654720;
        padding: 0 0 0 20px;
        box-sizing: border-box;
        display: block;
        width: 100%;
        height: 60px;
        border: 1px solid #F6B176;
        font: 18px/60px 'M PLUS 1p', sans-serif;
        font-weight: 500;
        border-radius: 10px;
        position: relative; }
        .main_left .link_list li a.current {
          background: linear-gradient(#FDE7D2, #F6B379); }
          .main_left .link_list li a.current:before {
            display: none; }
        .main_left .link_list li a:before {
          position: absolute;
          content: "";
          top: 44%;
          left: 90%;
          -webkit-transform: translate(-50%, -50%);
          /* Safari用 */
          transform: translate(-50%, -50%);
          width: 6px;
          height: 6px;
          border-top: 2px solid #AC9675;
          border-right: 2px solid #AC9675;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
  .main_left .banner_list li {
    line-height: 0;
    text-align: center;
    margin: 0 0 20px; }
    .main_left .banner_list li .kokoro {
      display: block;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      width: 200px;
      height: 90px;
      background: url("../img_banner/kokoro-2023.png") center center no-repeat; }
    .main_left .banner_list li .bnr_yy {
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      background: url("../img_banner/yy-2023.png") center center no-repeat;
      width: 200px;
      height: 90px;
      display: block; }

@media (hover: hover) {
  .main_left .link_list li a:hover {
    background: orange !important;
    color: #fff !important; }

  .banner_list li:hover {
    opacity: 0.5; } }
@media (max-width: 480px) {
  .main_left {
    width: 100%;
    order: 2; }
    .main_left .link_list {
      display: none; }
    .main_left .banner_list {
      width: 330px;
      margin: 0 auto; }
      .main_left .banner_list li {
        line-height: 0;
        text-align: center;
        margin: 0 auto 20px; }
        .main_left .banner_list li .ribbon {
          display: block;
          margin: 0 auto; }
        .main_left .banner_list li .kokoro {
          width: 330px;
          height: 120px;
          background: url("../img_banner/sp-kokoro-2023.png") center center no-repeat;
          background-size: contain; }
        .main_left .banner_list li .bnr_yy {
          background: url("../img_banner/sp-yy-2023.png") center center no-repeat;
          background-size: contain;
          width: 330px;
          height: 120px; }

  .main_right {
    order: 1; } }
/*max-width:480px*/
/*******************************************************************************/
main {
  overflow: hidden;
  clear: both;
  max-width: 860px;
  width: 100%;
  padding: 15px 0 0;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }

@media (max-width: 480px) {
  main {
    overflow: hidden;
    clear: both;
    max-width: 860px;
    width: 100%;
    padding: 15px 0 0;
    margin: 0 auto;
    flex-direction: column; } }
/*max-width:480px*/
/*******************************************************************************/
/*******************************************************************************/
#footer {
  height: 90px;
  right: auto;
  background-image: url(../img_common/footer_bk.gif);
  background-repeat: repeat-x;
  background-position: center top; }

#footerNaviarea {
  height: 28px;
  right: auto;
  margin-top: 20px;
  clear: both;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: #cccccc; }

#footerNevi {
  height: 90px;
  clear: both;
  right: auto;
  background-image: url(../img_common/footer_bk.gif);
  background-repeat: repeat-x;
  background-position: center top;
  margin-top: 20px; }

#TopBtn {
  width: 828px;
  height: 38px;
  text-align: left;
  clear: both;
  margin: 0 26px;
  padding: 0; }

#TopBtn li {
  height: 33px;
  float: right;
  vertical-align: bottom;
  display: inline;
  font-size: 0;
  overflow: hidden;
  margin: 0;
  padding: 0; }

#MainBtn {
  width: 650px;
  height: 57px;
  text-align: left;
  clear: both;
  display: block;
  margin: 0 auto 0 204px;
  padding: 0; }

#MainBtn li {
  height: 57px;
  float: left;
  vertical-align: bottom;
  display: inline;
  font-size: 0;
  overflow: hidden;
  margin: 0;
  padding: 0; }

#GlobalBtn {
  width: 656px;
  height: 37px;
  text-align: left;
  clear: both;
  display: block;
  margin: 9px auto 0 204px;
  padding: 0; }

#GlobalBtn li {
  height: 37px;
  float: left;
  vertical-align: bottom;
  display: inline;
  font-size: 0;
  overflow: hidden;
  margin: 0;
  padding: 0; }

#totop {
  width: 649px;
  clear: both;
  padding-top: 0;
  margin: 32px 0px 0px; }

#header h1 {
  font-size: 10px;
  color: #666;
  text-align: right;
  padding-left: .5em;
  font-weight: 400;
  height: 12px;
  line-height: 12px; }

#header_title {
  height: 75px;
  text-align: left; }

#header_title p {
  float: left; }

#TopBtn img {
  margin-top: 11px;
  margin-left: 6px; }

#GlobalBtn img {
  margin-right: 6px; }

#Copyright {
  font-size: .675em;
  font-family: Verdana;
  line-height: 3em; }

#footerNavi {
  padding-bottom: 0.75em;
  font-size: 12px;
  padding-top: 0.75em;
  margin-left: auto;
  margin-right: auto;
  width: 864px;
  right: auto; }

#footerDivRLi {
  padding-bottom: 1em;
  font-size: 12px;
  padding-top: 1em;
  margin-left: auto;
  margin-right: auto;
  width: 360px;
  right: auto; }

#footerDiv {
  padding-bottom: 24px;
  padding-top: 24px;
  margin-left: auto;
  margin-right: auto;
  width: 864px;
  right: auto; }

#footerNavi ul {
  text-align: left;
  margin: 0px auto 0px 0px;
  padding: 0px; }

#footerNavi li {
  padding-right: 5px;
  padding-left: 9px;
  border-left: 1px solid #333;
  display: inline; }

#footerNavi li a {
  color: #333;
  text-decoration: none; }

#footerNavi li a:hover {
  color: #eb613b;
  text-decoration: underline; }

#footerNavi li#end {
  border-right: 1px solid #333;
  border-left: 1px solid #333; }

#footerDivL {
  margin-left: 0px;
  margin-right: auto;
  width: 380px;
  float: left;
  right: auto;
  text-align: left; }

#footerDivR {
  margin-left: 0px;
  margin-right: auto;
  width: 380px;
  float: right;
  right: auto;
  text-align: right; }

#footerDivL address {
  font-size: 0.75em;
  font-weight: normal;
  line-height: 1.5em;
  font-style: normal; }
  #footerDivL address a {
    margin: 0 0 0 10px; }

#footerDivR address {
  font-size: 0.625em;
  font-weight: normal;
  line-height: 1.5em;
  font-style: normal;
  font-family: Verdana; }

#footerDivRLi li {
  padding-right: 5px;
  padding-left: 9px;
  border-left: 1px solid #333;
  display: inline; }

#footerDivRLi li a {
  color: #333;
  text-decoration: none; }

#footerDivRLi li a:hover {
  color: #eb613b;
  text-decoration: underline; }

#footerDivRLi li#end {
  border-right: 1px solid #333;
  border-left: 1px solid #333; }

@media (max-width: 480px) {
  #footer {
    height: auto;
    right: auto;
    background-image: none;
    border-top: 1px solid #ccc;
    box-sizing: border-box;
    padding: 0; }

  #footerNaviarea {
    display: none; }

  #Copyright {
    font-size: .675em;
    font-family: Verdana;
    line-height: 1em;
    width: 100%;
    display: block;
    text-align: center;
    box-sizing: border-box; }

  #footerDiv {
    padding-bottom: 30px;
    padding-top: 40px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    right: auto; }

  #footerDivL {
    margin-left: 0px;
    margin-right: auto;
    width: 100%;
    float: none;
    right: auto;
    text-align: center;
    color: #654720; }
    #footerDivL h2 {
      font: 22px/1.0em 'M PLUS 1p', sans-serif !important;
      font-weight: 500 !important;
      margin: 0 0 15px  !important; }

  #footerDivR {
    margin-left: 0px;
    margin-right: auto;
    width: 100%;
    float: none;
    right: auto;
    text-align: center;
    color: #654720; }

  #footerDivL address {
    font: 16px/1.0em 'M PLUS 1p', sans-serif !important;
    font-weight: 400 !important; }
    #footerDivL address a {
      font: 16px/45px 'M PLUS 1p', sans-serif !important;
      font-weight: 400 !important;
      text-decoration: none;
      display: block;
      text-align: center;
      color: #fff;
      background-color: #F18E38;
      width: 200px;
      margin: 25px auto 30px;
      border-radius: 50px;
      padding: 0 15px 0 0;
      box-sizing: border-box;
      position: relative; }
      #footerDivL address a:before {
        position: absolute;
        content: "→";
        display: block;
        right: 15px; }
      #footerDivL address a:after {
        display: none; } }
/*max-width:480px*/
#Wrap2_body {
  width: 649px;
  background-image: url(../img_common/main_bk.gif);
  background-repeat: repeat-y;
  background-position: center top; }

@media (max-width: 480px) {
  #Wrap2_body {
    margin: 0 auto 100px !important;
    zoom: 55%; } }
