@charset "UTF-8";
/*	reset
-----------------------------------------*/
* {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
}

*, *::before, *::after {
  box-sizing: border-box;
}

article, aside, details, figcaption, figure, main,
footer, header, hgroup, menu, nav, section {
  display: block;
}

html {
  line-height: 1;
}

input:not([type=checkbox]), textarea, button, select {
  margin: 0;
  padding: 0;
  -ms-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

ol, ul {
  list-style: none;
}

main {
  display: block;
}

button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  cursor: pointer;
}

a {
  text-decoration: none;
}

#footer .box::after, .lyt-01 .item1 .unique-01::after, .lyt-02::after, .box-step-01::after {
  content: "";
  clear: both;
  display: block;
}

.inner, #local .link {
  max-width: 1122px;
  margin: 0 auto;
  width: 100%;
}

/* ======================================
 base
====================================== */
html {
  font-size: 10px;
  font-family: Arial, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", Meiryo, "メイリオ", sans-serif;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-feature-settings: "palt";
}

body {
  font-size: 1.6em;
  line-height: 1.8;
  color: #333;
}

body img {
  vertical-align: bottom;
  height: auto;
  max-width: 100%;
}

a, button {
  font-family: Arial, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", Meiryo, "メイリオ", sans-serif;
  text-decoration: none;
  color: #333;
}

a:hover, a:focus, button:hover, button:focus {
  text-decoration: underline;
}

a:hover *, a:focus *, button:hover *, button:focus * {
  text-decoration: underline;
}

a.under, button.under {
  text-decoration: underline;
}

a.under:hover, a.under:focus, button.under:hover, button.under:focus {
  text-decoration: none;
}

a.link-01, button.link-01 {
  color: #10af9e;
  text-decoration: underline;
}

a.link-01:hover, a.link-01:focus, button.link-01:hover, button.link-01:focus {
  text-decoration: none;
}

a > .icon-01, button > .icon-01 {
  vertical-align: text-top;
  padding: 0 4px;
}

sup {
  font-size: 75%;
  vertical-align: top;
}

sub {
  font-size: 75%;
  vertical-align: bottom;
}

p {
  margin-top: 16px;
}

@media only screen and (max-width: 768px) {
  p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.78571;
  }
}

em {
  font-weight: bold;
  font-style: normal;
}

strong {
  font-weight: bold;
  color: #d62828;
}

/* ======================================
 page
====================================== */
#page {
  overflow: hidden;
  position: relative;
  height: 100%;
}

/* -------------------------------------
 inner
----------------------------------------- */
/* ======================================
 header
====================================== */
#header {
  background: #333;
  width: 100%;
  padding: 0 20px;
}

#header .inner {
  height: 60px;
  display: table;
}

#header .header-logo {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
}
#header .header-logo img {
  height: 30px;
}

@media only screen and (max-width: 768px) {
  #header .inner {
    height: 50px;
  }
}

/* ======================================
 footer
====================================== */
#footer {
  background: #333;
  width: 100%;
  padding: 0 20px;
}

#footer .inner {
  padding: 30px 0 28px 0;
}

#footer * {
  color: #fff;
}

#footer .list-sns {
  float: right;
  display: table;
  margin: 0 -15px;
}

#footer .list-sns li {
  display: table-cell;
  padding: 0 15px;
}

#footer .list-sns + * {
  clear: both;
}

#footer .footer-link {
  float: left;
  width: 60%;
}

#footer .footer-link .sitemap {
  display: table;
}

#footer .footer-link .sitemap li {
  display: table-cell;
  padding-right: 20px;
  position: relative;
}

#footer .footer-link .sitemap li + li {
  padding-left: 20px;
}

#footer .footer-link .sitemap li + li::before {
  content: "";
  display: block;
  width: 1px;
  height: 16px;
  background: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -8px;
}

#footer .box {
  padding-top: 8px;
  width: 100%;
}

#footer .box .copy {
  float: right;
  width: 40%;
  margin-top: 0;
  text-align: right;
}

#footer .box .copy small {
  font-size: 1.2rem;
}

@media only screen and (max-width: 768px) {
  #footer .inner {
    padding: 16px 0 19px 0;
  }
  #footer .list-sns {
    float: none;
    margin: 20px auto 0 auto;
  }
  #footer .list-sns li {
    text-align: center;
  }
  #footer .footer-link {
    float: none;
    width: 100%;
  }
  #footer .footer-link .sitemap {
    display: block;
    text-align: center;
  }
  #footer .footer-link .sitemap li {
    line-height: 1.2;
    font-size: 1.4rem;
    display: block;
    padding-right: 0;
    position: static;
  }
  #footer .footer-link .sitemap li + li {
    margin-top: 13px;
    padding-left: 0;
  }
  #footer .footer-link .sitemap li + li::before {
    content: none;
  }
  #footer .box {
    padding-top: 8px;
  }
  #footer .box .copy {
    margin-top: 9px;
    float: none;
    width: 100%;
    text-align: center;
  }
}

/* ======================================
 pagetop
====================================== */
#pagetop {
  position: fixed;
  right: 10px;
  bottom: 20px;
  z-index: 889;
}

#pagetop a {
  display: block;
  overflow: hidden;
  position: relative;
  background: #676a6e;
  border: #fff 2px solid;
  box-shadow: 0 3px 0 0 rgba(147, 190, 192, 0.8);
  width: 46px;
  height: 46px;
  border-radius: 100px;
}

#pagetop a::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  will-change: transform;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -6px;
  margin-top: -4px;
}

#pagetop a:hover, #pagetop a:focus {
  opacity: .8;
}

#pagetop span {
  position: absolute;
  right: -999em;
}

/* ======================================
 main
====================================== */
#main {
  background: #b8eef0 url(/ytc/campaign/renkei/LINE/img/bg_01.png) no-repeat top center;
  padding-bottom: 80px;
}

#main.description {
  background-image: none;
}

@media only screen and (max-width: 768px) {
  #main {
    padding-bottom: 50px;
    background: #b8eef0 url(/ytc/campaign/renkei/LINE/img/bg_02.png) no-repeat top center;
    background-size: auto 375px;
  }
}

@media only screen and (max-width: 375px) {
  #main {
    background-size: contain;
  }
}

/* ======================================
 section
====================================== */
.section-01 {
  padding: 0 20px;
  margin-top: 50px;
}

.section-01 + [class^="section"] {
  margin-top: 40px;
}

.section-01.type1 > .inner {
  background: #fff;
  border-radius: 14px;
  padding: 40px 60px 60px 60px;
  position: relative;
}

.section-01.type1 .caption-01 {
  position: absolute;
  top: 0;
  left: 0;
  background: url(/ytc/campaign/renkei/LINE/img/bg_06.png) no-repeat top left;
  border-radius: 14px 0 0 0;
  z-index: 2;
  width: 160px;
  height: 160px;
  margin-top: 0;
}

.section-01.type1 .caption-01 span {
  opacity: 0;
}

.section-01.type2 > .inner {
  border: #65bcc0 2px solid;
  border-radius: 14px;
  padding: 30px 40px;
}

.section-01.type2#anch06 .inner {
  padding-right: 300px;
  position: relative;
}
.section-01.type2#anch06 .sec-cont--01::after {
  content: "";
  display: block;
  background: url(/ytc/campaign/renkei/LINE/img/section2_01.png) no-repeat right bottom;
  width: 209px;
  height: 222px;
  position: absolute;
  bottom: 440px;
  right: 40px;
}

.section-01.type2#anch06 .sec-cont--02 {
  margin-top: 40px;
}
.section-01.type2#anch06 .sec-cont--02::after {
  content: "";
  display: block;
  background: url(/ytc/campaign/renkei/LINE/img/section2_02.png) no-repeat right bottom;
  width: 209px;
  height: 266px;
  position: absolute;
  bottom: 30px;
  right: 40px;
}

@media only screen and (max-width: 768px) {
  .section-01 {
    margin-top: 40px;
  }
  .section-01 + [class^="section"] {
    margin-top: 30px;
  }
  .section-01.type1 > .inner {
    padding: 30px 20px;
  }
  .section-01.type1 .caption-01 {
    position: static;
    background-image: none;
    background: #ffda00;
    border-radius: 14px 14px 0 0;
    width: auto;
    height: auto;
    margin: -30px -20px 0 -20px;
    text-align: center;
    padding: 5px 5px 2px 5px;
  }
  .section-01.type1 .caption-01 span {
    opacity: 1;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .section-01.type1 .caption-01 + * {
    margin-top: 30px;
  }
  .section-01.type2 > .inner {
    padding: 30px 20px;
  }
  .section-01.type2#anch06 .inner {
    padding-bottom: 30px;
    padding-right: 20px;
  }
  
  .section-01.type2#anch06 .sec-cont--01::after {
    margin-top: 20px;
    content: "";
    display: block;
    background: url(/ytc/campaign/renkei/LINE/img/section2_01.png) no-repeat center bottom;
    background-size: contain;
    width: 100%;
    height: 192px;

    position: static;
  }

  .section-01.type2#anch06 .sec-cont--02::after {
    margin-top: 20px;
    content: "";
    display: block;
    background: url(/ytc/campaign/renkei/LINE/img/section2_02.png) no-repeat center bottom;
    background-size: contain;
    width: 100%;
    height: 230px;

    position: static;
  }
}

.section-02 {
  padding: 0 20px;
  margin-top: 50px;
}

.section-02 + [class^="section"] {
  margin-top: 40px;
}

.section-02 .box {
  background: #fff;
  border-radius: 14px;
  padding: 30px 40px 40px 40px;
  position: relative;
}

@media only screen and (max-width: 768px) {
  .section-02 {
    margin-top: 40px;
  }
  .section-02 + [class^="section"] {
    margin-top: 30px;
  }
  .section-02 .box {
    padding: 20px 20px 30px 20px;
  }
}

/* ======================================
 adide
====================================== */
.area-01 {
  padding: 0 20px;
  background: #ffda00;
  margin: 60px 0;
}

.area-01 .inner {
  padding: 0 80px;
}

.area-01 .lead-01 {
  margin: 0;
  height: 170px;
  display: table;
  font-size: 3.6rem;
  width: 100%;
  padding-left: 166px;
  background: url(/ytc/campaign/renkei/LINE/img/aside1_01.png) no-repeat left center;
}

.area-01 .lead-01 b {
  background: url(/ytc/campaign/renkei/LINE/img/aside1_02.png) no-repeat right center;
  padding-right: 166px;
  vertical-align: middle;
  text-align: center;
  display: table-cell;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .area-01 {
    margin: 40px 0;
  }
  .area-01 .inner {
    padding: 0;
  }
  .area-01 .lead-01 {
    height: 95px;
    font-size: 2rem;
    padding-left: 70px;
    background-size: auto 70px;
  }
  .area-01 .lead-01 b {
    background-size: auto 70px;
    padding-right: 70px;
  }
}

.area-02 {
  padding: 0 20px;
  margin: 40px 0;
  border-top: #65bcc0 2px solid;
  border-bottom: #65bcc0 2px solid;
}

.area-02 .inner {
  display: table;
  width: 100%;
  padding: 0 60px;
}

.area-02 .inner .box {
  background: url(/ytc/campaign/renkei/LINE/img/aside2_01.png) no-repeat right center;
}

.area-02 .inner p {
  display: table-cell;
  height: 300px;
  vertical-align: middle;
  margin-top: 0;
  text-align: center;
}

.area-02 .inner p b {
  display: block;
  font-size: 2.8rem;
  font-weight: bold;
  background: #ffda00;
  border-radius: 60px;
  line-height: 1.2;
  padding: 20px 0 17px 0;
  width: 520px;
  position: relative;
}

.area-02 .inner p b::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 10.5px 0 10.5px;
  border-color: #ffda00 transparent transparent transparent;
  position: absolute;
  left: 50%;
  margin-left: -10.5px;
  bottom: -25px;
}

.area-02 .inner p span {
  margin-top: 45px;
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .area-02 {
    margin: 30px 0;
  }
  .area-02 .inner {
    display: block;
    padding: 30px 20px 20px 20px;
  }
  .area-02 .inner .box {
    background-position: center bottom;
    background-size: contain;
    padding-bottom: 60%;
  }
  .area-02 .inner p {
    height: auto;
    display: block;
  }
  .area-02 .inner p b {
    width: 100%;
    font-size: 2.2rem;
    padding: 15px 5px 11px 5px;
  }
  .area-02 .inner p span {
    font-size: 1.6rem;
    margin-top: 27px;
  }
}

/* ======================================
 visual
====================================== */
#visual {
  padding: 0 20px;
}

#visual .inner {
  height: 510px;
  position: relative;
  display: table;
  width: 100%;
}

#visual .inner .hdg1-01 {
  text-align: center;
}

#visual .inner::before {
  content: "";
  display: block;
  background: url(/ytc/campaign/renkei/LINE/img/visual_02.png) no-repeat right bottom;
  background-size: contain;
  width: 50%;
  height: 467px;
  position: absolute;
  right: 0;
  bottom: 0;
}

#visual .inner .content {
  padding-right: 50%;
  display: table-cell;
  vertical-align: middle;
}

#visual .inner .btn-01 {
  text-align: center;
  margin-top: 30px;
}

#visual .inner .btn-01 a {
  border: #fff 2px solid;
  display: inline-block;
  width: 350px;
  background: #00c300;
  box-shadow: 0 3px 0 0 #93bec0;
  border-radius: 50px;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  padding: 6px 5px 5px 5px;
  text-decoration: none;
}

#visual .inner .btn-01 a:hover, #visual .inner .btn-01 a:focus {
  opacity: .7;
}

#visual .inner .link-01 {
  text-align: center;
  font-size: 1.8rem;
}

#visual .inner .link-01 a {
  display: inline-block;
  background: url(/ytc/campaign/renkei/LINE/img/icon_01.png) no-repeat left top;
  text-decoration: underline;
  padding: 2px 0 2px 50px;
  color: #05ac05;
}

#visual .inner .link-01 a:hover, #visual .inner .link-01 a:focus {
  text-decoration: none;
}

#visual .inner .link-01 a:hover *, #visual .inner .link-01 a:focus * {
  text-decoration: none;
}

@media only screen and (max-width: 768px) {
  #visual .inner {
    height: auto;
    display: block;
  }
  #visual .inner::before {
    content: none;
  }
  #visual .inner .content {
    display: block;
    padding-right: 0;
    padding-top: 30px;
    text-align: center;
  }
  #visual .inner .btn-01 {
    position: fixed;
    left: 10px;
    bottom: 20px;
    display: block;
    width: 100%;
    z-index: 888;
    padding-right: 70px;
  }
  #visual .inner .btn-01 a {
    width: 100%;
  }
  #visual .inner .link-01 {
    font-size: 1.4rem;
    margin-top: 10px;
    padding-top: 260px;
    background: url(/ytc/campaign/renkei/LINE/img/visual_02.png) no-repeat center top;
    background-size: auto 244px;
  }
  #visual .inner .link-01 a {
    padding-left: 32px;
    letter-spacing: -.7px;
    background-size: 30px auto;
  }
}

/* IE11 */
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, #visual .inner {
    display: flex;
    align-items: center;
    align-content: center;
  }
  *::-ms-backdrop, #visual .inner .content {
    display: flex;
    align-items: center;
    flex-direction: column;
    flex-basis: auto;
    width: 50%;
    padding-right: 0;
  }
  *::-ms-backdrop, #visual .inner .hdg1-01 {
    width: 100%;
  }
  *::-ms-backdrop, #visual .inner .link-01 {
    width: 100%;
    max-width: 427px;
  }
}

@media only screen and (max-width: 768px) and (-ms-high-contrast: none) {
  *::-ms-backdrop, #visual .inner {
    display: block;
  }
  *::-ms-backdrop, #visual .inner .content {
    display: block;
    width: 100%;
  }
  *::-ms-backdrop, #visual .inner .hdg1-01 {
    width: 100%;
  }
  *::-ms-backdrop, #visual .inner .link-01 {
    width: 100%;
    max-width: 100%;
  }
}

/* ======================================
 local
====================================== */
#local {
  padding: 0 20px;
}

#local .link {
  display: table;
  width: 100%;
}

#local .link.col4 li {
  width: 25%;
}

#local .link.col5 li {
  width: 20%;
}

#local .link li {
  text-align: center;
  vertical-align: middle;
  display: table-cell;
  background: #fff;
}

#local .link li:first-child {
  border-radius: 14px 0 0 14px;
}

#local .link li:first-child a {
  border-radius: 14px 0 0 14px;
}

#local .link li:last-child {
  border-radius: 0 14px 14px 0;
}

#local .link li:last-child a {
  border-radius: 0 14px 14px 0;
}

#local .link li + li {
  border-left: #fff 1px solid;
}

#local .link li a {
  display: block;
  width: 100%;
  padding: 20px 5px 18px 5px;
  transition: .2s all;
}

#local .link li a:hover, #local .link li a:focus {
  text-decoration: none;
}

#local .link li a span {
  text-decoration: none;
  font-weight: bold;
  font-size: 1.8rem;
  display: block;
  padding-bottom: 20px;
  position: relative;
}

#local .link li a span::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: solid 3px #00c300;
  border-right: solid 3px #00c300;
  will-change: transform;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  left: 50%;
  margin-left: -6px;
  bottom: 2px;
}

#local .link .type1 {
  background: #ffe500;
}

#local .link .type1.current {
  background: #fff8bf;
}

#local .link .current {
  background: #fff8bf;
}

@media only screen and (max-width: 768px) {
  #local {
    margin-top: 25px;
  }
  #local .link.col4 li {
    width: 100%;
  }
  #local .link.col5 li {
    width: 100%;
  }
  #local .link.col5 li + li {
    border-color: #ccc;
  }
  #local .link.col5 li a {
    background: #fff;
  }
  #local .link li {
    display: block;
    width: 100%;
    text-align: left;
  }
  #local .link li a {
    padding: 8px 20px;
  }
  #local .link li a span {
    font-size: 1.4rem;
    padding: 0 14px 0 0;
  }
  #local .link li a span::before {
    right: 0;
    left: auto;
    margin-left: 0;
    top: 50%;
    margin-top: -6px;
  }
  #local .link li:first-child {
    border-radius: 14px 14px 0 0;
  }
  #local .link li:first-child a {
    border-radius: 14px 14px 0 0;
  }
  #local .link li:last-child {
    border-radius: 0 0 14px 14px;
  }
  #local .link li:last-child a {
    border-radius: 0 0 14px 14px;
  }
  #local .link li + li {
    border-left: 0;
    border-top: #fff 1px solid;
  }
}

/* ======================================
 hdg
====================================== */
/* -------------------------------------
 hdg1-02
----------------------------------------- */
.hdg1-02 {
  display: table;
  width: 100%;
  padding: 0 20px;
}

.hdg1-02 span {
  height: 176px;
  font-size: 40px;
  font-size: 4rem;
  line-height: 1.2;
  font-weight: bold;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

@media only screen and (max-width: 768px) {
  .hdg1-02 span {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
    height: 137px;
  }
}

/* -------------------------------------
 hdg2-01
----------------------------------------- */
.hdg2-01 {
  font-size: 40px;
  font-size: 4rem;
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
  padding-bottom: 20px;
  position: relative;
  max-width: 720px;
  margin: 0 auto;
}

.hdg2-01::before {
  content: "";
  display: block;
  width: 100%;
  border-radius: 2px;
  background: #ffe500;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.hdg2-01 + .lead-01 {
  font-size: 2rem;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .hdg2-01 {
    font-size: 2.2rem;
    padding-bottom: 15px;
  }
  .hdg2-01 + .lead-01 {
    font-size: 1.6rem;
  }
}

/* -------------------------------------
 hdg2-02
----------------------------------------- */
.hdg2-02 {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.4;
}

@media only screen and (max-width: 768px) {
  .hdg2-02 {
    font-size: 2rem;
  }
}

/* -------------------------------------
 hdg2-03
----------------------------------------- */
.hdg2-03 {
  font-size: 4rem;
  width: 100%;
  max-width: 740px;
  text-align: center;
  margin: 0 auto;
  position: relative;
  padding: 30px 0;
}

.hdg2-03 span {
  font-weight: bold;
  display: block;
  position: relative;
  z-index: 2;
}

.hdg2-03::before {
  content: "";
  display: block;
  height: 132px;
  width: 96px;
  background: url(/ytc/campaign/renkei/LINE/img/section7_01.png) no-repeat left bottom;
  position: absolute;
  left: 0;
  bottom: 0;
}

.hdg2-03::after {
  content: "";
  display: block;
  height: 180px;
  width: 136px;
  background: url(/ytc/campaign/renkei/LINE/img/section7_02.png) no-repeat right bottom;
  position: absolute;
  right: 0;
  bottom: 0;
}

@media only screen and (max-width: 768px) {
  .hdg2-03 {
    font-size: 2.4rem;
    padding: 15px 60px;
    line-height: 1.4;
  }
  .hdg2-03::before {
    height: 70px;
    width: 52px;
    left: 14px;
    background-size: contain;
  }
  .hdg2-03::after {
    height: 72px;
    width: 97px;
    right: 14px;
    background-size: contain;
  }
}

/* -------------------------------------
 hdg2-04
----------------------------------------- */
.hdg2-04 {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  padding-bottom: 20px;
  position: relative;
  margin: 10px auto 0 auto;
}

.hdg2-04::before {
  content: "";
  display: block;
  width: 100%;
  max-width: 720px;
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 2px;
  background: #ffe500;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 50%;
}

@media only screen and (max-width: 768px) {
  .hdg2-04 {
    font-size: 2.2rem;
    padding-bottom: 15px;
    margin-top: 5px;
  }
}

/* ======================================
 note-01
====================================== */
.note-01 {
  margin-top: 10px;
  font-size: 1.3rem;
  color: #666;
}

.note-01 li {
  position: relative;
  padding-left: 1.5em;
}

.note-01 li span {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

.note-01 li a {
  text-decoration: underline;
}

.note-01 li a:hover, .note-01 li a:focus {
  text-decoration: none;
}

.note-01 li.note--red {
  color: #f00;
}

.note-01 li.note--red a {
  color: #f00;
}

/* -------------------------------------
 hdg3-01
----------------------------------------- */
.hdg3-01 {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  border-bottom: #ccc 2px solid;
  text-align: center;
  padding-bottom: 4px;
}

@media only screen and (max-width: 768px) {
  .hdg3-01 {
    font-size: 2rem;
  }
}

/* ======================================
 lyt
====================================== */
/* -------------------------------------
 lyt-01
----------------------------------------- */
.lyt-01 {
  margin: 30px -30px 0 -30px;
}

.lyt-01 .box {
  border-spacing: 30px 0;
  display: table;
  width: 100%;
}

.lyt-01 .item1 {
  display: table-cell;
  width: 66%;
  background: #eaeaf0;
  border-radius: 14px;
  vertical-align: bottom;
}

.lyt-01 .item1 .unique-01 {
  border-spacing: 0;
  padding: 40px 20px 0 40px;
}

.lyt-01 .item1 .unique-01 .img {
  float: left;
  width: 45%;
  margin: 0;
}

.lyt-01 .item1 .unique-01 .img img {
  width: 100%;
  max-width: 251px;
}

.lyt-01 .item1 .unique-01 .txt {
  margin-top: 0;
  float: right;
  width: 55%;
  max-width: 300px;
  font-size: 2rem;
  padding: 0 10px;
  position: relative;
  line-height: 1.5;
}

.lyt-01 .item1 .unique-01 .txt span {
  padding-bottom: 200px;
  display: block;
  position: relative;
  z-index: 2;
}

.lyt-01 .item1 .unique-01 .txt span::after {
  content: "";
  display: block;
  background: url(/ytc/campaign/renkei/LINE/img/section1_02.png) no-repeat center bottom;
  background-size: contain;
  width: 100%;
  height: 174px;
  position: absolute;
  right: 0;
  bottom: 0;
}

.lyt-01 .item1 .unique-01 .txt b {
  font-size: 1.6rem;
  border-radius: 40px;
  margin: 0 3px;
  padding: 2px 17px 1px 17px;
  display: inline-block;
}

.lyt-01 .item1 .unique-01 .txt .point1 {
  background: #fff;
}

.lyt-01 .item1 .unique-01 .txt .point2 {
  background: #85e249;
}

.lyt-01 .item2 {
  display: table-cell;
  vertical-align: top;
  width: 34%;
  background: #575a5f;
  border-radius: 14px;
}

.lyt-01 .item2 .unique-02 {
  padding: 40px;
}

.lyt-01 .item2 .unique-02 .txt {
  position: relative;
  color: #fff;
  margin-top: 0;
}

.lyt-01 .item2 .unique-02 .txt span {
  padding-top: 52px;
  background: url(/ytc/campaign/renkei/LINE/img/bg_03.png) no-repeat top center;
  position: relative;
  z-index: 2;
  display: block;
}

.lyt-01 .item2 .unique-02 .txt::before {
  content: "";
  display: block;
  background: url(/ytc/campaign/renkei/LINE/img/bg_04.png) no-repeat 0 0;
  width: 73px;
  height: 73px;
  position: absolute;
  top: -15px;
  left: -20px;
}

.lyt-01 .item2 .unique-02 .txt::after {
  content: "";
  display: block;
  background: url(/ytc/campaign/renkei/LINE/img/bg_05.png) no-repeat 0 0;
  width: 58px;
  height: 57px;
  position: absolute;
  bottom: 0;
  right: -20px;
}

.lyt-01 .item2 .unique-02 .img {
  margin-top: 20px;
  text-align: center;
}

.lyt-01 .item2 .unique-02 .img img {
  width: 100%;
  max-width: 234px;
}

@media only screen and (max-width: 858px) {
  .lyt-01 {
    margin-top: 15px;
  }
  .lyt-01 .item1 {
    display: block;
    width: 100%;
  }
  .lyt-01 .item1 .unique-01 {
    padding-right: 40px;
  }
  .lyt-01 .item1 .unique-01 .img {
    display: block;
    width: 100%;
    float: none;
    text-align: center;
  }
  .lyt-01 .item1 .unique-01 .txt {
    float: none;
    width: 100%;
    display: block;
    max-width: 100%;
    padding: 0 0 40px 0;
  }
  .lyt-01 .item1 .unique-01 .txt span {
    padding-bottom: 0;
  }
  .lyt-01 .item1 .unique-01 .txt span::after {
    margin-top: 10px;
    position: static;
  }
  .lyt-01 .item2 {
    display: block;
    width: 100%;
    margin-top: 20px;
  }
}

@media only screen and (max-width: 768px) {
  .lyt-01 .item1 .unique-01 {
    padding: 30px 15px 0 15px;
  }
  .lyt-01 .item1 .unique-01 .img {
    text-align: center;
  }
  .lyt-01 .item1 .unique-01 .img img {
    max-width: 200px;
  }
  .lyt-01 .item1 .unique-01 .txt {
    font-size: 1.6rem;
    line-height: 1.6;
    padding-bottom: 20px;
  }
  .lyt-01 .item1 .unique-01 .txt span {
    padding-bottom: 0;
  }
  .lyt-01 .item1 .unique-01 .txt span::after {
    height: 145px;
  }
  .lyt-01 .item1 .unique-01 .txt b {
    font-size: 1.5rem;
    padding: 0 17px;
    margin-top: 5px;
  }
  .lyt-01 .item2 .unique-02 {
    padding: 30px 15px;
  }
  .lyt-01 .item2 .unique-02 .txt::before {
    top: 0;
    left: 0;
  }
  .lyt-01 .item2 .unique-02 .txt::after {
    bottom: 0;
    right: 0;
  }
}

/* -------------------------------------
 lyt-02
----------------------------------------- */
.lyt-02 {
  margin-top: 20px;
}

.lyt-02 > .txt {
  float: left;
  width: 80%;
}

.lyt-02 > .img {
  text-align: right;
  float: right;
  width: 20%;
  padding-left: 10px;
}

@media only screen and (max-width: 768px) {
  .lyt-02 {
    margin-top: 10px;
  }
  .lyt-02 > .txt {
    float: none;
    width: 100%;
  }
  .lyt-02 > .img {
    float: none;
    width: 100%;
    padding-left: 0;
    margin-top: 16px;
    text-align: center;
  }
}

/* ======================================
 colmun
====================================== */
.colmun {
  display: table;
  width: 100%;
  margin: 30px 0;
}

.colmun.col2 {
  table-layout: fixed;
}

.colmun.col2 > .col {
  padding-left: 20px;
}

.colmun.col2 > .col .img img {
  width: auto;
}

.colmun.col2 > .col:first-child {
  padding-right: 0;
}

.colmun.col2 > .col:first-child .img {
  text-align: center;
}

.colmun.col2 > .col:first-child .img img {
  width: auto;
}

.colmun.col2 > .col:last-child {
  padding-left: 20px;
}

.colmun.col2 > .col:last-child .img {
  text-align: center;
}

.colmun.col2 > .col:last-child p + .img {
  margin-top: 27px;
}

.colmun > .col {
  display: table-cell;
  vertical-align: middle;
}

.colmun > .col .img {
  margin-top: 0;
}

.colmun > .col .img img {
  width: 100%;
}

.colmun > .col:first-child {
  padding-right: 20px;
}

.colmun > .col:first-child .img {
  text-align: right;
}

.colmun > .col:last-child {
  padding-left: 20px;
}

.colmun > .col:last-child .img {
  text-align: left;
}

.colmun.type1 > .col:first-child .img img {
  max-width: 427px;
}

.colmun.type1 > .col:last-child .img img {
  max-width: 287px;
}

.colmun.type2 > .col:first-child .img img {
  max-width: 516px;
}

.colmun.type2 > .col:last-child .img img {
  max-width: 287px;
}

.colmun.type3 > .col:first-child .img img {
  max-width: 343px;
}

.colmun.type3 > .col:last-child .img img {
  max-width: 294px;
}

@media only screen and (max-width: 768px) {
  .colmun {
    margin: 20px 0;
    display: block;
  }
  .colmun.col2 > .col {
    padding-left: 0;
  }
  .colmun.col2 > .col:last-child {
    padding-left: 0;
  }
  .colmun > .col {
    display: block;
  }
  .colmun > .col .img img {
    width: auto;
  }
  .colmun > .col:first-child {
    padding-right: 0;
  }
  .colmun > .col:first-child .img {
    text-align: center;
  }
  .colmun > .col:last-child {
    margin-top: 30px;
    padding-left: 0;
  }
  .colmun > .col:last-child .img {
    text-align: center;
  }
  .colmun > .col:last-child .img.pc-del {
    display: block;
  }
  .colmun.type1 > .col:first-child .img img, .colmun.type2 > .col:first-child .img img, .colmun.type3 > .col:first-child .img img {
    max-width: 100%;
  }
  .colmun.type1 > .col:last-child .img img, .colmun.type2 > .col:last-child .img img, .colmun.type3 > .col:last-child .img img {
    max-width: 195px;
    width: 100%;
  }
}

/* ======================================
 list-01
====================================== */
/* -------------------------------------
 list-01
----------------------------------------- */
.list-01 {
  margin-top: 10px;
}

.list-01 li {
  padding-left: 20px;
  position: relative;
}

.list-01 li::before {
  content: "";
  display: block;
  background: #10af9e;
  border-radius: 12px;
  width: 6px;
  height: 6px;
  position: absolute;
  top: .6em;
  left: 4px;
}

@media only screen and (max-width: 768px) {
  .list-01 {
    font-size: 1.4rem;
  }
}

/* -------------------------------------
 list-02
----------------------------------------- */
.list-02 dt {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 5px;
}

.list-02 + .list-03, .list-02 + .note-01 {
  margin-top: 20px;
}

@media only screen and (max-width: 768px) {
  .list-02 dt {
    font-size: 1.6rem;
    margin-bottom: 3px;
  }
  .list-02 dd {
    font-size: 1.4rem;
  }
  .list-02 dd > *:first-child {
    margin-top: 0;
  }
  .list-02 + .list-03, .list-02 + .note-01 {
    margin-top: 16px;
  }
}

/* -------------------------------------
 list-03
----------------------------------------- */
.list-03 li {
  counter-increment: num;
  padding-left: 23px;
  position: relative;
  font-size: 1.6rem;
}

.list-03 li::before {
  content: counter(num) ".";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media only screen and (max-width: 768px) {
  .list-03 li {
    font-size: 1.4rem;
  }
}

/* ======================================
 link-01
====================================== */
.link-01, #rn_ContentListskw_0 {
  margin-top: 26px;
}

.link-01 li, #rn_ContentListskw_0 li {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.75;
  padding-left: 20px;
  position: relative;
}

.link-01 li::before, #rn_ContentListskw_0 li::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: solid 3px #00c300;
  border-right: solid 3px #00c300;
  will-change: transform;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  left: -2px;
  top: .5em;
}

.link-01 li + li, #rn_ContentListskw_0 li + li {
  margin-top: 5px;
}

@media only screen and (max-width: 768px) {
  .link-01, #rn_ContentListskw_0 {
    margin-top: 20px;
  }
  .link-01 li, #rn_ContentListskw_0 li {
    font-size: 1.4rem;
  }
}

div.rn_Documents .rn_List li.rn_Item span.rn_Title a:before, div.rn_Content .rn_List li.rn_Item span.rn_Title a:before {
  content: none !important;
}

#rn_ContentListskw_0 li a {
  position: relative;
  padding: 0;
}

#rn_ContentListskw_0 li a::after {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  background: url(/ytc/campaign/renkei/LINE/img/icon_blank_01.png) no-repeat 0 0;
  margin-left: 4px;
}

/* ======================================
 box
====================================== */
/* -------------------------------------
 box-01
----------------------------------------- */
.box-01 {
  margin-top: 30px;
  border: #c6c9d3 2px solid;
  border-radius: 14px;
  padding: 24px 30px;
}

.box-01 .hdg-01 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455;
  font-weight: bold;
  padding-left: 42px;
  background: url(/ytc/campaign/renkei/LINE/img/icon_02.png) no-repeat left top;
}

@media only screen and (max-width: 768px) {
  .box-01 {
    margin-top: 20px;
    padding: 24px 20px;
  }
  .box-01 .hdg-01 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5;
    padding-left: 35x;
    background-size: 30px auto;
  }
}

/* -------------------------------------
 box-step-01
----------------------------------------- */
.box-step-01 {
  margin: 0 -19px;
}

.box-step-01 .item {
  margin-top: 30px;
  float: left;
  width: 33.33333%;
  padding: 0 19px;
}

.box-step-01 .hdg-01 {
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
}

.box-step-01 .hdg-01 b {
  margin-bottom: 10px;
  display: table;
  font-size: 1.6rem;
  line-height: 1.1;
  font-weight: bold;
  background: #ffe500;
  padding: 6px 17px 4px;
  border-radius: 60px;
}

.box-step-01 .hdg-01 b > span {
  display: inline-block;
  position: relative;
  padding-left: 12px;
  padding-right: 5px;
}

.box-step-01 .hdg-01 b > span::before {
  content: "";
  display: block;
  background: #fff;
  width: 20px;
  height: 20px;
  border-radius: 40px;
  position: absolute;
  top: -2px;
  right: -1px;
}

.box-step-01 .hdg-01 b > span span {
  font-weight: bold;
  display: inline-block;
  position: relative;
  z-index: 2;
}

.box-step-01 .img {
  text-align: center;
  margin-bottom: 25px;
}

@media only screen and (max-width: 768px) {
  .box-step-01 {
    margin: 0;
  }
  .box-step-01 .item {
    margin-top: 20px;
    float: none;
    width: 100%;
    padding: 0;
  }
  .box-step-01 .hdg-01 {
    font-size: 1.8rem;
  }
  .box-step-01 .img {
    margin-bottom: 20px;
  }
  .box-step-01 .img img {
    max-width: 196px;
    width: 100%;
  }
}

/* ======================================
 mt
====================================== */
.mt0 {
  margin-top: 0 !important;
}

.t-left {
  text-align: left !important;
}

.t-center {
  text-align: center !important;
}

.sp-del {
  display: inline;
}

@media only screen and (max-width: 768px) {
  .sp-del {
    display: none;
  }
}

.pc-del {
  display: none;
}

@media only screen and (max-width: 768px) {
  .pc-del {
    display: inline;
  }
}


/* -------------------------------------
お知らせ
----------------------------------------- */
@media print, screen and (min-width: 769px) {
  /* PC */
  .info {
    margin-bottom: 50px;
  }
  .info-inner {
    max-width: 1122px;
    margin: 0 auto;
    width: 100%;

    background: #fff;
    padding: 30px 40px;
    position: relative;
  }
  .info-box {
    border: #c6c9d3 2px solid;
    border-radius: 14px;
    padding: 24px 30px;
  }
  .info__ttl {
    color: #f00;
    font-weight: bold;
    margin-bottom: 1em;
  }
  .info__txt {
    color: #f00;
  }
  .info__txt a {
    color: #f00;
    text-decoration: underline;
  }
}
@media only screen and (max-width: 768px) {
  /* SP */
  .info {
    margin-bottom: 40px;
  }
  .info-inner {
    background: #fff;
    padding: 20px 20px;
    position: relative;
  }
  .info-box {
    border: #c6c9d3 2px solid;
    border-radius: 14px;
    padding: 24px 20px;
  }
  .info__ttl {
    color: #f00;
    font-weight: bold;
    margin-bottom: 1em;
  }
  .info__txt {
    color: #f00;
    font-size: 1.4rem;
  }
  .info__txt a {
    color: #f00;
    font-size: 1.4rem;
    text-decoration: underline;
  }
}