@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :  common.css
 style info :  サイト全体共通css
=================================================================== */
/* fontsize YUI
10px = 77% 11px = 85% 12px = 93% 13px = 100%
14px = 108% 15px = 116% 16px = 123.1% 17px = 131%
18px = 138.5% 19px = 146.5% 20px = 153.9% 21px = 161.6%
22px = 167% 23px = 174% 24px = 182% 25px = 189% 26px = 197% */
/*----------------------------------------------------------------------------------
		 								body、リンク色etc
------------------------------------------------------------------------------------*/
/* pc sp */
@media only screen and (min-width: 770px) {
  .pc {
    display: block; }
  .sp {
    display: none !important; } }

@media only screen and (min-width: 770px) and (max-width: 1179px) {
  .pc {
    display: block; }
  .sp {
    display: none !important; } }

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

/* style */
.fw-b {
  font-weight: bold; }

.ta-c {
  text-align: center !important; }

.ta-l {
  text-align: left; }

.ta-r {
  text-align: right; }

/* 基本リンク色 */
a {
  text-decoration: none;
  cursor: pointer;
  color: #000;
  transition: all 0.5s ease; }

a:hover {
  opacity: 0.65;
  transition: all 0.5s ease; }

body {
  -webkit-font-smoothing: antialiased;
  color: #000;
  background-color: #fff;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 16px;
  font-weight: 400;
  overflow: hidden; }

main {
  padding-top: 97px;
  transform: rotate(0.05deg); }
  @media only screen and (max-width: 769px) {
    main {
      padding-top: 66px; } }
/*----------------------------------------------------------------------------------
		 								header 
------------------------------------------------------------------------------------*/
#header {
  box-sizing: border-box;
  z-index: 3;
  position: fixed;
  width: 100%;
  background-color: #fff;
  padding: 0 10px;
  transform: rotate(0.05deg); }
  #header .header_inner {
    position: relative;
    display: flex;
    align-items: center;
    height: 97px;
    max-width: 1285px;
    margin: 0 auto; }
    @media only screen and (max-width: 769px) {
      #header .header_inner {
        height: 66px; } }
  #header .header_logo {
    width: 120px; }
    @media only screen and (max-width: 769px) {
      #header .header_logo {
        width: 76px;
        margin-left: 12px; } }
    #header .header_logo img {
      width: 100%; }
  #header .header_menu {
    display: flex;
    justify-content: flex-end;
    width: calc(100% - 120px); }
  #header .archiveDetail_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 104px;
    height: 36px;
    color: #fff;
    background: url(../images/archive/left.svg) 10% 50% no-repeat #6CB72C;
    background-size: 10%;
    border-radius: 35px;
    margin-left: 45px;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    position: absolute;
    right: 7%; }
    @media only screen and (max-width: 769px) {
      #header .archiveDetail_btn {
        width: 89px;
        height: 31px;
        font-size: 13px;
        right: 0%; } }
    #header .archiveDetail_btn a {
      color: white; }

.globalNavi {
  display: inline-flex;
  align-items: center;
  height: 50px; }
  @media only screen and (max-width: 769px) {
    .globalNavi {
      display: inline-block;
      text-align: left; } }
  .globalNavi li {
    font-size: 13px;
    font-weight: bold; }
    @media only screen and (max-width: 769px) {
      .globalNavi li {
        font-size: 18px;
        font-weight: 900;
        margin-bottom: 10px;
        padding-left: 22px; } }
    .globalNavi li a {
      position: relative;
      color: #000; }
      .globalNavi li a::before {
        position: absolute;
        top: 1px;
        left: -20px;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        content: ""; }
        @media only screen and (max-width: 769px) {
          .globalNavi li a::before {
            top: 5px;
            left: -23px; } }
    .globalNavi li + li {
      margin-left: 45px; }
      @media only screen and (max-width: 769px) {
        .globalNavi li + li {
          margin-left: 0; } }
    .globalNavi li:nth-child(1) a::before {
      background-color: #7494ff; }
    .globalNavi li:nth-child(2) a::before {
      background-color: #6cb72c; }
    .globalNavi li:nth-child(3) a::before {
      background-color: #edc92b; }
    .globalNavi li:nth-child(4) a::before {
      background-color: #db6b36; }
    .globalNavi li:nth-child(5) a::before {
      background-color: #8272ff; }

.contact_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 187px;
  height: 50px;
  color: #fff;
  background-color: #db6b36;
  border-radius: 8px;
  margin-left: 45px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); }
  @media only screen and (max-width: 979px) {
    .contact_btn {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 55px;
      border-radius: 0;
      margin-left: 0;
      font-size: 16px; }
      .contact_btn:hover {
        opacity: 1; } }
  .contact_btn span {
    position: relative; }
    .contact_btn span:after {
      position: absolute;
      top: 0;
      bottom: 0;
      right: -32px;
      margin: auto;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 6px 0 6px 10px;
      border-color: transparent transparent transparent #fff;
      content: ""; }
      @media only screen and (max-width: 769px) {
        .contact_btn span:after {
          border-width: 7px 0 7px 12px; } }
.contact_btn--pc {
  display: flex; }
  @media only screen and (max-width: 979px) {
    .contact_btn--pc {
      display: none; } }
.contact_btn--sp {
  display: none; }
  @media only screen and (max-width: 979px) {
    .contact_btn--sp {
      display: flex; } }
/*----------------------------------------------------------------------------------
		 								footer 
------------------------------------------------------------------------------------*/
#footer {
  transform: rotate(0.05deg);
  width: 100%;
  padding: 37px 0 23px;
  color: #fff;
  background-color: #393939;
  text-align: center; }
  @media only screen and (min-width: 770px) and (max-width: 1179px) {
    #footer {
      padding: 37px 0 78px; } }
  @media only screen and (max-width: 769px) {
    #footer {
      padding: 30px 0 65px; } }
  #footer .footer_logo {
    width: 478px;
    margin: 0 auto 38px; }
    @media only screen and (max-width: 769px) {
      #footer .footer_logo {
        width: 283px; } }
    #footer .footer_logo.archive {
      width: 205px; }
    #footer .footer_logo img {
      width: 100%; }
  #footer .globalNavi {
    margin-bottom: 58px; }
    @media only screen and (max-width: 769px) {
      #footer .globalNavi li {
        padding-left: 15px !important;
        font-size: 14px !important; } }
    #footer .globalNavi a {
      color: #fff; }
      #footer .globalNavi a::before {
        left: -16px !important;
        width: 10px;
        height: 10px; }
  #footer .footer_company {
    color: #c4c4c4;
    font-size: 15px;
    font-weight: 500;
    text-align: center; }
    @media only screen and (max-width: 769px) {
      #footer .footer_company {
        margin-top: 32px;
        font-size: 13px; } }
    #footer .footer_company a {
      color: #c4c4c4; }
