@charset "UTF-8";
/*base is →　! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

article, aside, footer, header, nav, section, figcaption, figure, main {
  display: block;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
  vertical-align: top;
}

table {
  border-collapse: collapse;
}

button, input, select, textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button, html [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button;
}

textarea {
  overflow: auto;
  resize: vertical;
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0;
}

a, area, button, input, label, select, summary, textarea, [tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

/* Break Point */
/* Color */
body {
  font-weight: 500;
  color: #333333;
  font-family: "Noto Sans JP", serif;
  line-height: 1.6;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}

a {
  color: #333333;
  text-decoration: none;
}

ul, ol {
  list-style-type: none;
}

img {
  width: auto;
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

* {
  box-sizing: border-box;
}

sup, sub {
  font-size: 0.6em;
}

h2, h3, h4 {
  line-height: 1.3;
}

#mv .mvCatch {
  font-weight: 700;
  color: #087900;
}
#mv .mvSubCatch {
  font-weight: 900;
  text-align: center;
}

.mvBottom {
  text-align: center;
  color: #fff;
  font-weight: 700;
  background-color: #087900;
}

#intro .introInner {
  background-color: #fff;
  position: relative;
  z-index: 2;
}
#intro .introText {
  font-weight: 900;
  text-align: center;
}
#intro .bookWrap .bookText {
  background-color: #eff8ab;
  position: relative;
}
#intro .bookWrap .bookText p span {
  color: #087900;
  font-weight: 600;
}

#about2027 .aboutWrap {
  background-color: #f7fbde;
  position: relative;
}
#about2027 .aboutWrap h2 {
  text-align: center;
  color: #fff;
  font-weight: 700;
}
#about2027 .aboutWrap h3 {
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.1em;
}
#think3anchor h2 {
  text-align: center;
  font-weight: 900;
  line-height: 1.5;
}
#think3anchor h2 > div {
  display: inline-block;
  position: relative;
}
#think3anchor .think3List li {
  background-color: #f3f9d5;
  position: relative;
}
#think3anchor .think3List li .num {
  background-color: #087900;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-family: "Arial";
  letter-spacing: -0.01em;
}
#think3anchor .think3List li h3 {
  line-height: 1.2;
}
#think3anchor .think3List li .btn {
  text-align: center;
}
#think3anchor .think3List li .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #fff;
  font-weight: 700;
}
#think3anchor .thinkNext {
  text-align: center;
  font-weight: 900;
  position: relative;
}

.thinkBox .heading {
  display: flex;
  align-items: center;
}
.thinkBox .heading .num {
  background-color: #087900;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-family: "Arial";
  letter-spacing: -0.01em;
  flex: none;
}
.thinkBox .heading h2 {
  font-weight: 700;
}
.thinkBox .heading h2 span {
  color: #087900;
}
.thinkBox .contBox {
  background-color: #fff;
  position: relative;
}
.thinkBox .contBox .thinkContList {
  position: relative;
  z-index: 3;
  background-color: #fff;
}
.thinkBox .contBox .thinkContList li h3 {
  font-weight: 700;
}
.thinkBox .contBox .thinkContList li figure {
  text-align: center;
}

#indetail h2 {
  text-align: center;
}
#indetail h2 span {
  color: #fff;
  background-color: #087900;
  border-radius: 2px;
}
#indetail .externalLink li {
  background-color: #f3f9d5;
}
#indetail .externalLink li a figure {
  text-align: center;
}
#indetail .externalLink li a figcaption {
  color: #0b3086;
  text-align: center;
  position: relative;
}
#indetail .externalLink li a figcaption:after {
  content: "";
  display: inline-block;
  position: absolute;
  background: url(../images/code2027/icon_blank_b.svg) no-repeat center/cover;
  filter: invert(15%) sepia(40%) saturate(3712%) hue-rotate(209deg) brightness(107%) contrast(103%);
}
#indetail .externalLink li a p {
  text-align: center;
  font-weight: 600;
}

#pageTop {
  cursor: pointer;
  opacity: 0;
  transition: 0.3s;
}
#pageTop.showtop {
  opacity: 1;
}

.page {
  overflow: hidden;
  min-width: inherit;
  position: relative;
}

/* ココから下には記入禁止 */
@media screen and (max-width: 1023px) {
  body {
    font-size: 13px;
  }
  .tel {
    color: #087900;
    text-decoration: underline;
  }
  h2, h3, h4 {
    line-height: 1.3;
  }
  #mv {
    background: url(../images/code2027/main_pc.webp) no-repeat center/cover;
    width: 100%;
    height: 310px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-top: 4px solid #087900;
  }
  #mv .mvCatch {
    font-size: 30px;
    line-height: 1.4;
    text-align: center;
    text-shadow: 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255);
  }
  #mv .mvSubCatch {
    font-size: 16px;
    margin-top: 15px;
    text-shadow: 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255);
    line-height: 1.6;
  }
  .mvBottom {
    font-size: 16px;
    padding: 10px;
  }
  #intro {
    position: relative;
    padding: 0 20px;
  }
  #intro:before {
    content: "";
    width: 100%;
    height: 90px;
    position: absolute;
    top: 0;
    left: 0;
    background-image: repeating-linear-gradient(-45deg, #ebf59f 0, #ebf59f 5px, #fefef9 5px, #fefef9 9px);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100%;
  }
  #intro .introInner {
    padding: 30px 10px 50px;
    max-width: 500px;
    margin: 0 auto;
  }
  #intro .introText {
    font-size: 13px;
  }
  #intro .introText span {
    font-size: 15px;
    background: linear-gradient(transparent 80%, #fff100 80%);
  }
  #intro .bookWrap {
    margin-top: 30px;
  }
  #intro .bookWrap figure {
    text-align: center;
  }
  #intro .bookWrap figure img {
    max-width: 217px;
  }
  #intro .bookWrap .bookText {
    padding: 20px;
    margin-top: 30px;
  }
  #intro .bookWrap .bookText:before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 20px;
    background-color: #eff8ab;
    position: absolute;
    left: calc(50% - 2px);
    top: -20px;
  }
  #about2027 .aboutInner {
    max-width: 500px;
    margin: 0 auto;
  }
  #about2027 .aboutWrap {
    padding: 40px 30px 45px;
  }
  #about2027 .aboutWrap:before {
    content: "";
    width: 100%;
    height: 12px;
    position: absolute;
    top: 0;
    left: 0;
    background-image: repeating-linear-gradient(-45deg, #ebf59f 0, #ebf59f 5px, #f7fbde 5px, #f7fbde 9px);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100%;
  }
  #about2027 .aboutWrap h2 span {
    display: inline-block;
    line-height: 1.2;
    background-color: #087900;
    font-size: 16px;
    padding: 6px 15px;
    border-radius: 2px;
  }
  #about2027 .aboutWrap h3 {
    font-size: 23px;
    margin-top: 15px;
  }
  #about2027 .aboutWrap h3 span {
    font-size: 18px;
  }
  #about2027 .aboutWrap h3 + p {
    text-align: center;
    margin-top: 15px;
  }
  #about2027 .aboutWrap .aboutBox {
    margin-top: 25px;
  }
  #about2027 .aboutWrap .aboutBox figure {
    text-align: center;
  }
  #about2027 .aboutWrap .aboutBox figure img {
    width: 100%;
    max-width: 372px;
    border-radius: 10px;
  }
  #about2027 .aboutWrap .aboutBox .aboutBoxText {
    margin-top: 15px;
  }
  #about2027 .aboutWrap .aboutBox .aboutBoxText p span {
    font-weight: 700;
    background: linear-gradient(transparent 80%, #fff100 80%);
  }
  #about2027 .aboutWrap .aboutBox .aboutBoxText * + p {
    margin-top: 15px;
  }
  #think3anchor {
    margin-top: 60px;
  }
  #think3anchor .think3Inner {
    padding: 0 20px;
    max-width: 500px;
    margin: 0 auto;
  }
  #think3anchor h2 {
    font-size: 18px;
  }
  #think3anchor h2 > div {
    padding: 0 34px;
  }
  #think3anchor h2 > div span {
    font-size: 22px;
    color: #087900;
  }
  #think3anchor h2 > div:before {
    content: "";
    display: inline-block;
    background-color: #087900;
    width: 3px;
    height: 90px;
    transform: rotate(-20deg);
    position: absolute;
    left: 0px;
    bottom: 0;
  }
  #think3anchor h2 > div:after {
    content: "";
    display: inline-block;
    background-color: #087900;
    width: 3px;
    height: 90px;
    transform: rotate(20deg);
    position: absolute;
    right: 0px;
    bottom: 0;
  }
  #think3anchor .think3List {
    margin-top: 15px;
  }
  #think3anchor .think3List li {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 20px;
    border: 3px solid #0ba900;
    border-radius: 5px;
    margin-top: 15px;
    padding: 25px 15px 70px;
  }
  #think3anchor .think3List li .num {
    width: 33px;
    height: 33px;
    font-size: 15px;
    position: absolute;
    top: 10px;
    left: 10px;
  }
  #think3anchor .think3List li figure {
    width: 100px;
    flex: none;
  }
  #think3anchor .think3List li h3 {
    font-size: 20px;
  }
  #think3anchor .think3List li h3 span {
    color: #087900;
  }
  #think3anchor .think3List li p {
    font-size: 14px;
    margin-top: 10px;
  }
  #think3anchor .think3List li .btn {
    position: absolute;
    bottom: 15px;
    left: 0;
    width: 100%;
  }
  #think3anchor .think3List li .btn a {
    font-size: 14px;
    height: 40px;
    border-radius: 20px;
    border: 3px solid #e4eea9;
    max-width: 170px;
    margin: 0 auto;
  }
  #think3anchor .think3List li .btn a:after {
    content: "";
    display: inline-block;
    background: url(../images/code2027/anchor_arrow.webp) no-repeat center/cover;
    width: 13px;
    height: 8px;
    position: absolute;
    right: 15px;
    top: calc(50% - 3px);
  }
  #think3anchor .think3List li .text {
    min-height: 90px;
  }
  #think3anchor .thinkNext {
    margin-top: 30px;
    font-size: 17px;
    padding-bottom: 40px;
  }
  #think3anchor .thinkNext:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 25px solid #087900;
    border-bottom: 0;
    position: absolute;
    bottom: 0;
    left: calc(50% - 35px);
  }
  .thinkBox {
    border: 7px solid #0ba900;
    background-color: #f3f9d5;
    max-width: 500px;
    margin: 30px auto 0;
  }
  .thinkBox .heading {
    gap: 10px;
    padding: 12px 18px;
  }
  .thinkBox .heading .num {
    width: 34px;
    height: 34px;
    font-size: 18px;
  }
  .thinkBox .contBox {
    padding: 20px 0 0 8px;
  }
  .thinkBox .contBox:before {
    content: "";
    display: inline-block;
    background-color: #daeeaf;
    width: 115px;
    height: 170px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
  }
  .thinkBox .contBox:after {
    content: "";
    width: 115px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: repeating-linear-gradient(-45deg, #f3f9d5 0, #f3f9d5 5px, #fcfdf4 5px, #fcfdf4 9px);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100%;
  }
  .thinkBox .contBox .thinkContList {
    padding: 23px 15px 25px 8px;
  }
  .thinkBox .contBox .thinkContList li {
    border-radius: 10px;
    border: 3px solid #e6f1ae;
    padding: 18px;
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: space-between;
  }
  .thinkBox .contBox .thinkContList li + li {
    margin-top: 10px;
  }
  .thinkBox .contBox .thinkContList li h3 {
    font-size: 17px;
  }
  .thinkBox .contBox .thinkContList li p {
    font-size: 14px;
    margin-top: 10px;
  }
  .thinkBox .contBox .thinkContList li figure {
    width: 85px;
    flex: none;
  }
  #indetail {
    margin-top: 50px;
  }
  #indetail .indetailInner {
    padding: 0 20px;
    max-width: 500px;
    margin: 0 auto;
  }
  #indetail h2 {
    font-size: 16px;
  }
  #indetail h2 + p {
    margin-top: 20px;
    text-align: center;
  }
  #indetail h2 span {
    display: inline-block;
    padding: 10px 20px;
  }
  #indetail .externalLink {
    margin-top: 25px;
  }
  #indetail .externalLink li {
    background-color: #f3f9d5;
    padding: 10px 15px;
  }
  #indetail .externalLink li + li {
    margin-top: 20px;
  }
  #indetail .externalLink li a {
    display: block;
  }
  #indetail .externalLink li a figcaption {
    margin-top: 5px;
  }
  #indetail .externalLink li a figcaption:after {
    content: "";
    display: inline-block;
    position: absolute;
    background: url(../images/code2027/icon_blank_b.svg) no-repeat center/cover;
    filter: invert(15%) sepia(40%) saturate(3712%) hue-rotate(209deg) brightness(107%) contrast(103%);
    width: 15px;
    height: 15px;
    right: calc(50% - 45px);
    top: calc(50% - 9px);
  }
  #indetail .externalLink li a p {
    text-align: center;
    font-weight: 600;
    margin-bottom: 5px;
    font-size: 16px;
  }
  .colorbar {
    position: absolute;
    top: 0;
    left: 50%;
    height: 3px;
    width: 320px;
    margin-left: -160px;
    background: url(../images/code2027/sprites@2x.png) no-repeat 0 0;
    background-size: 960px auto;
    background-position: -400px -55px;
  }
  .colorbar:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 960px;
    top: 0;
    background-color: #B2A525;
    right: 100%;
  }
  .colorbar:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 960px;
    top: 0;
    background-color: #5D924B;
    left: 100%;
  }
  #header {
    position: relative;
    height: auto;
  }
  #header .inner {
    width: auto;
    margin-left: auto;
    margin-right: auto;
  }
  #header .site-logo {
    width: 180px;
    margin: auto;
    display: block;
    margin-top: 20px;
    float: none;
    position: relative;
  }
  #header .site-logo a {
    position: static;
    margin-left: auto;
    margin-right: auto;
    display: block;
    overflow: hidden;
    height: 51px;
  }
  #header .site-logo a:before {
    content: url(../images/code2027/sprites@2x.png);
    display: inline-block;
    font-size: 0;
    line-height: 0;
    margin-left: -120px;
    margin-top: -5px;
    transform: scale(0.5);
    transform-origin: 0 0;
  }
  #header .site-logo a.playtrue {
    width: 60px;
    float: right;
  }
  #header .site-logo a.jada {
    width: 120px;
    float: right;
    margin: 0;
  }
  #header .site-logo a.jada:before {
    margin-left: 0;
  }
  #header .cf {
    zoom: 1;
  }
  #header .cf:after {
    content: "";
    display: block;
    clear: both;
  }
  #header .nav-group-secondary {
    float: none;
    margin-top: 22px;
  }
  #header .tagline {
    color: #000000;
    font-weight: bold;
    box-shadow: 0 -1px rgba(0, 0, 0, 0.1), 0 1px white inset;
    padding-top: 10px;
    padding-bottom: 10px;
    position: static;
    text-align: center;
    width: auto;
    display: none;
  }
  #header .tagline .narrow-screen {
    display: inline;
  }
  #footer {
    margin-top: 90px;
  }
  #footer .global-footer {
    background-color: #0b3086;
    color: white;
    position: relative;
    z-index: 1;
  }
  #footer .global-footer:before {
    content: " ";
    display: table;
  }
  #footer .global-footer:after {
    clear: both;
  }
  #footer .global-footer .inner {
    width: auto;
    margin-left: auto;
    margin-right: auto;
  }
  #footer .global-footer .credits {
    position: relative;
    float: none;
    padding-top: 80px;
    padding-bottom: 80px;
    padding-left: 0;
    text-align: center;
    font-size: 13px;
  }
  #footer .global-footer .credits:before {
    background: url(../images/code2027/sprites@2x.png) no-repeat 0 0;
    background-size: 960px auto;
    background-position: -400px -25px;
    content: "";
    position: absolute;
    width: 75px;
    height: 29px;
    top: 30px;
    left: 50%;
    margin-left: -37.5px;
  }
  #footer .global-footer .credits .affiliates {
    display: block;
    font-weight: bold;
  }
  #footer .global-footer .credits small {
    font-size: 80%;
  }
  #pageTop {
    background: url(../images/code2027/toTop.webp) no-repeat;
    background-size: cover;
    z-index: 2;
    position: fixed;
    width: 35px;
    height: 35px;
    right: 15px;
    bottom: 10px;
    display: block;
    z-index: 10;
  }
  /* ココから下には記入禁止 */
  .forPC {
    display: none !important;
  }
}
@media print, screen and (min-width: 1024px) {
  body {
    font-size: 20px;
  }
  .tel {
    color: inherit !important;
    text-decoration: none !important;
    pointer-events: none;
  }
  h2, h3, h4 {
    line-height: 1.3;
  }
  #mv {
    background: url(../images/code2027/main_pc.webp) no-repeat center/cover;
    width: 100%;
    height: 620px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-top: 8px solid #087900;
  }
  #mv .mvCatch {
    font-size: 60px;
    text-align: center;
    text-shadow: 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255);
  }
  #mv .mvSubCatch {
    font-size: 30px;
    margin-top: 20px;
    text-shadow: 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255), 0px 0px 32px rgb(255, 255, 255);
    line-height: 1.4;
  }
  .mvBottom {
    font-size: 30px;
    padding: 18px;
  }
  #intro {
    position: relative;
  }
  #intro:before {
    content: "";
    width: 100%;
    height: 178px;
    position: absolute;
    top: 0;
    left: 0;
    background-image: repeating-linear-gradient(-45deg, #ebf59f 0, #ebf59f 10px, #fefef9 10px, #fefef9 18px);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100%;
  }
  #intro .introInner {
    max-width: 1470px;
    width: 90%;
    margin: 0 auto;
    padding: 80px 0 100px;
  }
  #intro .introText {
    font-size: 30px;
  }
  #intro .introText span {
    font-size: 34px;
    background: linear-gradient(transparent 80%, #fff100 80%);
  }
  #intro .bookWrap {
    display: flex;
    gap: 85px;
    max-width: 1200px;
    margin: 50px auto 0;
  }
  #intro .bookWrap figure {
    width: 217px;
    flex: none;
  }
  #intro .bookWrap .bookText {
    padding: 44px 55px;
  }
  #intro .bookWrap .bookText:before {
    content: "";
    display: inline-block;
    width: 48px;
    height: 4px;
    background-color: #eff8ab;
    position: absolute;
    left: -48px;
    top: calc(50% - 2px);
  }
  #about2027 .aboutInner {
    max-width: 1470px;
    width: 90%;
    margin: 0 auto;
  }
  #about2027 .aboutWrap {
    padding: 80px 80px 90px;
  }
  #about2027 .aboutWrap:before {
    content: "";
    width: 100%;
    height: 21px;
    position: absolute;
    top: 0;
    left: 0;
    background-image: repeating-linear-gradient(-45deg, #ebf59f 0, #ebf59f 10px, #f7fbde 10px, #f7fbde 18px);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100%;
  }
  #about2027 .aboutWrap h2 span {
    display: inline-block;
    line-height: 1.2;
    background-color: #087900;
    font-size: 32px;
    padding: 11px 27px;
    border-radius: 2px;
  }
  #about2027 .aboutWrap h3 {
    font-size: 48px;
    margin-top: 30px;
  }
  #about2027 .aboutWrap h3 span {
    font-size: 38px;
  }
  #about2027 .aboutWrap h3 + p {
    text-align: center;
    margin-top: 30px;
  }
  #about2027 .aboutWrap .aboutBox {
    margin: 50px auto 0;
    max-width: 770px;
    display: flex;
    gap: 48px;
  }
  #about2027 .aboutWrap .aboutBox figure {
    width: 372px;
    flex: none;
  }
  #about2027 .aboutWrap .aboutBox figure img {
    border-radius: 10px;
  }
  #about2027 .aboutWrap .aboutBox .aboutBoxText p span {
    font-weight: 700;
    background: linear-gradient(transparent 80%, #fff100 80%);
  }
  #about2027 .aboutWrap .aboutBox .aboutBoxText * + p {
    margin-top: 30px;
  }
  #think3anchor {
    margin-top: 120px;
  }
  #think3anchor .think3Inner {
    max-width: 1470px;
    width: 90%;
    margin: 0 auto;
  }
  #think3anchor h2 {
    font-size: 34px;
  }
  #think3anchor h2 > div {
    padding: 0 68px;
  }
  #think3anchor h2 > div span {
    font-size: 40px;
    color: #087900;
  }
  #think3anchor h2 > div:before {
    content: "";
    display: inline-block;
    background-color: #087900;
    width: 5px;
    height: 90px;
    transform: rotate(-20deg);
    position: absolute;
    left: 17px;
    bottom: 0;
  }
  #think3anchor h2 > div:after {
    content: "";
    display: inline-block;
    background-color: #087900;
    width: 5px;
    height: 90px;
    transform: rotate(20deg);
    position: absolute;
    right: 17px;
    bottom: 0;
  }
  #think3anchor .think3List {
    margin-top: 40px;
    display: flex;
    gap: 30px;
  }
  #think3anchor .think3List li {
    flex: 1;
    border-radius: 10px;
    border: 7px solid #0ba900;
    padding: 60px 18px 18px;
    text-align: center;
  }
  #think3anchor .think3List li .num {
    width: 67px;
    height: 67px;
    font-size: 32px;
    position: absolute;
    top: 19px;
    left: 21px;
  }
  #think3anchor .think3List li figure img {
    max-height: 151px;
  }
  #think3anchor .think3List li h3 {
    font-size: 40px;
    margin-top: 30px;
  }
  #think3anchor .think3List li h3 span {
    color: #087900;
  }
  #think3anchor .think3List li p {
    font-size: 22px;
    margin-top: 20px;
  }
  #think3anchor .think3List li .btn {
    margin-top: 20px;
  }
  #think3anchor .think3List li .btn a {
    font-size: 22px;
    height: 63px;
    border-radius: 38px;
    border: 5px solid #e4eea9;
    max-width: 280px;
    margin: 0 auto;
    transition: 0.3s;
  }
  #think3anchor .think3List li .btn a:after {
    content: "";
    display: inline-block;
    background: url(../images/code2027/anchor_arrow.webp) no-repeat center/cover;
    width: 21px;
    height: 14px;
    position: absolute;
    right: 30px;
    top: calc(50% - 7px);
    transition: 0.3s;
  }
  #think3anchor .think3List li .btn a:hover {
    color: #fff;
    background-color: #087900;
  }
  #think3anchor .think3List li .btn a:hover:after {
    background: url(../images/code2027/anchor_arrow_w.webp) no-repeat center/cover;
  }
  #think3anchor .thinkNext {
    margin-top: 100px;
    font-size: 34px;
    padding-bottom: 80px;
  }
  #think3anchor .thinkNext:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 80px solid transparent;
    border-left: 80px solid transparent;
    border-top: 52px solid #087900;
    border-bottom: 0;
    position: absolute;
    bottom: 0;
    left: calc(50% - 80px);
  }
  .thinkBox {
    margin: 70px auto 0;
    border: 14px solid #0ba900;
    border-radius: 23px;
    width: 94%;
    background-color: #f3f9d5;
  }
  .thinkBox .heading {
    gap: 37px;
    max-width: 1470px;
    width: 90%;
    margin: 0 auto;
    padding: 30px 0;
  }
  .thinkBox .heading .num {
    width: 90px;
    height: 90px;
    font-size: 47px;
  }
  .thinkBox .heading h2 {
    font-size: 53px;
  }
  .thinkBox .contBox {
    padding: 60px 0px 0;
    border-radius: 0 0 0 23px;
    overflow: hidden;
  }
  .thinkBox .contBox:before {
    content: "";
    display: inline-block;
    background-color: #daeeaf;
    width: 338px;
    height: 277px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
  }
  .thinkBox .contBox:after {
    content: "";
    width: 338px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: repeating-linear-gradient(-45deg, #f3f9d5 0, #f3f9d5 10px, #fcfdf4 10px, #fcfdf4 18px);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100%;
  }
  .thinkBox .contBox .thinkContList {
    padding: 60px 0 60px 80px;
    max-width: 1470px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 48px 40px;
  }
  .thinkBox .contBox .thinkContList li {
    width: calc(50% - 20px);
    border-radius: 20px;
    border: 10px solid #e6f1ae;
    padding: 30px;
    text-align: center;
  }
  .thinkBox .contBox .thinkContList li h3 {
    font-size: 38px;
  }
  .thinkBox .contBox .thinkContList li p {
    font-size: 22px;
    margin-top: 20px;
  }
  #think1 figure img {
    max-height: 238px;
  }
  #think2 figure img {
    max-height: 197px;
  }
  #think3 figure img {
    max-height: 202px;
  }
  #indetail {
    margin-top: 115px;
  }
  #indetail h2 {
    font-size: 32px;
  }
  #indetail h2 + p {
    margin-top: 40px;
    text-align: center;
  }
  #indetail h2 span {
    display: block;
    padding: 12px 20px;
    max-width: 652px;
    margin: 0 auto;
  }
  #indetail .externalLink {
    display: flex;
    gap: 25px;
    max-width: 1470px;
    width: 90%;
    margin: 0 auto;
    margin-top: 40px;
  }
  #indetail .externalLink li {
    background-color: #f3f9d5;
    flex: 1;
    padding: 15px 50px;
  }
  #indetail .externalLink li a {
    display: block;
    transition: 0.3s;
  }
  #indetail .externalLink li a:hover {
    opacity: 0.5;
  }
  #indetail .externalLink li a figcaption {
    font-size: 16px;
    margin-top: 10px;
  }
  #indetail .externalLink li a figcaption:after {
    content: "";
    display: inline-block;
    position: absolute;
    background: url(../images/code2027/icon_blank_b.svg) no-repeat center/cover;
    filter: invert(15%) sepia(40%) saturate(3712%) hue-rotate(209deg) brightness(107%) contrast(103%);
    width: 16px;
    height: 16px;
    right: calc(50% - 56px);
    top: calc(50% - 11px);
  }
  #indetail .externalLink li a p {
    text-align: center;
    font-weight: 600;
    margin-bottom: 10px;
    font-size: 22px;
  }
  .colorbar {
    position: absolute;
    top: 0;
    left: 50%;
    width: 960px;
    margin-left: -480px;
    height: 3px;
    background: url(../images/code2027/sprites@2x.png) no-repeat 0 0;
    background-size: 960px auto;
  }
  .colorbar:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 960px;
    top: 0;
    background-color: #B2A525;
    right: 100%;
  }
  .colorbar:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 960px;
    top: 0;
    background-color: #5D924B;
    left: 100%;
  }
  #header {
    position: relative;
    height: 100px;
  }
  #header .inner {
    width: 90%;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
  }
  #header .site-logo {
    position: relative;
    float: left;
    margin-top: 30px;
  }
  #header .site-logo a {
    position: absolute;
    display: block;
    overflow: hidden;
    height: 51px;
  }
  #header .site-logo a:before {
    content: url(../images/code2027/sprites@2x.png);
    display: inline-block;
    font-size: 0;
    line-height: 0;
    margin-left: -120px;
    margin-top: -5px;
    transform: scale(0.5);
    transform-origin: 0 0;
  }
  #header .site-logo a.playtrue {
    width: 60px;
    left: 120px;
  }
  #header .site-logo a.jada {
    width: 120px;
    float: right;
  }
  #header .site-logo a.jada:before {
    margin-left: 0;
  }
  #header .cf {
    zoom: 1;
  }
  #header .cf:after {
    content: "";
    display: block;
    clear: both;
  }
  #header .nav-group-secondary {
    float: right;
    margin-top: 22px;
  }
  #header .tagline {
    position: absolute;
    top: 64px;
    width: 480px;
    text-align: right;
    color: #000000;
    font-weight: bold;
    right: 5%;
    left: auto;
    font-size: 13px;
  }
  #header .tagline .narrow-screen {
    display: none;
  }
  #footer {
    margin-top: 190px;
  }
  #footer .global-footer {
    background-color: #0b3086;
    color: white;
    position: relative;
    z-index: 1;
    height: 110px;
  }
  #footer .global-footer:before {
    content: " ";
    display: table;
  }
  #footer .global-footer:after {
    clear: both;
  }
  #footer .global-footer .inner {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  #footer .global-footer .credits {
    float: left;
    padding-left: 94px;
    padding-top: 31px;
    position: relative;
    font-size: 13px;
  }
  #footer .global-footer .credits:before {
    background: url(../images/code2027/sprites@2x.png) no-repeat 0 0;
    background-size: 960px auto;
    background-position: -400px -25px;
    content: "";
    position: absolute;
    left: 0;
    width: 75px;
    height: 29px;
  }
  #footer .global-footer .credits .affiliates {
    display: block;
    font-weight: bold;
  }
  #footer .global-footer .credits small {
    font-size: 80%;
  }
  #pageTop {
    background: url(../images/code2027/toTop.webp) no-repeat;
    background-size: cover;
    z-index: 2;
    position: fixed;
    width: 79px;
    height: 79px;
    right: 30px;
    bottom: 20px;
    z-index: 10;
    transition: 0.3s;
  }
  #pageTop:hover {
    opacity: 0.5;
  }
  /* ココから下には記入禁止 */
  .forSP {
    display: none !important;
  }
}
@media screen and (min-width: 1023px) and (max-width: 1023px) {
  h2, h3, h4 {
    line-height: 1.3;
  }
  #indetail .externalLink li {
    background-color: #f3f9d5;
  }
  #indetail .externalLink li a figcaption:after {
    content: "";
    display: inline-block;
    position: absolute;
    background: url(../images/code2027/icon_blank_b.svg) no-repeat center/cover;
    filter: invert(15%) sepia(40%) saturate(3712%) hue-rotate(209deg) brightness(107%) contrast(103%);
  }
  #indetail .externalLink li a p {
    text-align: center;
    font-weight: 600;
  }
  /* ココから下には記入禁止 */
}