/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/
@charset "utf-8";
/* --------------------------------------------------
	ステージ共通
-------------------------------------------------- */
/* サブページのステージ */
#zone_substage {
  margin: 0px auto;
  width: 100vw;
  max-width: 1750px;
  padding: 50px 0;
  margin-bottom: 105px;
}
#zone_substage h2 {
  font-size: clamp(30px, calc(60/1920*100vw), 60px);
  margin: 0;
  padding-left: 1.5em;
}
@media screen and (max-width : 768px) {
  #zone_substage {
    padding: 25px 0;
    width: 100%;
    margin-bottom: 35px;
  }
  #zone_substage h2 {
    font-size: 1.1em;
    padding-left: 0.5em;
  }
}
@media screen and (max-width : 500px) {
  #zone_substage h2 {
    font-size: .9em;
  }
}
@media screen and (max-width : 350px) {
  #zone_substage h2 {
    font-size: .8em;
  }
}
/* 基本　*/
#zone_middle_floor {
  margin: 0 auto;
  padding: 0;
}
/* --------------------------------------------------
	本文領域
-------------------------------------------------- */
/*  本文領域 */
.col_textarea_full {
  padding: 0;
  margin: 0 auto;
  width: 100%;
}
.col_textarea_full::after {
  content: "";
  clear: both;
  display: block;
}
@media (max-width : 1614px) {
  .col_textarea_full {
    margin-bottom: 20px;
  }
}
.page-nav {
  max-width: 1133px;
  list-style: none;
  padding: 0;
  margin: 0 auto 65px;
}
.page-nav a {
  color: #000;
  font-size: clamp(19px, calc(27/1920*100vw), 27px);
  text-decoration: none;
  padding-bottom: 0.4em;
  border-bottom: solid 1px #000;
  -webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
}
.page-nav a:hover {
  color: #D80A30;
  border-bottom: solid 1px #D80A30;
}
@media screen and (max-width : 768px) {
  .page-nav {
    margin: 0 auto 50px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 15px;
    width: 90%;
  }
  .page-nav li {
    width: 50%;
    text-align: center;
    margin: 0.5em 0;
  }
  .page-nav a {
    font-size: 1.1em;
  }
}
@media screen and (max-width : 500px) {
  .page-nav a {
    font-size: .9em;
  }
}
#section01 h2, #section02 h2, #section04 h2, #section035 h2 {
  font-size: clamp(50px, calc(109/1920*100vw), 109px);
  position: relative;
  z-index: 1;
  padding-left: 1em;
  margin: 2em auto 0 auto;
  max-width: 1920px;
}
#section01 h2 span, #section02 h2 span, #section04 h2 span, #section035 h2 span {
  font-size: clamp(70px, calc(163/1920*100vw), 163px);
  color: #e6e6e6;
  line-height: 1;
  position: absolute;
  left: 3%;
  top: -32%;
  z-index: -1;
}
@media screen and (max-width : 768px) {
  #section01 h2, #section02 h2, #section04 h2, #section035 h2 {
    font-size: 1.5em;
  }
  #section01 h2 span, #section02 h2 span, #section04 h2 span, #section035 h2 span {
    font-size: 1.75em;
    top: -0.75em;
  }
}
#section02 h2 span {
  color: #fff;
}
#section01 {
  padding: 4% 0 7%;
  max-width: 2200px;
  margin: 0 auto;
}
#section01 .flexbox {
  margin: 30px 0 30px auto;
  max-width: 1795px;
}
#section01 .flexbox .img {
  width: clamp(350px, calc(673/1920*100vw), 673px);
}
#section01 .flexbox .wrap {
  width: clamp(500px, calc(1239/1920*100vw), 1239px);
  background-color: #f2f2f2;
  padding: 5% 4% 3%;
  margin-left: -5%;
  margin-bottom: 3%;
  position: relative;
}
#section01 .flexbox:nth-of-type(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  margin-left: 0;
  margin-right: auto;
}
#section01 .flexbox:nth-of-type(even) .wrap {
  margin-left: 0;
  margin-right: -5%;
  margin-bottom: 3%;
}
#section01 .flexbox:nth-of-type(even) .wrap h3 {
  text-align: right;
}
#section01 .flexbox h3 {
  font-size: clamp(18px, calc(40/1920*100vw), 40px);
}
#section01 .flexbox p {
  font-size: clamp(15px, calc(28/1920*100vw), 28px);
}
#section01 .flexbox img {
  width: 100%;
}
@media screen and (max-width : 768px) {
  #section01 .flexbox .img {
    width: 100%;
  }
  #section01 .flexbox:nth-of-type(even) .wrap,#section01 .flexbox .wrap {
    width: 80%;
	  
	  padding: 0;
    margin: 2em auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	  background: none;
  }
  #section01 .flexbox h3 {
    font-size: 1.3em;
    text-align: left !important;
  }
  #section01 .flexbox p {
    font-size: .8em;
  }
  #section01 .flexbox .right {
    text-align: left;
  }
}
@media screen and (max-width : 500px) {
  #section01 .flexbox p {
    font-size: .9em;
  }
}
#section02 {
  padding: 2em 0;
  background-color: #f2f2f2;
  background-repeat: no-repeat;
  background-image: url("../image/section02-back01.png"), url("../image/section02-back02.png"), url("../image/section02-back03.png");
  background-size: clamp(615px, calc(1230/1920*100vw), 1230px), clamp(335px, calc(671/1920*100vw), 671px), clamp(388px, calc(776/1920*100vw), 776px);
  background-position: top 3% left -5%, top 35% right -8%, top 75% right -8%;
}
#section02 .wrap_hatakan {
  max-width: 1920px;
  margin: 0 auto;
}
#section02 .list-box {
  margin: 10% -2% 10% auto;
  max-width: 1349px;
  padding: 3% 5% 5%;
  border-top: solid 1px #666666;
  border-left: solid 1px #666666;
  border-bottom: solid 1px #666666;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}
@media (min-width : 1921px) {
  #section02 .list-box {
    max-width: 1600px;
  }
}
#section02 .list-box::after {
  content: '';
  width: 100%;
  height: 100%;
  border-top: solid 1px #d80a30;
  border-left: solid 1px #d80a30;
  border-bottom: solid 1px #d80a30;
  display: block;
  position: absolute;
  top: 17px;
  left: -20px;
}
#section02 .list-box h3 {
  font-size: clamp(28px, calc(62/1920*100vw), 62px);
}
#section02 .list-box h3 span {
  font-size: clamp(19px, calc(37/1920*100vw), 37px);
  position: relative;
}
#section02 .list-box h3 span::before {
  content: '';
  width: 9%;
  height: 1px;
  background-color: #000;
  margin: 15px 40px;
  display: inline-block;
}
#section02 ul {
  list-style: none;
  padding: 0;
}
#section02 .list-box ul li {
  margin-bottom: 40px;
  padding-left: clamp(24px, calc(45/1920*100vw), 45px);
  position: relative;
}
#section02 .list-box ul li::before {
  content: '';
  width: clamp(7px, calc(15/1920*100vw), 15px);
  height: clamp(7px, calc(15/1920*100vw), 15px);
  background-color: #d80a30;
  border-radius: clamp(5px, calc(9/1920*100vw), 9px);
  display: block;
  position: absolute;
  top: clamp(7px, calc(15/1920*100vw), 15px);
  left: 0;
}
#section02 .list-box ul li h4 {
  font-size: clamp(17px, calc(33/1920*100vw), 33px);
  margin: 0;
}
#section02 .list-box ul li p {
  font-size: clamp(14px, calc(27/1920*100vw), 27px);
  margin: 0.5em 0 0;
}
#section02 .circle-box {
  max-width: 1561px;
  padding: 1% 4% 3% 3%;
  background-color: #fff;
}
#section02 .circle-box h3 {
  font-size: clamp(24px, calc(50/1920*100vw), 50px);
  text-align: right;
}
#section02 .circle-box li {
  width: clamp(300px, calc(562/1920*100vw), 562px);
  height: clamp(300px, calc(562/1920*100vw), 562px);
  /*border-radius: 50%;*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-repeat: no-repeat !important;
  background-size: 100% !important;
}
#section02 .circle-box li:nth-child(1) {
  /*border: solid 1px #7ed1ce;*/
  background: url("../image/circle-01.svg");
}
#section02 .circle-box li:nth-child(2) {
  /*border: solid 1px #c7d192;*/
  margin-left: -4%;
  background: url("../image/circle-02.svg");
}
#section02 .circle-box li:nth-child(3) {
  /*border: solid 1px #ffbdcc;*/
  margin-left: -4%;
  background: url("../image/circle-03.svg");
}
#section02 .circle-box li img {
  width: 82px;
  margin: 1em auto;
}
#section02 .circle-box li h4 {
  font-size: clamp(18px, calc(38/1920*100vw), 38px);
  margin: 0;
}
#section02 .circle-box li p {
  font-size: clamp(14px, calc(26/1920*100vw), 26px);
  text-align: center;
}
#section02 .circle-box > p {
  font-size: clamp(14px, calc(26/1920*100vw), 26px);
  text-align: right;
  margin-top: 2em;
}
@media screen and (max-width : 768px) {
  #section02 {
    padding: 2em 1em;
    background-size: 300px, 170px, 300px;
    background-position: top 0% right 0, top 26% left, top 85% right -50%;
  }
  #section02 .list-box {
    padding:15% 11% 6%;
  }
  #section02 .list-box::after {
    top: 10px;
    left: 9px;
  }
  #section02 .list-box h3 {
    font-size: 1.2em;
  }
  #section02 .list-box h3 span {
    font-size: 0.9em;
  }
  #section02 .list-box h3 span::before {
    width: 5%;
    margin: 5px 20px;
  }
  #section02 .list-box ul li {
    margin-bottom: 20px;
    padding-left: 1.5em;
  }
  #section02 .list-box ul li::before {
    width: 8px;
    height: 8px;
    border-radius: 4px;
    top: 10px;
  }
  #section02 .circle-box {
    padding: 12% 5%;
  }
  #section02 .circle-box h3 {
    font-size: 1.2em;
    text-align: center;
  }
  #section02 .circle-box li {
    width: min(75vw, 350px);
    height: min(75vw, 350px);
    margin: 0 auto;
    padding: 5% 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #section02 .circle-box li:nth-child(2), #section02 .circle-box li:nth-child(3) {
    margin: -3% auto 0;
  }
  #section02 .circle-box li img {
    width: 65px;
    margin: 1em auto 0.5em;
  }
  #section02 .circle-box li p {
    font-size: 0.9em;
  }
  #section02 .circle-box > p {
    font-size: 0.9em;
    text-align: left;
  }
  .btn a {
    width: 250px;
    font-size: 1em;
    padding: 15px;
    margin: 50px auto;
    display: block;
  }
}
@media screen and (min-width : 769px) and (max-width: 1440px) {
  #section02 {
    padding-left: 30px;
    padding-right: 30px;
  }
}
#section03 {
  padding: 4% 2%;
  background-color: #f2f2f2;
}
#section03 .sec03_bg {
  background: url("../image/office-01.jpg")no-repeat;
  background-size: 50%;
  background-position: right -20%;
}
#section03 h2 {
  width: clamp(300px, calc(750/1920*100vw), 750px);
  text-align: center;
}
#section03 h2 .en {
  font-size: clamp(44px, calc(100/1920*100vw), 100px);
  display: block;
  font-weight: 500;
}
#section03 h2 .ja {
  font-size: clamp(29px, calc(63/1920*100vw), 63px);
  font-weight: 400;
  padding: 0.75em 1em 0.3em;
  border-bottom: solid 1px #000;
  display: block;
}
#section03 .flexbox {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}
#section03 .flexbox > img {
  width: clamp(400px, calc(950/1920*100vw), 950px);
}
#section03 ul {
  list-style: none;
  padding-left: 0;
  margin: 5% 0;
  z-index: 2;
}
#section03 ul li {
  width: 24%;
  margin-bottom: 2em;
}
#section03 ul.kyoto li {
  width: 19%;
  margin-bottom: 2em;
}
#section03 ul li h3 {
  text-align: center;
  font-size: clamp(14px, calc(22/1920*100vw), 22px);
  margin: 0;
}
#section03 ul li img {
  width: 100%;
}
.tab_contents_box label {
  margin: 2em 0 0 0;
  font-size: clamp(29px, calc(63/1920*100vw), 63px);
  font-weight: 400;
  padding: 0.75em 1em 0.3em;
  border-bottom: solid 1px #000;
  display: inline-block;
}
.tab_menu {
  z-index: 2;
  position: relative;
  margin: 0 5px;
  text-align: center;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.tab_menu:hover {
  color: #838383;
}
input:checked + .tab_menu {
  color: #000;
}
input[name="tab_menu"] {
  display: none;
}
.tab_content {
  display: none;
  z-index: 1;
  clear: both;
  position: relative;
  top: -2px;
}
#tab_a:checked ~ #tab_a_content, #tab_b:checked ~ #tab_b_content {
  display: block;
}
@media screen and (max-width : 768px) {
  #section03 h2 {
    width: 100%;
  }
  #section03 h2 .en {
    font-size: 1.7em;
  }
  #section03 h2 .ja {
    font-size: 1.3em;
    padding: 0.75em 1em 0.3em;
  }
  #section03 .flexbox > img {
    width: 100%;
  }
  #section03 ul {
    padding: 15px;
  }
  #section03 ul li {
    width: 100%;
  }
}
#section035 ul.s_numbers_list {
  max-width: 1200px;
  margin: 0 auto 10px auto;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 8px 1fr 8px 1fr;
  grid-template-columns: repeat(3, 1fr);
  -ms-grid-rows: 1fr;
  grid-template-rows: repeat(1, 1fr);
  -ms-grid-rows: -webkit-max-content 8px -webkit-max-content 8px 1fr 8px auto;
  -ms-grid-rows: max-content 8px max-content 8px 1fr 8px auto;
  grid-template-rows: -webkit-max-content -webkit-max-content 1fr auto;
  grid-template-rows: max-content max-content 1fr auto;
  gap: 8px;
}
#section035 ul.s_numbers_list > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
#section035 ul.s_numbers_list > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
#section035 ul.s_numbers_list > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}
#section035 ul.s_numbers_list02 {
  max-width: 1200px;
  margin: 0 auto 10px auto;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 8px 1fr;
  grid-template-columns: repeat(2, 1fr);
  -ms-grid-rows: 1fr 8px 1fr;
  grid-template-rows: repeat(2, 1fr);
  -ms-grid-rows: -webkit-max-content 8px -webkit-max-content 8px 1fr 8px auto;
  -ms-grid-rows: max-content 8px max-content 8px 1fr 8px auto;
  grid-template-rows: -webkit-max-content -webkit-max-content 1fr auto;
  grid-template-rows: max-content max-content 1fr auto;
  gap: 8px;
}
#section035 ul.s_numbers_list02 > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
#section035 ul.s_numbers_list02 > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
#section035 ul.s_numbers_list03 {
  max-width: 1200px;
  margin: 0 auto 10px auto;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 8px 1fr;
  grid-template-columns: repeat(2, 1fr);
  -ms-grid-rows: 1fr 8px 1fr 8px 1fr;
  grid-template-rows: repeat(3, 1fr);
  -ms-grid-rows: -webkit-max-content 8px -webkit-max-content 8px 1fr 8px auto;
  -ms-grid-rows: max-content 8px max-content 8px 1fr 8px auto;
  grid-template-rows: -webkit-max-content -webkit-max-content 1fr auto;
  grid-template-rows: max-content max-content 1fr auto;
  gap: 8px;
}
#section035 ul.s_numbers_list03 > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
#section035 ul.s_numbers_list03 > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
#section035 ul.s_numbers_list li, #section035 ul.s_numbers_list02 li, #section035 ul.s_numbers_list03 li {
  background: #f3f9fa;
  font-size: 28px;
  font-weight: bold;
  padding: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}
#section035 ul.s_numbers_list03 li:nth-child(3) {
  -ms-grid-column-span: 2;
  grid-column: span 2 / span 2;
  -ms-grid-row: 2;
  grid-row-start: 2;
}
#section035 ul.s_numbers_list03 li:nth-child(4) {
  -ms-grid-column-span: 2;
  grid-column: span 2 / span 2;
  -ms-grid-row: 3;
  grid-row-start: 3;
}
#section035 ul.s_numbers_list img, #section035 ul.s_numbers_list02 img, #section035 ul.s_numbers_list03 img {
  width: 100%;
}
#section035 ul.s_numbers_list li h6, #section035 ul.s_numbers_list02 h6, #section035 ul.s_numbers_list03 h6 {
  font-size: 2em;
}
@media screen and (max-width : 768px) {
  #section035 ul.s_numbers_list, #section035 ul.s_numbers_list02, #section035 ul.s_numbers_list03 {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
  #section035 ul.s_numbers_list li, #section035 ul.s_numbers_list02 li, #section035 ul.s_numbers_list03 li {
    margin-bottom: 1em;
  }
}
#section04 a {
  /*	display: block;
	width: 100%;
	border-radius: 100%;
	align-items: center;
	align-content: center;
	justify-content: center;
  background-repeat: no-repeat;

  background-position: center;
	background-size: contain;
	max-height: 500px;
padding: 5em 0;
 */
}
#section04 a {
  display: block;
  margin: 0 auto;
  text-align: center;
  width: 70%;
  border-radius: 100%;
}
#section04 a img {
  max-width: 1000px;
  width: 96%;
  margin: 0 auto;
  border-radius: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
#section04 a h3 {
  font-size: clamp(38px, calc(80/1920*100vw), 80px);
  text-align: center;
  margin: 0 auto 0.5em;
}
#section04 a ul {
  list-style: none;
  padding-left: 0;
}
#section04 a ul li {
  position: absolute;
}
#section04 a ul li img {
  width: 100%;
}
#section04 a ul li:nth-child(1) {
  width: clamp(200px, calc(457/1920*100vw), 457px);
  left: 5%;
  top: 10%;
}
#section04 a ul li:nth-child(2) {
  width: clamp(175px, calc(349/1920*100vw), 349px);
  right: 15%;
  top: 0;
}
#section04 a ul li:nth-child(3) {
  width: clamp(200px, calc(457/1920*100vw), 457px);
  left: 10%;
  bottom: 7%;
}
#section04 a ul li:nth-child(4) {
  width: clamp(268px, calc(536/1920*100vw), 536px);
  right: 5%;
  bottom: 6%;
}
/*#section04 a {
  color: #000;
  text-decoration: none;
  font-size: clamp(17px, calc(33/1920*100vw), 33px);
  display: block;
  text-align: center;
  transition: 1s;
}*/
#section04 a:hover {
  -webkit-filter: saturate(800%);
  filter: saturate(800%);
}
/*#section04 a img {
  width: clamp(20px, calc(40/1920*100vw), 40px);
  margin-left: 0.5em;
}*/
@media screen and (max-width : 768px) {
  #section04 {
    padding-top: 40px;
  }
  /*  #section04 .circle-image {
    height: 140vw;
    background-size: 100%;
  }
  #section04 .circle-image h3 {
    font-size: 1.4em;
  }
  #section04 .circle-image ul li:nth-child(1) {
    width: 40vw;
    left: 5%;
    top: 10%;
  }
  #section04 .circle-image ul li:nth-child(2) {
    width: 33vw;
    right: 5%;
    top: 5%;
  }
  #section04 .circle-image ul li:nth-child(3) {
    width: 40vw;
    left: 3%;
    bottom: 10%;
  }
  #section04 .circle-image ul li:nth-child(4) {
    width: 45vw;
    right: 2%;
    bottom: 10%;
  }
  #section04 .circle-image a {
    font-size: 1em;
  }*/
}
/*-----------------------------------------------*/
#section03-2 {
  padding-top: 3em;
  position: relative;
}
#section03-2 h2 .en {
  font-size: clamp(50px, calc(109/1920*100vw), 109px);
  position: relative;
  z-index: 1;
  top: 140px;
  line-height: 1;
}
.top-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.button-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3em;
}
.button-area button {
  font-size: clamp(1.25rem, 0.568rem + 3.41vw, 3.125rem);
  cursor: pointer;
  border: none;
  border-bottom: 1px solid #000;
  background: none;
  margin-top: 4em;
  width: 4.7em;
  -webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
}
.button-area button span:after {
  content: "\f002";
  font-weight: 600;
  font-family: "Font Awesome 5 Free";
  padding-left: 5px;
  font-size: .6em;
  color: #D80A30;
  vertical-align: middle;
}
.main-image {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 40%;
  flex: 0 0 40%;
  min-width: 250px;
  height: auto;
  width: 40%;
  height: auto;
}
.bottom-area {
  margin-top: 100px; /* 画像分のスペース確保 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 20px;
}
.image-box {
  width: 22%; /* 約4列 */
  min-width: 140px;
  text-align: center;
}
.image-box img {
  width: 100%;
  height: auto;
}
.image-box figcaption {
  margin-top: 5px;
  font-size: 14px;
  color: #444;
}
@media (min-width: 1921px) {
  .bottom-area {
    margin-top: 10%;
  }
  .button-area button {
    margin-top: 8em;
  }
}
@media (max-width: 768px) {
  .main-image {
    position: static;
    width: 100%;
    display: block;
    margin: 0 auto 20px;
  }
  .image-box {
    width: 45%; /* 2列 */
  }
  #section03-2 h2 .en {
    font-size: clamp(50px, calc(109/1920*100vw), 109px);
    position: relative;
    z-index: 1;
    padding-left: 0;
    top: 16px;
    left: 9px;
  }
  .button-area {
    margin-left: 0;
  }
  .button-area button {
    margin: 2em 0;
  }
}
@media (max-width: 1200px) {
  #section03-2 h2 .en {
    position: static;
  }
  .button-area button {
    margin-top: 0;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .top-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .bottom-area {
    margin-top: 0;
  }
  .main-image {
    margin-bottom: 0;
  }
  #section03-2 h2 .en {
    font-size: 1.3em;
  }
}
@media (max-width: 480px) {
  .image-box {
    width: 100%; /* 1列 */
  }
}