@charset "UTF-8";
html {
  font-size: 62.5%;
  height: 100%; }

body {
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.75;
  color: #000;
  background-color: #fff;
  min-width: auto;
  -webkit-font-smoothing: antialiased;
  text-shadow: 0px 0px 0px; }

*,
*:before,
*:after {
  box-sizing: border-box; }

a {
  color: #000;
  text-decoration: none;
  transition: all .2s; }
  a:hover {
    opacity: .8; }

ul,
ol {
  list-style: none; }

img {
  max-width: 100%;
  vertical-align: bottom; }

p {
  margin-top: 0; }

sup {
  top: -1em;
  font-size: 60%; }

.container {
  max-width: 104rem;
  padding: 0 2rem;
  margin: 0 auto;
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .container {
      width: auto; } }

.inner {
  max-width: 86rem;
  margin: 0 auto;
  padding: 0;}
@media only screen and (max-width: 767px) {
	.inner {
  width: auto;
  margin: 0 auto;
  padding: 0;
	}	
}

/*pc sp switch*/
.pc {
  display: block !important; }

span.pc {
  display: inline !important; }

.sp {
  display: none !important; }

@media only screen and (max-width: 767px) {
  span.pc,
  .pc {
    display: none !important; }

  .sp {
    display: block !important; }

  span.sp {
    display: inline !important; } }
/*共通*/
.fr.between {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between !important;
  justify-content: space-between !important; }

.fr.start {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start !important;
  justify-content: flex-start !important; }

.fr.reverse {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.fr.wrap {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

.fr.center {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center; }

.fr.hcenter {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center; }

.fr.bottom {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-end !important;
  align-items: flex-end !important; }

.fr.top {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start !important;
  align-items: flex-start !important; }

.anchor {
  position: absolute;
  top: -10px; }
  @media only screen and (max-width: 767px) {
    .anchor {
      top: -70px; } }

.header {
  background-color: transparent;
  height: 82px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2; }
  @media (max-width: 767px) {
    .header {
      position: fixed;
      height: 6rem;
      padding: 0;
      display: flex;
      align-items: center;
      width: 100%;
      background-color: #fff; } }
  .header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 8.2rem;
    padding: 0 2rem; }
    @media (max-width: 767px) {
      .header .container {
        height: 6rem; } }
  .header .logo {
    margin: 0;
    padding: 0;
    line-height: 1; }
    .header .logo a {
      position: absolute;
      left: 4rem;
      top: 3rem; }
      @media (max-width: 900px) {
        .header .logo a {
          left: 2rem; } }
      @media (max-width: 767px) {
        .header .logo a {
          position: relative;
          left: auto;
          top: auto; } }
    .header .logo img {
      width: 180px;
      height: auto;
      vertical-align: bottom;
      max-width: none; }
      @media (max-width: 767px) {
        .header .logo img {
          width: 118px;
          height: auto; } }
  @media screen and (max-width: 767px) {
    .header .gnavi {
      min-width: auto; } }
  .header .gmenu {
    vertical-align: top;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .header .gmenu {
        display: inline-block !important; } }
    @media screen and (max-width: 767px) {
      .header .gmenu {
        display: none;
        position: absolute;
        left: 0;
        top: 6rem;
        width: 100%;
        height: calc(100vh - 6rem);
        background-color: #fff; } }
    .header .gmenu ul.navi {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex; }
      @media screen and (max-width: 767px) {
        .header .gmenu ul.navi {
          display: block;
          padding: 0; } }
      .header .gmenu ul.navi > li {
        margin: 0 0 0 3rem;
        padding: 0; }
        @media screen and (max-width: 990px) {
          .header .gmenu ul.navi > li {
            margin: 0; } }
        @media screen and (max-width: 767px) {
          .header .gmenu ul.navi > li {
            border-bottom: 1px solid #707070; } }
        @media screen and (max-width: 767px) {
          .header .gmenu ul.navi > li:first-child {
            display: block; } }
        .header .gmenu ul.navi > li > a {
          display: block;
          line-height: 1;
          text-align: center;
          font-size: 1.6rem;
          position: relative;
          padding: .5rem; }
          @media screen and (max-width: 767px) {
            .header .gmenu ul.navi > li > a {
              display: flex;
              align-items: center;
              height: 6rem;
              font-weight: bold;
              font-size: 2.2rem;
              line-height: 6rem;
              padding: 0 2.5rem;
              width: 100%;
              color: #707070; } }
          .header .gmenu ul.navi > li > a img {
            width: auto;
            height: 16px;
            margin-bottom: 10px; }
            @media screen and (max-width: 767px) {
              .header .gmenu ul.navi > li > a img {
                margin-bottom: 0;
                height: 20px;
                padding-right: 25px; } }
          .header .gmenu ul.navi > li > a span {
            display: block; }
            @media screen and (max-width: 767px) {
              .header .gmenu ul.navi > li > a span {
                font-size: 15px; }
                .header .gmenu ul.navi > li > a span:first-child {
                  text-align: left;
                  width: 100px; } }
        .header .gmenu ul.navi > li > a:hover {
          background-color: #eee; }

/*menu*/
@media screen and (max-width: 767px) {
  .navbar-toggle {
    outline: none;
    /*z-index: 1000;*/
    position: fixed;
    top: 0;
    right: 20px;
    display: block !important;
    float: none;
    padding: 0;
    margin-top: 0px;
    margin-right: 0px !important;
    margin-bottom: 0px;
    background-image: none;
    border: 0;
    height: 6rem;
    width: 6.8rem;
    z-index: 1001;
    right: 0;
    background: #fff url("../images/icon-menu.svg") no-repeat center center;
    background-size: 2.9rem auto; }

  .navbar-toggle.is-active {
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    transition: all .2s;
    background: #fff url("../images/icon-close.svg") no-repeat center center;
    background-size: 2.8rem auto;
	}

  .navbar-toggle:focus {
    background-color: #fff; }

  .navbar-toggle:hover {
    background-color: #fff; }

  .navbar-toggle.is-active:focus,
  .navbar-toggle.is-active:hover {
    background-color: #fff; } }

.ttlarea {
  text-align: center;
  margin: 65px 0 55px 0;
  position: relative;
	}
  .ttlarea::after {
    content: "";
    display: block;
    margin: 3.2rem auto 0;
    height: .5rem;
    width: 29rem;
    background-color:#842B2C;
}
    @media only screen and (max-width: 767px) {
      .ttlarea::after {
        height: .3rem;
        margin: 2rem auto 0; 
}
}

  .ttlarea h2.ttl {
	font-size: 4rem;
    line-height: 0.2;
    padding: 0;
    margin: 0;
    position: relative;
    text-align: center;
}
    .ttlarea h2.ttl::after {
      content: "";
      position: absolute;
      bottom: -58px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 32px 20px 0 20px;
      border-color: #fff transparent transparent transparent;
}
      @media only screen and (max-width: 767px) {
        .ttlarea h2.ttl::after {
          bottom: -33px;
          border-width: 20px 10px 0 10px; 
		  }
}
    .ttlarea h2.ttl::before {
      content: "";
      position: absolute;
      bottom: -68px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 32px 20px 0 20px;
      border-color: #842B2C transparent transparent transparent;
}
      @media only screen and (max-width: 767px) {
        .ttlarea h2.ttl::before {
          bottom: -40px;
          border-width: 20px 10px 0 10px; 
		  }
}
    @media only screen and (max-width: 767px) {
      .ttlarea h2.ttl {
    font-size: 3rem;
    line-height: 0.2;
    padding: 0;
    margin: 0;
    position: relative;
    text-align: center;
		}
}

section {
  position: relative;
  padding: 7rem 0; }
  @media only screen and (max-width: 767px) {
    section {
      padding: 4.5rem 0; } }

section.cover {
  overflow: hidden;
  padding: 0; 
 margin: 0 0 -7rem;}
  @media only screen and (max-width: 767px) {
    section.cover {
      padding-top: 6rem; }
}
  section.cover .mv {
    height: 644px;
    background-repeat: repeat-x;
/*    background-size: cover;
    background-position: center;*/
    background-image: url("../images/pc_topbg.png"); 
}
    @media only screen and (max-width: 767px) {
      section.cover .mv {
        margin: 0;
		   background-repeat: repeat-x;
        background-image: url(../images/sp_top_bg02.png);
        height: calc(100vh - 2rem); } }
    section.cover .mv .container {
      padding-top: 24.8rem;
      height: 100%;
      position: relative;
      z-index: 1; }
      @media only screen and (max-width: 767px) {
        section.cover .mv .container {
          padding-top: 0;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center; } }
      section.cover .mv .container::before {
        content: "";
        position: absolute;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        background-image: url(../images/mainimg002.png);
        width: 675px;
        height: 630px;
        right: 0rem;
        top: 2rem;
        z-index: -1; }
        @media only screen and (max-width: 767px) {
          section.cover .mv .container::before {
            display: block;
            position: relative;
            right: 2rem;
            top: auto;
            width: 475px;
            height: 430px;
            margin-left: 0rem;
            margin-bottom:4rem; } }
    section.cover .mv h1 {
      margin: 0;
      padding: 0; }
      @media only screen and (max-width: 767px) {
        section.cover .mv h1 {
          margin: 0 2rem; } }
      section.cover .mv h1 img {
        max-width: none; }
        @media only screen and (max-width: 767px) {
          section.cover .mv h1 img {
            width: 100%;
            height: auto;
			padding-bottom: 2rem;}}

/*** section about ***********/
.about {
  position: relative;
  background-color: #F4F4F4;}
  .about .container {
    position: relative;
	}
.about .container .inner {
	border-bottom: solid 1px #842B2C;
	padding-bottom: 4rem;
	margin-bottom: -7rem;
}
@media only screen and (max-width: 767px) {
.about .container .inner {
	border-bottom: solid 1px #842B2C;
	padding-bottom: 4rem;
	margin-bottom: -4rem;
}
}
  .about p {
    margin: 0 0 4rem; 
	 }
    @media only screen and (max-width: 767px) {
      .about p {
        font-size: 1.6rem;
        margin: 0 auto 2rem; } }
    .about p.text-right {
      text-align: right;
      margin: 0; }

.sec-gray {
  background-color: #F4F4F4; }
  .sec-gray .ttlarea::after {
    background-color: #842B2C; }
  .sec-gray .ttlarea h2.ttl::after {
    border-color: #F4F4F4 transparent transparent transparent; }
  .sec-gray .ttlarea h2.ttl::before {
    border-color:#842B2C transparent transparent transparent; }

/*** section content ***********/
section.content {
  position: relative;
margin-bottom: 5rem;}
  section.content ul {
    display: flex;
    margin: 0 0 1rem;
    padding: 0; }
    section.content ul li {
      flex: 1;
      text-align: center;
      padding: 3rem 0 4rem; }
      @media only screen and (max-width: 767px) {
        section.content ul li {
          padding: 2rem 0 2rem;
		  }
		}
      section.content ul li:first-child {
        border-right: 1px solid #707070; }
      section.content ul li h3 {
        font-size: 2.6rem;
        line-height: 1;
        margin: 3.6rem 0;
		}
        @media only screen and (max-width: 767px) {
          section.content ul li h3 {
            margin: 2rem 0;
            font-size: 2rem; } }
        section.content ul li h3 span {
          font-size: 4.4rem;
          display: block;
          margin: 0 0 2.5rem; }
          @media only screen and (max-width: 767px) {
            section.content ul li h3 span {
              font-size: 2.4rem;
              margin: 0 0 1.5rem; } }
      section.content ul li p {
        font-size: 1.8rem;
        text-align: center;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          section.content ul li p {
            font-size: 1.5rem; } }
  section.content dl {
    max-width: 74rem;
    margin: 7.5rem auto 0;
    display: flex;
    padding: 0;
    flex-wrap: wrap; }
    @media only screen and (max-width: 767px) {
      section.content dl {
        max-width: none;
        display: block;
        margin: 5rem auto 0; } }
    section.content dl dt {
      width: 24rem;
      flex: 0 0 auto;
      margin: 0;
      font-size: 1.8rem;
      line-height: 2.1;
      padding: 0 0 0 9rem; }
      @media only screen and (max-width: 767px) {
        section.content dl dt {
          width: auto;
          line-height: 1.8;
          font-size: 1.5rem;
          padding: 0 0 0 0; } }
    section.content dl dd {
      line-height: 2.1;
      font-size: 1.8rem;
      margin: 0;
      padding: 0;
      width: calc(100% - 24rem); }
      @media only screen and (max-width: 767px) {
        section.content dl dd {
          width: auto;
          line-height: 1.8;
          font-size: 1.5rem;
          margin: 0 0 2rem; } }
      section.content dl dd p {
        line-height: 2.1;
        font-size: 1.8rem;
        margin: 0 0 3rem; }
        @media only screen and (max-width: 767px) {
          section.content dl dd p {
            line-height: 1.8;
            font-size: 1.5rem;
            margin: 0; } }

a.entrybtn {
  background-color: #000;
  color: #fff;
  text-align: center;
  display: block;
  margin: 0 auto;
  width: 26rem;
  height: 7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-repeat: no-repeat;
  background-position: right 2rem center;
  background-size: 1.5rem 1.1rem;
  background-image: url(../images/arrow-right.svg); }

a.archives {
  background-color: #3AA7F7;
	border-radius: 2.5rem;
  color: #fff;
  text-align: center;
  display: block;
  margin: 0 auto;
  width: 30rem;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-repeat: no-repeat;
  background-position: right 2rem center;
  background-size: 1.5rem 1.1rem;
  background-image: url(../images/arrow-right.svg); }


/*** section detail ***********/
section.detail {
  position: relative;
  padding-bottom: 0; }
  section.detail h3 {
    text-align: center;
    color: #fff;
    display: block;
    margin: 6rem auto 3rem;
    background-color: #842B2C;
    font-size: 2.8rem;
    width: 27rem;
    font-size: 2rem;
    line-height: 3.6rem;
    border-radius: 1.8rem;
    font-weight: normal; }
    @media only screen and (max-width: 767px) {
      section.detail h3 {
        font-size: 1.6rem;
        line-height: 3rem;
        border-radius: 1.5rem;
        margin: 4rem auto 2rem; } }
  section.detail .copy {
    margin: 0 0 3rem;
	text-align: center;}
    @media only screen and (max-width: 767px) {
      section.detail .copy {
        margin: -2.5rem 0 2rem;
		text-align: center;} }
    section.detail .copy h4 {
      text-align: center;
      font-size: 3.5rem;
      font-weight: bold;
      background: linear-gradient(transparent 60%, rgba(236,222,222,1) 0%);
      display: inline; }
      @media only screen and (max-width: 767px) {
        section.detail .copy h4 {
          font-size: 2.2rem;} }
  section.detail p {
    font-size: 2rem;
    line-height: 2;
    margin: 0 0 3rem; }
    @media only screen and (max-width: 767px) {
      section.detail p {
        font-size: 1.6rem;
        line-height: 1.8; } }
    section.detail p:last-child {
      margin: 0; }
    section.detail p.s {
      font-size: 1.8rem;
      margin: 0 0 1rem; }
      @media only screen and (max-width: 767px) {
        section.detail p.s {
          font-size: 1.5rem; } }
    section.detail p.lead {
      font-weight: bold;
      line-height: 2;
      font-size: 2rem;
      margin: 0 0 3rem; }
      @media only screen and (max-width: 767px) {
        section.detail p.lead {
          font-size: 1.6rem;
          line-height: 1.8;
          margin: 0 0 2rem; } }
  section.detail ol.themelist {
    padding: 0;
    margin: 0; }
    section.detail ol.themelist li {
      font-size: 1.8rem;
      line-height: 2; }
      @media only screen and (max-width: 767px) {
        section.detail ol.themelist li {
          font-size: 1.6rem;
          line-height: 1.8;
          text-indent: -1.1em;
          margin-left: 1em; } }
      section.detail ol.themelist li:first-child strong:before {
        content: "●"; }
      section.detail ol.themelist li:nth-child(2) strong:before {
        content: "●"; }
      section.detail ol.themelist li:nth-child(3) strong:before {
        content: "●"; }
		section.detail ol.themelist li:nth-child(4) strong:before {
        content: "●"; }
      section.detail ol.themelist li strong {
        font-size: 2rem;
        display: block; }
        @media only screen and (max-width: 767px) {
          section.detail ol.themelist li strong {
            font-size: 1.6rem;
            line-height: 1.5; } }
        section.detail ol.themelist li strong:before {
          margin-right: .5rem;
          font-weight: normal; }
  section.detail ol.flow {
    margin: 0;
    padding: 0;
    display: flex; }
    section.detail ol.flow li {
      flex: 1;
      padding: 3rem 0;
      text-align: center;
      font-size: 2.6rem;
      font-weight: bold;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      border-right: 2px solid #707070; }
      @media only screen and (max-width: 767px) {
        section.detail ol.flow li {
          border-right: 1px solid #707070;
          font-size: 1.3rem;
          line-height: 1.3;
          padding: 1.5rem 0; } }
      section.detail ol.flow li:first-child {
        border-left: 2px solid #707070; }
        @media only screen and (max-width: 767px) {
          section.detail ol.flow li:first-child {
            border-left: 1px solid #707070; } }
      section.detail ol.flow li::after {
        content: "";
        position: absolute;
        right: -17px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 0px 10px 20px;
        border-color: transparent transparent transparent #fff; }
        @media only screen and (max-width: 767px) {
          section.detail ol.flow li::after {
            right: -7px;
            border-width: 5px 0px 5px 10px; } }
      section.detail ol.flow li::before {
        content: "";
        position: absolute;
        right: -21px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 0 10px 20px;
        border-color: transparent transparent transparent #707070; }
        @media only screen and (max-width: 767px) {
          section.detail ol.flow li::before {
            right: -10px;
            border-width: 5px 0px 5px 10px; } }
      section.detail ol.flow li:last-child::before, section.detail ol.flow li:last-child::after {
        display: none; }
  section.detail .block {
    padding: 0; }
    @media only screen and (max-width: 767px) {
      section.detail .block {
        padding: 0; }
        section.detail .block:first-child {
          padding-top: 0; } }
  section.detail ul.notelist {
    padding: 0;
    margin: 0 0 .5rem 0; }
    section.detail ul.notelist > li {
      text-indent: -1.1em;
      margin-left: 1.1em;
      line-height: 2; }
      @media only screen and (max-width: 767px) {
        section.detail ul.notelist > li {
          line-height: 1.8;
          font-size: 1.6rem; } }
      section.detail ul.notelist > li::before {
        content: "●";
        margin-right: .1em; }
    section.detail ul.notelist .sub-notelist {
      padding: 0;
      margin: 0 0 .5rem -1em; }
      section.detail ul.notelist .sub-notelist > li {
        text-indent: -1.1em;
        margin-left: 1.1em;
        line-height: 2;
        font-size: 1.8rem; }
        @media only screen and (max-width: 767px) {
          section.detail ul.notelist .sub-notelist > li {
            line-height: 1.8;
            font-size: 1.6rem; } }
        section.detail ul.notelist .sub-notelist > li::before {
          content: "・";
          margin-right: .1em; }
  section.detail ul.handlinglist {
    padding: 0;
    margin: 0 0 .5rem 0; }
    section.detail ul.handlinglist > li {
      text-indent: -1.1em;
      margin-left: 1.1em;
      line-height: 2; }
      @media only screen and (max-width: 767px) {
        section.detail ul.handlinglist > li {
          line-height: 1.8;
          font-size: 1.6rem; } }
      section.detail ul.handlinglist > li::before {
        content: "・";
        margin-right: .1em; }
  section.detail .judge1 {
    background-color: #FFFAD5;
    padding: 5rem 0 4.5rem; }
  section.detail .judge2 {
    background-color: #E7F2FA;
    padding: 5.4rem 0 4.5rem; }
  section.detail ul.judgelist {
    padding: 0;
    margin: 0 -1.4rem;
    display: flex;
    flex-wrap: wrap; }

    section.detail ul.judgelist > li {
      flex: 0 0 auto;
      width: 25%;
      padding: 0 1.4rem 4.4rem;
      position: relative;
      text-align: center; }

      @media only screen and (max-width: 900px) {
        section.detail ul.judgelist > li {
          width: calc(100% / 3); } }

      @media only screen and (max-width: 767px) {
        section.detail ul.judgelist > li {
          width: calc(100% / 2);
          padding: 0 1.1rem 1rem; } }

      section.detail ul.judgelist > li::before {
        content: "";
        display: block;
        height: 2.6rem; }
      section.detail ul.judgelist > li > span {
        white-space: nowrap;
        position: absolute;
        display: block;
        font-size: 1.6rem;
        text-align: center;
        top: 0;
        left: 50%;
        transform: translateX(-50%); }
      section.detail ul.judgelist > li h4 {
        text-align: center;
        margin: 2rem 0 2rem;
        font-size: 2.4rem;
        line-height: 1; }
        @media only screen and (max-width: 767px) {
          section.detail ul.judgelist > li h4 {
            font-size: 1.8rem; } }
      section.detail ul.judgelist > li .address {
        font-size: 1.4rem;
        line-height: 1.6;
        text-align: center; }
        section.detail ul.judgelist > li .address.tleft {
          text-align: left; }
        @media only screen and (max-width: 767px) {
          section.detail ul.judgelist > li .address {
            font-size: 1.2rem; } }
      section.detail ul.judgelist > li .job {
        text-align: center;
        font-size: 1.7rem;
        line-height: 1.5;
        margin: 0 0 2rem; }
        @media only screen and (max-width: 767px) {
          section.detail ul.judgelist > li .job {
            margin: 0 0 1rem;
            height: 4.8rem;
            font-size: 1.5rem; } }
    section.detail ul.judgelist + ul.judgelist {
      border-top: 1px solid #707070;
      padding: 6rem 0 0;
      margin-top: 6rem; }
      @media only screen and (max-width: 767px) {
        section.detail ul.judgelist + ul.judgelist {
          padding: 3rem 0 0;
          margin-top: 3rem; } }

/*** section entry ***********/
section.entry {
  position: relative;
  padding-bottom: 14.5rem; }
  @media only screen and (max-width: 767px) {
    section.entry {
      padding-bottom: 6rem; } }
  @media only screen and (max-width: 767px) {
    section.entry p {
      font-size: 1.6rem; } }
  section.entry a {
    margin: 8rem auto 0; }
    @media only screen and (max-width: 767px) {
      section.entry a {
        margin: 4rem auto 0; } }

/*** section supporting company***********/
section.supporting-company {
  padding: 7rem 0 10rem; }
  @media only screen and (max-width: 767px) {
    section.supporting-company {
      padding: 4.5rem 0 4.5rem; } }
  section.supporting-company h2 {
    line-height: 1;
    text-align: center;
    margin: 0 0 9.5rem; }
    @media only screen and (max-width: 767px) {
      section.supporting-company h2 {
        margin: 0 0 5.5rem; }
        section.supporting-company h2 img {
          height: 2.4rem; } }
  section.supporting-company ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 472px;
    margin: 0 auto 5rem;
    padding: 0; }
    @media only screen and (max-width: 767px) {
      section.supporting-company ul {
        display: block;
        width: auto; } }
    section.supporting-company ul li {
      text-align: center; }
	section.supporting-company ul li.ga_aki img {
      text-align: center;
		margin: 0 auto;}
      @media only screen and (max-width: 767px) {
        section.supporting-company ul li {
        margin: 4rem 0 2rem; }
		section.supporting-company ul li.ga_aki img {
      	text-align: center;
		margin: 0 auto -1.5rem;}
	}
      section.supporting-company ul li a {
        display: block; }

.footer {
	color: #fff;
  padding: 2rem 0;
  text-align: center;
  background: #842B2C }
  .footer p {
    margin: 0;
    line-height: 1;
    font-size: 16px;
    padding: 0; }
@media only screen and (max-width: 767px) {
	.footer p {
    margin: 0;
    line-height: 1;
    font-size: 12px;
    padding: 0; }
}

/* 2023.06 adc */
.inner h5 {
	display: block;
	text-align: center;
	font-size: 4rem;
	margin: 0 auto 0.5rem;
	}
.inner p.subtitle {
	display: block;
	width: 80%;
	text-align: center;
	font-size: 2rem;
	line-height: 1.5;
	margin: 0rem auto 6rem;
	padding-top: 1rem;
	border-top: solid 1px #000;
	}
.inner p.subtitle span {
	display: block;
	font-size: 2.5rem;
	margin-top: 0.5rem;
}

.inner p.subtitle02 {
	display: block;
	width: 80%;
	text-align: center;
	font-size: 2rem;
	line-height: 1.5;
	margin: 0rem auto 1.5rem;
	padding-top: 1rem;
	border-top: solid 1px #000;
	}
.inner p.subtitle03 {
	display: block;
	text-align: center;
	font-size: 2rem;
	line-height: 1.5;
	margin: 0rem auto 6rem;
	padding-top: 1rem;
	}


section.supporting-company .container h2.ttl02 {
	margin: 0 auto 4rem;
	text-align: center;
	font-size: 3.5rem;
}

section.supporting-company .container p {
	display: block;
	font-size: 2.5rem;
	text-align: center;
}

@media only screen and (max-width: 767px) {
.inner h5 {
	display: block;
	text-align: center;
	font-size: 2.5rem;
	margin: 0 auto 0rem;
	}
	.inner p.subtitle {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.5;
	margin: 0rem auto 4rem;
	padding-top: 1rem;
	border-top: solid 1px #000;
	}
	.inner p.subtitle span {
	display: block;
	font-size: 2rem;
	margin-top: 0.5rem;
}
	
	.inner p.subtitle02 {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.5;
	margin: 0rem auto 2rem;
	padding-top: 1rem;
	border-top: solid 1px #000;
	}
	.inner p.subtitle03 {
	display: block;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.5;
	margin: 0rem auto 6rem;
	padding-top: 1rem;
	}
	section.supporting-company .container h2.ttl02 {
	margin: 0 auto 4rem;
	text-align: center;
	font-size: 3rem;
}
	section.supporting-company .container p {
	display: block;
	font-size: 2rem;
	text-align: center;
}
}

#back-top a{
    position: fixed;
    right:1rem;
    bottom:2rem;
    transition: 1s;
}
 #back-top a:hover{ 
    opacity: 0.75;
}


/*---------------------------------------------------------------------------------------*/


/* ADC 2023.10 */

.finalist_tit02 {
	width: auto;
	margin: 0px auto 3rem auto;
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 60%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	font-size: 4.5rem;
	font-weight: bold;
	text-align: center;
	padding: 0;
	color: #ffffff;
}
@media (max-width: 767px) {
.finalist_tit02 {
	width: auto;
	margin: 0 auto 4rem auto;
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 60%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	padding: 0.5rem 1rem 0.5rem 1rem;
	color: #ffffff;
}
}


.finalist_tit {
	width: auto;
	margin: 5rem auto 5rem auto;
	background:#842b2c;
	font-size: 3.5rem;
	font-weight: bold;
	text-align: center;
	padding: 0.5rem 0;
	color: #ffffff;
}
@media (max-width: 767px) {
.finalist_tit {
	width: auto;
	margin: 0 auto 2rem auto;
	background:#842b2c;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	padding: 1rem 0rem;
	color: #ffffff;
}
}

section.detail2 {
  position: relative;
  padding: 0;
}
section.detail2 h3 {
  text-align: center;
  color: #fff;
  display: block;
  margin: 0 auto 4rem;
  background-color: #AAAAAA;
  font-size: 2.8rem;
  width: 26rem;
  font-size: 2rem;
  line-height: 3.6rem;
  border-radius: 1.8rem;
  font-weight: normal;
}
@media only screen and (max-width: 767px) {
  section.detail2 h3 {
    font-size: 1.6rem;
    line-height: 3rem;
    border-radius: 1.5rem;
    margin: 0 auto 2.5rem;
  }
}
section.detail2 .copy {
  margin: 0 0 3rem;
}
@media only screen and (max-width: 767px) {
  section.detail2 .copy {
    margin: 0 0 2rem;
  }
}
section.detail2 .copy h4 {
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  background: linear-gradient(transparent 70%, rgba(199, 222, 240, 0.5) 0%);
  display: inline;
}
@media only screen and (max-width: 767px) {
  section.detail2 .copy h4 {
    font-size: 1.8rem;
  }
}
section.detail2 p {
  font-size: 2rem;
  line-height: 2;
  margin: 0 0 3rem;
}
@media only screen and (max-width: 767px) {
  section.detail2 p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
section.detail2 p:last-child {
  margin: 0;
}
section.detail2 p.s {
  font-size: 1.8rem;
  margin: 0 0 1rem;
}
@media only screen and (max-width: 767px) {
  section.detail2 p.s {
    font-size: 1.5rem;
  }
}
section.detail2 p.lead {
  font-weight: bold;
  line-height: 2;
  font-size: 2rem;
  margin: 0 0 3rem;
}
@media only screen and (max-width: 767px) {
  section.detail2 p.lead {
    font-size: 1.6rem;
    line-height: 1.8;
    margin: 0 0 2rem;
  }
}
section.detail2 ol.themelist {
  padding: 0;
  margin: 0;
}
section.detail2 ol.themelist li {
  font-size: 1.8rem;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  section.detail2 ol.themelist li {
    font-size: 1.6rem;
    line-height: 1.8;
    text-indent: -1.1em;
    margin-left: 1em;
  }
}
section.detail2 ol.themelist li:first-child strong:before {
  content: "❶";
}
section.detail2 ol.themelist li:nth-child(2) strong:before {
  content: "❷";
}
section.detail2 ol.themelist li:nth-child(3) strong:before {
  content: "❸";
}
section.detail2 ol.themelist li strong {
  font-size: 2rem;
  display: block;
}
@media only screen and (max-width: 767px) {
  section.detail2 ol.themelist li strong {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
section.detail2 ol.themelist li strong:before {
  margin-right: 0.5rem;
  font-weight: normal;
}
section.detail2 ol.flow {
  margin: 0;
  padding: 0;
  display: flex;
}
section.detail2 ol.flow li {
  flex: 1;
  padding: 3rem 0;
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-right: 2px solid #707070;
}
@media only screen and (max-width: 767px) {
  section.detail2 ol.flow li {
    border-right: 1px solid #707070;
    font-size: 1.3rem;
    line-height: 1.3;
    padding: 1.5rem 0;
  }
}
section.detail2 ol.flow li:first-child {
  border-left: 2px solid #707070;
}
@media only screen and (max-width: 767px) {
  section.detail2 ol.flow li:first-child {
    border-left: 1px solid #707070;
  }
}
section.detail2 ol.flow li::after {
  content: "";
  position: absolute;
  right: -17px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0px 10px 20px;
  border-color: transparent transparent transparent #fff;
}
@media only screen and (max-width: 767px) {
  section.detail2 ol.flow li::after {
    right: -7px;
    border-width: 5px 0px 5px 10px;
  }
}
section.detail2 ol.flow li::before {
  content: "";
  position: absolute;
  right: -21px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 20px;
  border-color: transparent transparent transparent #707070;
}
@media only screen and (max-width: 767px) {
  section.detail2 ol.flow li::before {
    right: -10px;
    border-width: 5px 0px 5px 10px;
  }
}
section.detail2 ol.flow li:last-child::before, section.detail ol.flow li:last-child::after {
  display: none;
}
section.detail2 .block {
  padding: 0;
}
@media only screen and (max-width: 767px) {
  section.detail2 .block {
    padding: 0;
  }
  section.detail2 .block:first-child {
    padding-top: 0;
  }
}
section.detail2 ul.notelist {
  padding: 0;
  margin: 0 0 0.5rem 0;
}
section.detail2 ul.notelist > li {
  text-indent: -1.1em;
  margin-left: 1.1em;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.notelist > li {
    line-height: 1.8;
    font-size: 1.6rem;
  }
}
section.detail2 ul.notelist > li::before {
  content: "●";
  margin-right: 0.1em;
}
section.detail2 ul.notelist .sub-notelist {
  padding: 0;
  margin: 0 0 0.5rem -1em;
}
section.detail2 ul.notelist .sub-notelist > li {
  text-indent: -1.1em;
  margin-left: 1.1em;
  line-height: 2;
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.notelist .sub-notelist > li {
    line-height: 1.8;
    font-size: 1.6rem;
  }
}
section.detail2 ul.notelist .sub-notelist > li::before {
  content: "・";
  margin-right: 0.1em;
}
section.detail2 ul.handlinglist {
  padding: 0;
  margin: 0 0 0.5rem 0;
}
section.detail2 ul.handlinglist > li {
  text-indent: -1.1em;
  margin-left: 1.1em;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.handlinglist > li {
    line-height: 1.8;
    font-size: 1.6rem;
  }
}
section.detail2 ul.handlinglist > li::before {
  content: "・";
  margin-right: 0.1em;
}
section.detail2 .judge1 {
  /*background-color: #FFFAD5;*/
  padding: 0 0 0rem;
  margin-bottom: 5rem;
}
section.detail2 .judge2 {
 /* background-color: #E7F2FA;*/
  padding: 1rem 0 0;
}
section.detail2 ul.judgelist {
  padding: 0;
  margin: 0 -1.4rem;
  display: flex;
  flex-wrap: wrap;
}

section.detail2 ul.judgelist > li {
  flex: 0 0 auto;
  width: 50%;
  padding: 0 1.4rem 4.4rem;
  position: relative;
  text-align: center;
}
section.detail2 ul.judgelist04 > li {
  flex: 0 0 auto;
  width: 25%;
  padding: 0 1.4rem 4.4rem;
  position: relative;
  text-align: center;
}

@media only screen and (max-width: 900px) {
  section.detail2 ul.judgelist > li {
    width: 33.3333333333%;
  }
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.judgelist > li {
    width: 50%;
    padding: 0 1.1rem 1rem;
  }
}
section.detail2 ul.judgelist > li::before {
  content: "";
  display: block;
  height: 2.6rem;
}
section.detail2 ul.judgelist > li > span {
  white-space: nowrap;
  position: absolute;
  display: block;
  font-size: 1.6rem;
  text-align: center;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
section.detail2 ul.judgelist > li h4 {
  text-align: center;
  margin: 2rem 0 0.5rem;
  font-size: 2.2rem;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.judgelist > li h4 {
    font-size: 1.8rem;
  }
}
section.detail2 ul.judgelist > li .address {
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
}
section.detail2 ul.judgelist > li .address.tleft {
  text-align: left;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.judgelist > li .address {
    font-size: 1rem;
  }
}
section.detail2 ul.judgelist > li .job {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.2;
  margin: 0 0 0.5rem;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.judgelist > li .job {
    margin: 0 0 0.5rem;
    height: 1.2rem;
    font-size: 1.2rem;
  }
}
section.detail2 ul.judgelist + ul.judgelist {
  border-top: 1px solid #707070;
  padding: 6rem 0 0;
  margin-top: 6rem;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.judgelist + ul.judgelist {
    padding: 3rem 0 0;
    margin-top: 3rem;
  }
}

p.attention {
	text-align: center;
	font-size:1.8rem;
	margin-top: -2rem;
}

p.body_txt02 {
	text-align: justify;
	text-justify: inter-character;
	width: auto;
	margin: 0 auto 7rem auto;
	padding: 0 10rem;
	font-size: 1.8rem;
	line-height: 1.8;
}




@media only screen and (max-width: 767px) {
  p.attention {
	text-align: center;
	font-size:1.2rem;
	margin-top: -3rem;
  }
	p.attention img {
	width:2rem;
	}
	p.body_txt02 {
	text-align: justify;
	text-justify: inter-character;
	/*width: auto;*/
	margin: -2rem auto 2rem auto;
	padding: 0 2rem 0;
	font-size: 1.5rem;
	line-height: 1.5;
}
}

section.detail2 ul.judgelist2 {
  padding: 0;
  margin: 0 -1.4rem;
  display: flex;
  flex-wrap: wrap;
}
section.detail2 ul.judgelist2 > li {
  flex: 0 0 auto;
  width: 50%;
  padding: 4rem 1.4rem 4rem;
  position: relative;
  text-align: center;
}

section.detail2 ul.judgelist2 > li h4 {
  text-align: center;
  margin: 2rem 0 0.5rem;
  font-size: 3rem;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.judgelist2 > li h4 {
    font-size: 2rem;
  }
section.detail2 ul.judgelist2 {
  padding: 0;
  margin: 0 -1.4rem;
  display: flex;
  flex-wrap: wrap;
}
section.detail2 ul.judgelist2 > li {
  flex: 0 0 auto;
  width: 50%;
  padding: 4rem 1.4rem 4rem;
  position: relative;
  text-align: center;
}
}

section.detail2 ul.judgelist2 > li .address {
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
}
section.detail2 ul.judgelist2 > li .address.tleft {
  text-align: left;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.judgelist2 > li .address {
    font-size: 1.2rem;
  }
}
section.detail2 ul.judgelist2 > li .job {
  text-align: center;
  font-size: 1.7rem;
  line-height: 1.5;
  margin: 0 0 0.5rem;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.judgelist2 > li .job {
    margin: 0 0 1rem;
    height: 1.2rem;
    font-size: 1.5rem;
  }
}
section.detail2 ul.judgelist2 + ul.judgelist2 {
  border-top: 1px solid #707070;
  padding: 6rem 0 0;
  margin-top: 6rem;
}
@media only screen and (max-width: 767px) {
  section.detail2 ul.judgelist2 + ul.judgelist2 {
    padding: 3rem 0 0;
    margin-top: 3rem;
  }
}


.finalist_tit2 {
	width: auto;
	margin: 0px auto 0rem auto;
	background-color: #0A0096;
	font-size: 2.5rem;
	font-weight: bold;
	text-align: center;
	padding: 0;
	color: #ffffff;
}
@media (max-width: 767px) {
.finalist_tit2 {
	width: auto;
	margin: 0 auto 1rem auto;
	background-color: #0A0096;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	padding: 0;
	color: #ffffff;
}
}

.review {
	background-color: #eee;
	position: relative;
	margin: 0 auto -5rem;
	padding: 0 0 7rem;
}

.review_box {
	max-width: 86rem;
  	margin: 0 auto 2rem;
	/*border-bottom: solid 1px;*/
}

.review_box p.rev_img {
	display: block;
	width: 25%;
	float: left;
	padding-right: 2rem;
}

.review_box p.rev_txt {
	display: block;
	width: 75%;
	font-size: 1.8rem;
	float: right;
	text-align: justify;
	text-justify: inter-character;
}

.review_box p.rev_txt span {
	font-size: 2.5rem;
	font-weight: bold;
}

@media (max-width: 767px) {
.review {
	background-color: #eee;
	position: relative;
	margin: 0 auto -5rem;
	padding: 0 0 4rem;
}

.review_box {
	width: auto;
	padding: 0 2rem 0;
  	margin: 0 auto 2rem;
	/*border-bottom: solid 1px;*/
}

.review_box p.rev_img {
	display: none;
	float: none;}

.review_box p.rev_txt {
	width: auto;
	float: none;
	font-size: 1.6rem;
	text-align: justify;
	text-justify: inter-character;
}

.review_box p.rev_txt span {
	font-size: 2rem;
	font-weight: bold;
}
}

#back-top a{
    position: fixed;
    right:20px;
    bottom:10px;
    transition: 1s;
}
 #back-top a:hover{ 
    opacity: 0.75;
}

h2.ttl00 {
	display: block;
	text-align: center;
	font-size: 3rem;
	color: #842b2c;
	margin: 0 0 2rem;
	padding: 0;
}
h2.ttl00g {
	display: block;
	text-align: center;
	font-size: 3rem;
	color: #842b2c;
	margin: 0 0 2rem;
	padding: 0;
}

@media (max-width: 767px) {
	h2.ttl00 {
	display: block;
	text-align: center;
	font-size: 1.5rem;
	margin: 0 0 2rem;
	padding: 0;
}
	h2.ttl00g {
	display: block;
	text-align: center;
	font-size: 1.2rem;
	color: #842b2c;
	margin: 0 0 2rem;
	padding: 0;
}
}


/* clearfix */
.clearfix::after {
   content: "";
   display: block;
   clear: both;
}
