/*--------------------
	VARIABLE
--------------------*/
/*--------------------
	COMMON
--------------------*/
@media screen and (max-width: 640px) {
  .pc {
    display: none !important; } }

.sp {
  display: none; }
  @media screen and (min-width: 641px) {
    .sp {
      display: block; } }

/*--------------------
	VIEW
--------------------*/
#view .atsn {
  width: 760px;
  background: #2151a7;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  padding: 5px 0;
  margin: 40px auto 0; }
  @media screen and (max-width: 640px) {
    #view .atsn {
      width: 100%;
      max-width: 500px;
      font-size: 1.1rem;
      margin: 60px auto 0; } }
#view h2.pc {
  text-align: center;
  color: #2151a7;
  font-size: 2.4rem;
  padding: 10px 0;
  border-top: 3px solid #2151a7;
  border-bottom: 3px solid #2151a7;
  margin: 60px 0; }
  #view h2.pc span {
    font-size: 1.8rem; }
#view h2.sp {
  text-align: center;
  color: #2151a7;
  font-size: 1rem;
  padding: 10px 0;
  border-top: 3px solid #2151a7;
  border-bottom: 3px solid #2151a7;
  margin: 20px 0; }
  #view h2.sp .ccl {
    display: inline-block;
    background: #2151a7;
    color: #fff;
    padding: 6px 9px;
    border-radius: 25px;
    margin-right: 1em; }
  #view h2.sp .bgr {
    font-size: 1.5rem; }
#view .inner {
  width: 1160px;
  margin: 0 auto; }
  @media screen and (max-width: 640px) {
    #view .inner {
      width: 96%; } }
  #view .inner .flow {
    display: grid;
    grid-template-columns: 300px 300px 300px 236px; }
    #view .inner .flow li {
      width: 110%;
      clip-path: polygon(90% 0, 320px 50%, 90% 100%, 0% 100%, 22px 50%, 0% 0%);
      background: #7fa6d6;
      text-align: center;
      color: #fff;
      line-height: 2.5; }
      #view .inner .flow li:first-child {
        clip-path: polygon(0% 0%, 90% 0, 320px 50%, 90% 100%, 0% 100%);
        background: #2151a7;
        text-indent: -1em; }
      #view .inner .flow li:last-child {
        clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 22px 50%);
        text-indent: 1em; }
      #view .inner .flow li span {
        font-size: 1.6rem; }
  #view .inner h3 {
    font-size: 2rem;
    line-height: 1.8;
    margin: 60px 0 20px;
    border-bottom: 5px solid #ddd; }
    @media screen and (max-width: 640px) {
      #view .inner h3 {
        font-size: 1.4rem;
        margin: 20px 0 10px;
        border-bottom: 3px solid #ddd; } }
    #view .inner h3 span {
      padding-bottom: 5px;
      border-bottom: 5px solid #bba980; }
      @media screen and (max-width: 640px) {
        #view .inner h3 span {
          padding-bottom: 4px;
          border-bottom: 3px solid #bba980; } }
  #view .inner .note span {
    color: #f00; }
  #view .inner .code {
    width: 50%;
    margin: 40px 0; }
    @media screen and (max-width: 640px) {
      #view .inner .code {
        width: 100%; } }
    #view .inner .code thead tr th {
      text-align: center;
      background: #efefef;
      font-weight: bold;
      padding: 10px 0;
      border: 1px solid #ccc; }
    #view .inner .code tbody tr td {
      text-align: center;
      vertical-align: middle;
      padding: 10px;
      border: 1px solid #ccc; }
      @media screen and (max-width: 640px) {
        #view .inner .code tbody tr td:last-child {
          width: 25%; } }
      #view .inner .code tbody tr td input {
        width: 50%;
        text-align: center;
        font-size: 1.2rem;
        padding: 5px 0; }
      #view .inner .code tbody tr td a {
        display: inline-block;
        background: #fff;
        color: #666;
        font-size: .8rem;
        line-height: 1.2em;
        padding: 5px 10px;
        border: 1px solid #ccc;
        border-radius: 5px;
        filter: drop-shadow(2px 2px 2px #ccc);
        transition: .3s; }
        #view .inner .code tbody tr td a:hover {
          text-decoration: none;
          filter: none; }
  #view .inner .itm {
    width: 100%; }
    #view .inner .itm thead tr th {
      text-align: center;
      font-size: 1rem;
      background: #efefef;
      padding: 10px 0;
      border: 1px solid #ccc; }
    #view .inner .itm tbody tr td {
      width: 10%;
      text-align: center;
      font-size: 1rem;
      vertical-align: middle;
      padding: 10px;
      border: 1px solid #ccc; }
      #view .inner .itm tbody tr td:first-child {
        width: 12%; }
      #view .inner .itm tbody tr td:nth-child(3) {
        width: 38%;
        text-align: left;
        font-size: 1.2rem; }
      #view .inner .itm tbody tr td figuare {
        display: grid;
        grid-template-columns: 100px 1fr;
        gap: 20px; }
        #view .inner .itm tbody tr td figuare img {
          display: block;
          width: 100px; }
        #view .inner .itm tbody tr td figuare figcaption {
          text-align: left;
          font-weight: bold;
          padding-top: 10px; }
          #view .inner .itm tbody tr td figuare figcaption span {
            display: inline-block;
            font-size: 1rem;
            font-weight: normal;
            margin-top: 10px; }
      #view .inner .itm tbody tr td input {
        width: 50%;
        text-align: center;
        font-size: 1.2rem;
        padding: 5px 0; }
      #view .inner .itm tbody tr td a {
        display: inline-block;
        background: #fff;
        color: #666;
        font-size: .8rem;
        line-height: 1.2em;
        padding: 5px 10px;
        border: 1px solid #ccc;
        border-radius: 5px;
        filter: drop-shadow(2px 2px 2px #ccc);
        transition: .3s; }
        #view .inner .itm tbody tr td a:hover {
          text-decoration: none;
          filter: none; }
    #view .inner .itm tfoot tr {
      font-weight: bold; }
      #view .inner .itm tfoot tr th {
        text-align: right;
        font-size: 1.2rem;
        padding: 15px;
        border: 1px solid #ccc; }
      #view .inner .itm tfoot tr td {
        text-align: center;
        border: 1px solid #ccc; }
    #view .inner .itm .bld {
      font-weight: bold; }
  #view .inner .boxs .box {
    padding: 2%;
    border: 1px solid #ccc;
    margin-bottom: 10px; }
    #view .inner .boxs .box p {
      font-size: 1.2rem;
      padding-bottom: 10px;
      border-bottom: 1px solid #ccc;
      margin-bottom: 10px; }
      #view .inner .boxs .box p span {
        display: inline-block;
        font-size: 1rem;
        margin-top: 5px; }
    #view .inner .boxs .box .dtl .itm {
      text-align: right; }
      #view .inner .boxs .box .dtl .itm dt span {
        font-size: 1rem; }
      #view .inner .boxs .box .dtl .itm dd input {
        width: 50px;
        text-align: center;
        font-size: 1.2rem;
        padding: 5px 0;
        margin: 5px 0 10px; }
    #view .inner .boxs .box .dtl .sub {
      text-align: right; }
      #view .inner .boxs .box .dtl .sub dt {
        font-size: 1.2rem; }
      #view .inner .boxs .box .dtl .sub dd a {
        display: inline-block;
        text-align: center;
        background: #fff;
        color: #666;
        font-size: .8rem;
        line-height: 1.2em;
        padding: 5px 10px;
        border: 1px solid #ccc;
        border-radius: 5px;
        filter: drop-shadow(1px 1px 1px #ccc);
        margin: 5px 0 10px; }
  #view .inner .boxs .ttl {
    margin: 20px 0; }
    #view .inner .boxs .ttl dl {
      display: grid;
      grid-template-columns: 40% 1fr;
      background: #efefef;
      font-size: 1.4rem;
      padding: 10px 0; }
      #view .inner .boxs .ttl dl dt {
        text-align: center;
        border-right: 1px solid #fff; }
      #view .inner .boxs .ttl dl dd {
        text-align: right;
        padding: 0 2%; }
  #view .inner .btn {
	width: 600px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin: 60px auto 120px; }
    @media screen and (max-width: 640px) {
      #view .inner .btn {
        width: 300px;
        grid-template-columns: 1fr;
        gap: 20px;
        margin: 40px auto; } }
    #view .inner .btn li {
      text-align: center;
      font-size: 1.5rem;
      font-weight: bold; }
      @media screen and (max-width: 640px) {
        #view .inner .btn li {
          font-size: 1.2rem; } }
      #view .inner .btn li a {
        display: block;
        background: #2151a7;
        color: #fff;
        padding: 10px 0;
        border-radius: 10px;
        filter: drop-shadow(5px 5px 0px #7fa6d6);
        position: relative;
        transition: .3s; }
        #view .inner .btn li a:hover {
          text-decoration: none;
          filter: none; }
        #view .inner .btn li a i {
          position: absolute;
          top: 17px;
          right: 10%; }

/*--------------------
	INPUT
--------------------*/
#input .atsn {
  width: 760px;
  background: #2151a7;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  padding: 5px 0;
  margin: 40px auto 0; }
  @media screen and (max-width: 640px) {
    #input .atsn {
      width: 100%;
      max-width: 500px;
      font-size: 1.1rem;
      margin: 60px auto 0; } }
#input h2.pc {
  text-align: center;
  color: #2151a7;
  font-size: 2.4rem;
  padding: 10px 0;
  border-top: 3px solid #2151a7;
  border-bottom: 3px solid #2151a7;
  margin: 60px 0; }
  #input h2.pc span {
    font-size: 1.8rem; }
#input h2.sp {
  text-align: center;
  color: #2151a7;
  font-size: 1rem;
  padding: 10px 0;
  border-top: 3px solid #2151a7;
  border-bottom: 3px solid #2151a7;
  margin: 20px 0; }
  #input h2.sp .ccl {
    display: inline-block;
    background: #2151a7;
    color: #fff;
    padding: 6px 9px;
    border-radius: 25px;
    margin-right: 1em; }
  #input h2.sp .bgr {
    font-size: 1.5rem; }
#input .inner {
  width: 1160px;
  margin: 0 auto; }
  @media screen and (max-width: 640px) {
    #input .inner {
      width: 96%; } }
  #input .inner .flow {
    display: grid;
    grid-template-columns: 300px 300px 300px 236px; }
    #input .inner .flow li {
      width: 110%;
      clip-path: polygon(90% 0, 320px 50%, 90% 100%, 0% 100%, 22px 50%, 0% 0%);
      background: #7fa6d6;
      text-align: center;
      color: #fff;
      line-height: 2.5; }
      #input .inner .flow li:first-child {
        clip-path: polygon(0% 0%, 90% 0, 320px 50%, 90% 100%, 0% 100%);
        text-indent: -1em; }
      #input .inner .flow li:nth-child(2) {
        background: #2151a7; }
      #input .inner .flow li:last-child {
        clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 22px 50%);
        text-indent: 1em; }
      #input .inner .flow li span {
        font-size: 1.6rem; }
  #input .inner h3 {
    font-size: 2rem;
    line-height: 1.8;
    margin: 60px 0 20px;
    border-bottom: 5px solid #ddd; }
    @media screen and (max-width: 640px) {
      #input .inner h3 {
        font-size: 1.4rem;
        margin: 20px 0 10px;
        border-bottom: 3px solid #ddd; } }
    #input .inner h3 span {
      padding-bottom: 5px;
      border-bottom: 5px solid #bba980; }
      @media screen and (max-width: 640px) {
        #input .inner h3 span {
          padding-bottom: 4px;
          border-bottom: 3px solid #bba980; } }
  #input .inner .note {
    font-size: 1rem; }
    @media screen and (max-width: 640px) {
      #input .inner .note {
        font-size: .9rem; } }
    #input .inner .note span {
      color: #f00; }
  #input .inner .h-adr {
    border-top: 2px solid #ccc; }
    #input .inner .h-adr dl {
      display: grid;
      grid-template-columns: 300px 1fr;
      box-sizing: border-box;
      border-bottom: 2px solid #ccc;
      border-right: 2px solid #ccc;
      border-left: 2px solid #ccc; }
      @media screen and (max-width: 640px) {
        #input .inner .h-adr dl {
          grid-template-columns: 1fr; } }
      #input .inner .h-adr dl:nth-child(-n + 3) dt {
        line-height: 88px; }
        @media screen and (max-width: 640px) {
          #input .inner .h-adr dl:nth-child(-n + 3) dt {
            line-height: 1rem; } }
      #input .inner .h-adr dl:nth-child(5) dt {
        line-height: 109px; }
        @media screen and (max-width: 640px) {
          #input .inner .h-adr dl:nth-child(5) dt {
            line-height: 1rem; } }
      #input .inner .h-adr dl:nth-child(10) dt {
        line-height: 189px; }
        @media screen and (max-width: 640px) {
          #input .inner .h-adr dl:nth-child(10) dt {
            line-height: 1rem; } }
      #input .inner .h-adr dl dt {
        background: #efefef;
        text-align: center;
        line-height: 60px;
        border-right: 2px solid #ccc; }
        @media screen and (max-width: 640px) {
          #input .inner .h-adr dl dt {
            text-align: left;
            line-height: 1rem;
            padding: 15px 10px;
            border: NONE; } }
        #input .inner .h-adr dl dt span {
          color: #f00;
          font-size: .8rem; }
      #input .inner .h-adr dl dd {
        padding: 5px 20px;
        position: relative; }
        @media screen and (max-width: 640px) {
          #input .inner .h-adr dl dd {
            padding: 10px; } }
        #input .inner .h-adr dl dd span {
          font-size: .9rem; }
        #input .inner .h-adr dl dd ul {
          width: 380px;
          display: grid;
          grid-template-columns: 1fr 1fr 1fr 1fr;
          gap: 5px;
          position: absolute;
          right: 0;
          bottom: 10px; }
          @media screen and (max-width: 640px) {
            #input .inner .h-adr dl dd ul {
              width: auto;
              position: relative;
              right: auto;
              bottom: auto;
              margin: 5px auto 0; } }
          #input .inner .h-adr dl dd ul li a {
            display: inline-block;
            background: #f2f2f2;
            color: #666;
            font-size: .8rem;
            line-height: 1.2em;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
            filter: drop-shadow(2px 2px 2px #ccc);
            transition: .3s; }
            @media screen and (max-width: 640px) {
              #input .inner .h-adr dl dd ul li a {
                width: 65px;
                text-align: center;
                padding: 10px 5px;
                margin: 0 auto; } }
            #input .inner .h-adr dl dd ul li a:hover {
              text-decoration: none;
              filter: none; }
        #input .inner .h-adr dl dd input {
          padding: 10px;
          margin: 5px; }
        #input .inner .h-adr dl dd .min {
          width: 80px; }
          @media screen and (max-width: 640px) {
            #input .inner .h-adr dl dd .min {
              width: 60px; } }
        #input .inner .h-adr dl dd .mid {
          width: 400px; }
          @media screen and (max-width: 640px) {
            #input .inner .h-adr dl dd .mid {
              width: 80%; } }
        #input .inner .h-adr dl dd .big {
          width: 500px; }
          @media screen and (max-width: 640px) {
            #input .inner .h-adr dl dd .big {
              width: 90%; } }
        #input .inner .h-adr dl dd select {
          padding: 10px;
          margin: 5px; }
        #input .inner .h-adr dl dd textarea {
          width: calc(100% - 30px);
          max-width: 786px;
          padding: 10px;
          margin: 5px; }
  #input .inner .scrl {
    width: 700px;
    height: 200px;
    overflow-y: scroll;
    padding: 20px 40px;
    border: 1px solid #ccc;
    margin: 40px auto 10px; }
    @media screen and (max-width: 640px) {
      #input .inner .scrl {
        width: calc(100% - 40px);
        padding: 20px; } }
    #input .inner .scrl h5 {
      font-weight: bold;
      margin-top: 20px; }
    #input .inner .scrl ul {
      list-style: disc;
      padding-left: 1.25em; }
  #input .inner .nt {
    width: 780px;
    font-size: 1rem;
    margin: 0 auto; }
    @media screen and (max-width: 640px) {
      #input .inner .nt {
        width: 100%; } }
  #input .inner .btn {
    width: 600px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin: 60px auto 120px; }
    @media screen and (max-width: 640px) {
      #input .inner .btn {
        width: auto;
        grid-template-columns: 1fr;
        gap: 20px;
        margin: 40px auto 60px; } }
    #input .inner .btn li {
      text-align: center;
      font-size: 1.5rem;
      font-weight: bold; }
      @media screen and (max-width: 640px) {
        #input .inner .btn li {
          font-size: 1.2rem; } }
      #input .inner .btn li:first-child a {
        background: #999;
        filter: drop-shadow(5px 5px 0px #ccc); }
      #input .inner .btn li:last-child a {
        background: #f5a200;
        filter: drop-shadow(5px 5px 0px #fad080); }
      #input .inner .btn li a {
        display: block;
        color: #fff;
        padding: 10px 0;
        border-radius: 10px;
        transition: .3s; }
        @media screen and (max-width: 640px) {
          #input .inner .btn li a {
            position: relative; } }
        #input .inner .btn li a:hover {
          text-decoration: none;
          filter: none; }
        @media screen and (max-width: 640px) {
          #input .inner .btn li a i {
            position: absolute;
            top: 17px;
            right: 20%; } }

/*--------------------
	CONF
--------------------*/
#conf .atsn {
  width: 760px;
  background: #2151a7;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  padding: 5px 0;
  margin: 40px auto 0; }
  @media screen and (max-width: 640px) {
    #conf .atsn {
      width: 100%;
      max-width: 500px;
      font-size: 1.1rem;
      margin: 60px auto 0; } }
#conf h2.pc {
  text-align: center;
  color: #2151a7;
  font-size: 2.4rem;
  padding: 10px 0;
  border-top: 3px solid #2151a7;
  border-bottom: 3px solid #2151a7;
  margin: 60px 0; }
  #conf h2.pc span {
    font-size: 1.8rem; }
#conf h2.sp {
  text-align: center;
  color: #2151a7;
  font-size: 1rem;
  padding: 10px 0;
  border-top: 3px solid #2151a7;
  border-bottom: 3px solid #2151a7;
  margin: 20px 0; }
  #conf h2.sp .ccl {
    display: inline-block;
    background: #2151a7;
    color: #fff;
    padding: 6px 9px;
    border-radius: 25px;
    margin-right: 1em; }
  #conf h2.sp .bgr {
    font-size: 1.5rem; }
#conf .inner {
  width: 1160px;
  margin: 0 auto; }
  @media screen and (max-width: 640px) {
    #conf .inner {
      width: 96%; } }
  #conf .inner .flow {
    display: grid;
    grid-template-columns: 300px 300px 300px 236px; }
    #conf .inner .flow li {
      width: 110%;
      clip-path: polygon(90% 0, 320px 50%, 90% 100%, 0% 100%, 22px 50%, 0% 0%);
      background: #7fa6d6;
      text-align: center;
      color: #fff;
      line-height: 2.5; }
      #conf .inner .flow li:first-child {
        clip-path: polygon(0% 0%, 90% 0, 320px 50%, 90% 100%, 0% 100%);
        text-indent: -1em; }
      #conf .inner .flow li:nth-child(3) {
        background: #2151a7; }
      #conf .inner .flow li:last-child {
        clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 22px 50%);
        text-indent: 1em; }
      #conf .inner .flow li span {
        font-size: 1.6rem; }
  #conf .inner h3 {
    font-size: 2rem;
    line-height: 1.8;
    margin: 60px 0 20px;
    border-bottom: 5px solid #ddd; }
    @media screen and (max-width: 640px) {
      #conf .inner h3 {
        font-size: 1.4rem;
        margin: 20px 0 10px;
        border-bottom: 3px solid #ddd; } }
    #conf .inner h3 span {
      padding-bottom: 5px;
      border-bottom: 5px solid #bba980; }
      @media screen and (max-width: 640px) {
        #conf .inner h3 span {
          padding-bottom: 4px;
          border-bottom: 3px solid #bba980; } }
  #conf .inner table {
    width: 100%; }
    #conf .inner table thead tr th {
      text-align: center;
      font-size: 1rem;
      background: #efefef;
      padding: 10px 0;
      border: 1px solid #ccc; }
    #conf .inner table tbody tr td {
      width: 10%;
      text-align: center;
      font-size: 1rem;
      vertical-align: middle;
      padding: 10px;
      border: 1px solid #ccc; }
      #conf .inner table tbody tr td:first-child {
        width: 12%; }
      #conf .inner table tbody tr td:nth-child(3) {
        width: 38%;
        text-align: left;
        font-size: 1.2rem; }
    #conf .inner table tfoot tr {
      font-weight: bold; }
      #conf .inner table tfoot tr th {
        background: #efefef;
        text-align: right;
        font-size: 1.2rem;
        padding: 15px;
        border: 1px solid #ccc; }
      #conf .inner table tfoot tr td {
        text-align: center;
        border: 1px solid #ccc; }
  #conf .inner .boxs .box {
    padding: 2%;
    border: 1px solid #ccc;
    margin-bottom: 10px; }
    #conf .inner .boxs .box p {
      font-size: 1rem;
      padding-bottom: 10px;
      border-bottom: 1px solid #ccc;
      margin-bottom: 10px; }
      #conf .inner .boxs .box p span {
        display: inline-block;
        font-size: 1rem;
        margin-top: 5px; }
    #conf .inner .boxs .box .itm {
      text-align: right;
      font-size: 1rem; }
    #conf .inner .boxs .box .sub {
      text-align: right;
      font-size: 1.2rem; }
  #conf .inner .boxs .ttl {
    margin: 20px 0; }
    #conf .inner .boxs .ttl dl {
      display: grid;
      grid-template-columns: 1fr 1fr;
      background: #efefef;
      font-size: 1.4rem;
      padding: 10px 0; }
      #conf .inner .boxs .ttl dl dt {
        text-align: center;
        border-right: 1px solid #fff; }
      #conf .inner .boxs .ttl dl dd {
        text-align: right;
        padding: 0 2%; }
  #conf .inner form {
    border-top: 2px solid #ccc; }
    #conf .inner form dl {
      display: grid;
      grid-template-columns: 300px 1fr;
      box-sizing: border-box;
      border-bottom: 2px solid #ccc;
      border-right: 2px solid #ccc;
      border-left: 2px solid #ccc; }
      @media screen and (max-width: 640px) {
        #conf .inner form dl {
          grid-template-columns: 1fr; } }
      #conf .inner form dl:nth-child(4) dt {
        padding: 34px 20px; }
        @media screen and (max-width: 640px) {
          #conf .inner form dl:nth-child(4) dt {
            padding: 15px 10px; } }
      #conf .inner form dl dt {
        background: #efefef;
        text-align: center;
        padding: 20px;
        border-right: 2px solid #ccc; }
        @media screen and (max-width: 640px) {
          #conf .inner form dl dt {
            text-align: left;
            padding: 15px 10px;
            border: none; } }
      #conf .inner form dl dd {
        padding: 20px;
        position: relative; }
        @media screen and (max-width: 640px) {
          #conf .inner form dl dd {
            padding: 10px; } }
  #conf .inner .btn {
    width: 600px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin: 60px auto 120px; }
    @media screen and (max-width: 640px) {
      #conf .inner .btn {
        width: auto;
        grid-template-columns: 1fr;
        gap: 20px;
        margin: 40px auto 60px; } }
    #conf .inner .btn li {
      text-align: center;
      font-size: 1.5rem;
      font-weight: bold; }
      @media screen and (max-width: 640px) {
        #conf .inner .btn li {
          font-size: 1.2rem; } }
      #conf .inner .btn li:first-child a {
        background: #999;
        filter: drop-shadow(5px 5px 0px #ccc); }
      #conf .inner .btn li:last-child a {
        background: #f5a200;
        filter: drop-shadow(5px 5px 0px #fad080); }
      #conf .inner .btn li a {
        display: block;
        color: #fff;
        padding: 10px 0;
        border-radius: 10px;
        transition: .3s; }
        @media screen and (max-width: 640px) {
          #conf .inner .btn li a {
            position: relative; } }
        #conf .inner .btn li a:hover {
          text-decoration: none;
          filter: none; }
        @media screen and (max-width: 640px) {
          #conf .inner .btn li a i {
            position: absolute;
            top: 17px;
            right: 20%; } }

/*--------------------
	COMPLETE
--------------------*/
#complete .atsn {
  width: 760px;
  background: #2151a7;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  padding: 5px 0;
  margin: 40px auto 0; }
  @media screen and (max-width: 640px) {
    #complete .atsn {
      width: 100%;
      max-width: 500px;
      font-size: 1.1rem;
      margin: 60px auto 0; } }
#complete h2.pc {
  text-align: center;
  color: #2151a7;
  font-size: 2.4rem;
  padding: 10px 0;
  border-top: 3px solid #2151a7;
  border-bottom: 3px solid #2151a7;
  margin: 60px 0; }
  #complete h2.pc span {
    font-size: 1.8rem; }
#complete h2.sp {
  text-align: center;
  color: #2151a7;
  font-size: 1rem;
  padding: 10px 0;
  border-top: 3px solid #2151a7;
  border-bottom: 3px solid #2151a7;
  margin: 20px 0; }
  #complete h2.sp .ccl {
    display: inline-block;
    background: #2151a7;
    color: #fff;
    padding: 6px 9px;
    border-radius: 25px;
    margin-right: 1em; }
  #complete h2.sp .bgr {
    font-size: 1.5rem; }
#complete .inner {
  width: 1160px;
  margin: 0 auto; }
  @media screen and (max-width: 640px) {
    #complete .inner {
      width: 96%; } }
  #complete .inner .flow {
    display: grid;
    grid-template-columns: 300px 300px 300px 236px; }
    #complete .inner .flow li {
      width: 110%;
      clip-path: polygon(90% 0, 320px 50%, 90% 100%, 0% 100%, 22px 50%, 0% 0%);
      background: #7fa6d6;
      text-align: center;
      color: #fff;
      line-height: 2.5; }
      #complete .inner .flow li:first-child {
        clip-path: polygon(0% 0%, 90% 0, 320px 50%, 90% 100%, 0% 100%);
        text-indent: -1em; }
      #complete .inner .flow li:last-child {
        clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 22px 50%);
        background: #2151a7;
        text-indent: 1em; }
      #complete .inner .flow li span {
        font-size: 1.6rem; }
  #complete .inner h3 {
    text-align: center;
    color: #2151a7;
    font-size: 1.5rem;
    line-height: 1.8;
    margin: 60px 0 20px; }
    @media screen and (max-width: 640px) {
      #complete .inner h3 {
        font-size: 1.2rem;
        margin: 40px 0 20px; } }
  #complete .inner p {
    text-align: center;
    font-size: 1.1rem;
    font-weight: bold; }
    @media screen and (max-width: 640px) {
      #complete .inner p {
        font-size: .9rem; } }
  #complete .inner .btn {
    width: 500px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    margin: 60px auto 120px; }
    @media screen and (max-width: 640px) {
      #complete .inner .btn {
        width: auto;
        grid-template-columns: 1fr;
        gap: 20px;
        margin: 40px auto 60px; } }
    #complete .inner .btn li {
      text-align: center;
      font-size: 1.5rem;
      font-weight: bold; }
      @media screen and (max-width: 640px) {
        #complete .inner .btn li {
          font-size: 1.2rem; } }
      #complete .inner .btn li:first-child a {
        background: #999;
        filter: drop-shadow(5px 5px 0px #ccc); }
      #complete .inner .btn li a {
        display: block;
        color: #fff;
        padding: 10px 0;
        border-radius: 10px;
        transition: .3s; }
        @media screen and (max-width: 640px) {
          #complete .inner .btn li a {
            position: relative; } }
        #complete .inner .btn li a:hover {
          text-decoration: none;
          filter: none; }
        @media screen and (max-width: 640px) {
          #complete .inner .btn li a i {
            position: absolute;
            top: 17px;
            right: 10%; } }

/*--------------------
	SCHOOLSLIST
--------------------*/
#schoolslist .mvlow.cor {
  background: url("../img/bookstore/schoolslist/img_mv.jpg") no-repeat center center/cover; }
#schoolslist .content .btn {
  text-align: right; }
  #schoolslist .content .btn a {
    background: #2151a7;
    text-align: center;
    color: #fff;
    padding: 5px 20px;
    border-radius: 5px;
    filter: drop-shadow(3px 3px 0 #ddd);
    transition: .2s; }
    #schoolslist .content .btn a:hover {
      text-decoration: none;
      filter: none; }
    #schoolslist .content .btn a i {
      margin-left: .5em; }
#schoolslist .content ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 10px;
  margin: 40px 0; }
  @media screen and (max-width: 640px) {
    #schoolslist .content ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; } }
  #schoolslist .content ul li {
    text-align: center; }
    #schoolslist .content ul li:first-child a,
    #schoolslist .content ul li:nth-child(6) a {
      background: #ef8da2; }
    #schoolslist .content ul li:first-child span,
    #schoolslist .content ul li:nth-child(6) span {
      color: #ef8da2; }
    #schoolslist .content ul li:nth-child(2) a,
    #schoolslist .content ul li:nth-child(7) a {
      background: #f5a200; }
    #schoolslist .content ul li:nth-child(2) span,
    #schoolslist .content ul li:nth-child(7) span {
      color: #f5a200; }
    #schoolslist .content ul li:nth-child(3) a,
    #schoolslist .content ul li:nth-child(8) a {
      background: #8ec443; }
    #schoolslist .content ul li:nth-child(3) span,
    #schoolslist .content ul li:nth-child(8) span {
      color: #8ec443; }
    #schoolslist .content ul li:nth-child(4) a,
    #schoolslist .content ul li:nth-child(9) a {
      background: #56b879; }
    #schoolslist .content ul li:nth-child(4) span,
    #schoolslist .content ul li:nth-child(9) span {
      color: #56b879; }
    #schoolslist .content ul li:nth-child(5) a,
    #schoolslist .content ul li:nth-child(10) a {
      background: #2cb6af; }
    #schoolslist .content ul li:nth-child(5) span,
    #schoolslist .content ul li:nth-child(10) span {
      color: #2cb6af; }

    #schoolslist .content ul li:last-child a {
      background: #2cb6af; }
    #schoolslist .content ul li:last-child span {
      color: #2cb6af; }
    #schoolslist .content ul li a {
      display: inline-block;
      width: 100%;
      text-align: center;
      color: #fff;
      font-size: 1.2rem;
      font-weight: bold;
      padding: 10px 0; }
      @media screen and (max-width: 640px) {
        #schoolslist .content ul li a {
          width: 110px;
          font-size: .9rem; } }
      #schoolslist .content ul li a:hover {
        text-decoration: none; }
    #schoolslist .content ul li span {
      display: block;
      margin-top: -10px; }
	@media screen and (max-width: 640px) {
		#schoolslist .content .scrl-nav {
			display: block;
		}
		#schoolslist .content .scrl-nav li a {
			width: 100%;
			padding: 5px 0;
		}
	}
#schoolslist .content h4 {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: .1em;
  border-bottom-width: 3px;
  border-bottom-style: solid;
  margin-bottom: 20px; }
  @media screen and (max-width: 640px) {
    #schoolslist .content h4 {
      font-size: 1.2rem; } }
  #schoolslist .content h4 span {
    clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
    padding: 10px 200px 10px 30px; }
    @media screen and (max-width: 640px) {
      #schoolslist .content h4 span {
        padding: 6px 150px 6px 15px; } }
#schoolslist .content dl {
  display: grid;
  grid-template-columns: 1fr 220px;
  padding: 15px 0 15px 30px;
  border-bottom: 2px dashed #ccc;
  margin-top: 10px; }
  @media screen and (max-width: 640px) {
    #schoolslist .content dl {
      grid-template-columns: 1fr 180px;
      padding: 10px 0 10px 15px; } }
  #schoolslist .content dl dt span {
    margin-right: 50px; }
    @media screen and (max-width: 640px) {
      #schoolslist .content dl dt span {
        margin-right: 1em; } }
  #schoolslist .content dl dd {
    font-size: .9rem; }
    @media screen and (max-width: 640px) {
      #schoolslist .content dl dd {
        font-size: .7rem; } }
    #schoolslist .content dl dd a {
      background: #efefef;
      padding: 10px;
      border-radius: 5px;
      filter: drop-shadow(2px 2px 0 #ccc);
      transition: .2s; }
      @media screen and (max-width: 640px) {
        #schoolslist .content dl dd a {
          display: inline-block;
          padding: 5px 10px;
          margin-top: 1em; } }
      #schoolslist .content dl dd a:hover {
        text-decoration: none;
        filter: none; }
      #schoolslist .content dl dd a i {
        margin-left: .5em; }
#schoolslist .content #kindergarten {
  margin-top: 60px;
  margin-bottom: 60px; }
  #schoolslist .content #kindergarten h4 {
    border-color: #ef8da2; }
    #schoolslist .content #kindergarten h4 span {
      background: #ef8da2; }
#schoolslist .content #elementary {
  margin-top: 60px;
  margin-bottom: 60px; }
  #schoolslist .content #elementary h4 {
    border-color: #f5a200; }
    #schoolslist .content #elementary h4 span {
      background: #f5a200; }
#schoolslist .content #junior-high {
  margin-top: 60px;
  margin-bottom: 60px; }
  #schoolslist .content #junior-high h4 {
    border-color: #8ec443; }
    #schoolslist .content #junior-high h4 span {
      background: #8ec443; }
#schoolslist .content #high {
  margin-top: 60px;
  margin-bottom: 60px; }
  #schoolslist .content #high h4 {
    border-color: #56b879; }
    #schoolslist .content #high h4 span {
      background: #56b879; }
#schoolslist .content #university {
  margin-top: 60px;
  margin-bottom: 60px; }
  #schoolslist .content #university h4 {
    border-color: #2cb6af; }
    #schoolslist .content #university h4 span {
      background: #2cb6af; }

#schoolslist .content #high-transfer {
  margin-top: 60px;
  margin-bottom: 60px; }
  #schoolslist .content #high-transfer h4 {
    border-color: #2cb6af; }
    #schoolslist .content #high-transfer h4 span {
      background: #2cb6af; }


#schoolslist .content #junior-high-transfer {
  margin-top: 60px;
  margin-bottom: 60px; }
  #schoolslist .content #junior-high-transfer h4 {
    border-color: #0084c0; }
    #schoolslist .content #junior-high-transfer h4 span {
      background: #0084c0; }






/*--------------------
	EXPLANATION
--------------------*/
#explanation .mvlow.cor {
  background: url("../img/bookstore/explanation/img_mv.jpg") no-repeat center center/cover; }
#explanation .content .lst {
  list-style: decimal;
  padding-left: 1em;
  margin: 20px 0 60px; }
  #explanation .content .lst li {
    line-height: 2em; }
#explanation .content dl {
  margin-top: 30px; }
  #explanation .content dl dt {
    color: #2151a7;
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 5px; }
  #explanation .content dl dd {
    margin-left: 1em; }
#explanation .content .box {
  display: grid;
  grid-template-columns: 380px 1fr; }
  @media screen and (max-width: 640px) {
    #explanation .content .box {
      display: block; } }
  #explanation .content .box ul {
    margin-left: 1em; }
    @media screen and (max-width: 640px) {
      #explanation .content .box ul {
        margin: 0; } }
    #explanation .content .box ul li {
      margin-top: 20px; }
      #explanation .content .box ul li a {
        display: block;
        width: 300px;
        background: #2151a7;
        color: #fff;
        padding: 20px;
        border-radius: 10px;
        filter: drop-shadow(5px 5px 0px #7fa6d6);
        position: relative;
        transition: .3s; }
        #explanation .content .box ul li a:hover {
          text-decoration: none;
          filter: none; }
        #explanation .content .box ul li a i {
          font-size: 1.2em;
          position: absolute;
          top: 23px;
          right: 5%; }
  #explanation .content .box p.pc {
    font-size: .8em;
    margin-top: 120px; }
  #explanation .content .box p.sp {
    margin-top: 20px;
    font-size: .9em; }

/*--------------------
	DETAIL
--------------------*/
#detail {
  margin-top: 30px; }
  #detail .content h4 {
    background: #2151a7;
    color: #fff;
    font-size: 1.3em;
    padding: 5px 10px;
    margin-bottom: 10px; }
  #detail .content .frame {
    padding: 20px;
    border: 1px solid #ccc; }
    @media screen and (max-width: 640px) {
      #detail .content .frame {
        padding: 10px; } }
    #detail .content .frame figure {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      /*display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;*/ }
      @media screen and (max-width: 640px) {
        #detail .content .frame figure {
          /*display: block;*/ } }
      #detail .content .frame figure img {
        display: block;
        width: 20%;
	    margin-right: 3%;
        /*width: 100%;*/ }
      #detail .content .frame figure figcaption {
		width: 77%;
	  }
        @media screen and (max-width: 640px) {
          #detail .content .frame figure img {
            /*margin-bottom: 10px;*/ } }
      #detail .content .frame figure figcaption .ttl {
        font-size: 1.3em;
        font-weight: bold; }
        #detail .content .frame figure figcaption .ttl span {
          font-size: .8em; }
      #detail .content .frame figure figcaption .frm {
        background: #edf5fc;
        padding: 10px 20px;
        margin-top: 10px;
        display: flex;
	    flex-wrap: wrap;
	    align-items: center;
	    background: #f4f6fb;
	    padding: 20px 20px; }
        @media screen and (max-width: 640px) {
	        #detail .content .frame figure figcaption .ttl {
			    font-size: 14px;
			}
          #detail .content .frame figure figcaption .frm {
            padding: 10px;
            position: relative;
            display: flex;
	        flex-wrap: wrap;
	        align-items: center;
	        justify-content: center; } }
        #detail .content .frame figure figcaption .frm p {
          font-size: .9em;
          font-weight: bold;
          margin-right: 50px; }
          #detail .content .frame figure figcaption .frm p span {
            font-size: 1.6em; }
        #detail .content .frame figure figcaption .frm a {
          display: inline-block;
          background: #2151a7;
          text-align: center;
          color: #fff;
          font-size: .9em;
          padding: 5px 40px;
          border-radius: 5px;
          filter: drop-shadow(2px 2px 2px #ccc);
          transition: .3s; }
          @media screen and (max-width: 640px) {
	        #detail .content .frame figure figcaption .frm p {
	          width: 100%;
	          margin: 0 0 3%;
	          text-align: center; }
            #detail .content .frame figure figcaption .frm a {
              padding: 8px 30px;
              /*position: absolute;
              right: 10px;
              bottom: 10px;*/ } }
          #detail .content .frame figure figcaption .frm a:hover {
            text-decoration: none;
            filter: none; }
  #detail .coat {
    background: #edf5fc;
    padding: 30px 0;
    margin: 60px 0; }
    @media screen and (max-width: 640px) {
      #detail .coat {
        padding: 20px 2%;
        margin-bottom: 60px; } }
    #detail .coat h5 {
      width: 890px;
      font-size: 1.5rem;
      margin: 0 auto; }
      @media screen and (max-width: 640px) {
        #detail .coat h5 {
          width: auto;
          font-size: 1.2rem; } }
    #detail .coat p {
      width: 890px;
      font-size: 1rem;
      margin: 10px auto 20px; }
      @media screen and (max-width: 640px) {
        #detail .coat p {
          width: auto; } }
    #detail .coat table {
      width: 890px;
      margin: 0 auto; }
      #detail .coat table thead tr th {
        text-align: center;
        font-size: 1rem;
        background: #efefef;
        padding: 10px 0;
        border: 1px solid #ccc; }
      #detail .coat table tbody {
        background: #fff; }
        #detail .coat table tbody tr td {
          width: 15%;
          text-align: center;
          vertical-align: middle;
          padding: 10px;
          border: 1px solid #ccc; }
          #detail .coat table tbody tr td:first-child {
            width: 55%; }
          #detail .coat table tbody tr td:nth-child(2) {
            font-size: 1rem; }
          #detail .coat table tbody tr td figuare {
            display: grid;
            grid-template-columns: 100px 1fr;
            gap: 20px; }
            #detail .coat table tbody tr td figuare img {
              display: block;
              width: 100px; }
            #detail .coat table tbody tr td figuare figcaption {
              text-align: left;
              font-size: .9em;
              font-weight: bold;
              padding-top: 10px; }
              #detail .coat table tbody tr td figuare figcaption span {
                display: inline-block;
                font-size: .9em;
                font-weight: normal;
                margin-top: 10px; }
          #detail .coat table tbody tr td a {
            display: inline-block;
            width: 100px;
            background: #fff;
            color: #666;
            font-size: .8rem;
            line-height: 1.2em;
            padding: 10px 0;
            border: 1px solid #ccc;
            border-radius: 5px;
            filter: drop-shadow(2px 2px 2px #ccc);
            margin: 5px 0;
            transition: .3s; }
            #detail .coat table tbody tr td a:hover {
              text-decoration: none;
              filter: none; }
        #detail .coat table tbody .tf td {
          font-size: 1rem; }
          #detail .coat table tbody .tf td:first-child {
            text-align: right;
            padding: 0 20px; }
          #detail .coat table tbody .tf td a {
            padding: 10px 23px; }
    #detail .coat .box {
      background: #fff;
      padding: 2%;
      margin-bottom: 10px; }
      #detail .coat .box figuare {
        display: grid;
        grid-template-columns: 30% 1fr;
        gap: 2%;
        padding-bottom: 10px;
        margin-bottom: 10px; }
        #detail .coat .box figuare img {
          width: 100%; }
        #detail .coat .box figuare figcaption {
          font-size: 1rem; }
          #detail .coat .box figuare figcaption span {
            display: inline-block;
            font-size: .9rem;
            margin-top: 10px; }
      #detail .coat .box p {
        text-align: right; }
        #detail .coat .box p span {
          font-size: .8rem; }
      #detail .coat .box ul {
        width: 280px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 130px 130px;
        gap: 20px; }
        #detail .coat .box ul li a {
          display: block;
          text-align: center;
          background: #fff;
          color: #666;
          font-size: 1rem;
          line-height: 1.2em;
          padding: 5px 10px;
          border: 1px solid #ccc;
          border-radius: 5px;
          filter: drop-shadow(1px 1px 1px #ccc);
          margin: 5px auto 10px; }

#schoolslist .content #elementary2 {
  margin-top: 60px;
  margin-bottom: 60px; }
  #schoolslist .content #elementary2 h4 {
    border-color: #f5a200; }
    #schoolslist .content #elementary2 h4 span {
      background: #f5a200; }
#schoolslist .content #elementary3 {
  margin-top: 60px;
  margin-bottom: 60px; }
  #schoolslist .content #elementary3 h4 {
    border-color: #f5a200; }
    #schoolslist .content #elementary3 h4 span {
      background: #f5a200; }


#schoolslist .content #junior-high2 {
    margin-top: 60px;
    margin-bottom: 60px;
}
#schoolslist .content #junior-high2 h4 {
    border-color: #8ec443;
}
#schoolslist .content #junior-high2 h4 span {
    background: #8ec443;
}

#schoolslist .content #high2 {
    margin-top: 60px;
    margin-bottom: 60px;
}
#schoolslist .content #high2 h4 {
    border-color: #56b879;
}
#schoolslist .content #high2 h4 span {
    background: #56b879;
}

#schoolslist .content #high-transfer2 {
    margin-top: 60px;
    margin-bottom: 60px;
}

#schoolslist .content ul li:nth-child(5) a, #schoolslist .content ul li:nth-child(10) a {
    background: #2cb6af;
}
#schoolslist .content #high-transfer2 h4 {
    border-color: #2cb6af;
}
#schoolslist .content #high-transfer2 h4 span {
    background: #2cb6af;
}

