@charset "utf-8";
/*---------------------------------
  Base
---------------------------------*/
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  color: #223d79;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 2vw, 16px);
  font-weight: 500;
  line-height: 1.8;
  margin: 0;
  background-color: #fff;
}

@view-transition {
  navigation: auto;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media print, screen and (max-width: 896px) {
  body {
    min-width: 300px;
  }
}

/*---------------------------------
  Reset
---------------------------------*/
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd {
  margin: 0;
}

ul,ol,li {
  margin: 0;
  padding: 0;
  list-style: none;
}

img,picture,svg,video,canvas {
  max-width: 100%;
  height: auto;
  display: block;
}

img {
  width: 100%;
  vertical-align: bottom;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

/*---------------------------------
  trendslabfour.css
---------------------------------*/
@font-face {
  font-family: 'TrendSlabFour';
  src: url('fonts/trendslabfour.woff2') format('woff2');
  font-style: normal;
  font-weight: normal;
  font-display: swap;
}
/*
@font-face {
  font-family: 'TrendSlabFour';
  src: url('fonts/trendslabfour.eot');
  src: url('fonts/trendslabfour.eot?#iefix') format('embedded-opentype'),
       url('fonts/trendslabfour.woff2') format('woff2'),
       url('fonts/trendslabfour.woff') format('woff'),
       url('fonts/trendslabfour.ttf') format('truetype'),
       url('fonts/trendslabfour.svg#trendslabfour') format('svg');
}
*/

/*---------------------------------
  Btn
---------------------------------*/
.btn_navy {
  color: #eff8ff;
  font-weight: 600;
  text-align: center;
  border: solid 2px #1f1b59;
  border-radius: 5em;
  background: linear-gradient(#646a9d, #1f1b59);
  box-shadow: 5px 5px 10px #999;
  display: block;
  padding: 0.5em 1.5em;
}

.btn_navy:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.btn_right_arrow::after {
  content: "\f178";
  font-family: 'Font Awesome 7 Free';
  padding-left: 0.5em;
}

.btn_left_arrow::before {
  content: "\f177";
  font-family: 'Font Awesome 7 Free';
  padding-right: 0.5em;
}

.btn_page {
  width: 100%;
  max-width: 300px;
  color: #fff;
  font-size: clamp(16px, 1.8vw, 21px);
  font-weight: 700;
  text-align: center;
  border: solid 1px #ff971d;
  border-radius: 5em;
  background: linear-gradient(to bottom, #f9703d 0%, #fea46e 50%, #f9703d 100%);
  box-shadow: 5px 5px 10px #999;
  display: block;
  margin-top: 3em;
  margin-left: auto;
  padding: 0.5em 2em;
}

.btn_page::after {
  content: "\f04b";
  font-family: 'Font Awesome 7 Free';
  margin-left: 1em;
}

.btn_page:hover {
  opacity: 0.8;
  transition: 0.3s;
}

@media print, screen and (max-width: 896px) {
  .btn_page {
    width: 200px;
  }
}

/*---------------------------------
  Burger
---------------------------------*/
.burger_sitemap_inner a {
  color: #fff;
  display: block;
}

.burger_sitemap_inner dl {
  border-bottom: solid 1px #dfe1e5;
  padding: 1.5em 0.5em;
}

.burger_sitemap_inner dl dt a {
  display: block;
  position: relative;
}

.burger_sitemap_inner dl dt a::before {
  content: "\f138";
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 600;
  position: absolute;
  right: 0.5em;
}

.burger_sitemap_inner dl dd {
  margin-top: 1em;
}

.burger_sitemap_inner dl dd ul {
  padding-left: 1em;
}

.burger_sitemap_inner dl dd ul li a {
  padding: 0.5em 0;
}

.burger_sitemap_inner dl dd ul li a::before {
  content: "\f068";
  font-family: "Font Awesome 7 Free";
  font-weight: 600;
  margin-right: 1em;
}

.burger_phone_inner {
  text-align: center;
  border-radius: 0.5em;
  background: #fff;
  margin: 3em 0 1.5em 0;
  padding: 1.5em;
}

.burger_phone_inner p:first-of-type {
  font-size: 24px;
}

.burger_phone_inner p:first-of-type::before {
  content: "\f095";
  font-family: "Font Awesome 7 Free";
  font-size: 80%;
  font-weight: 600;
  margin-right: 0.5em;
}

.burger_phone_inner p:last-of-type {
  font-size: 12px;
  line-height: 1.8em;
  margin-top: 0.5em;
}

.burger_btn_contact {
  text-align: center;
  border-radius: 0.5em;
  background: #fff;
  display: block;
  padding: 1.5em;
}

.burger_btn_contact::before {
  content: "\f0e0";
  font-family: "Font Awesome 7 Free";
  font-size: 21px;
  font-weight: 600;
  vertical-align: middle;
  margin-right: 0.5em;
}

/* 基本設定 */
body.active {
  height: 100%;
  overflow: hidden;
}

.burger_box.active {
  transform: translateX(0%);
}

.btn_burger {
  width: 30px;
  height: 25px;
  position: absolute;
  top: 15px;
  right: 2em;
  text-align: center;
  display: block;
  cursor: pointer;
  z-index: 999;
}

.btn_burger span {
  width: 30px;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: block;
  transition: 0.3s ease-in-out;
}

.btn_burger span:nth-child(1) {
  top: 0;
}

.btn_burger span:nth-child(2) {
  top: 11px;
}

.btn_burger span:nth-child(3) {
  bottom: 0;
}

.btn_burger.active span:nth-child(1),
.btn_burger.active span:nth-child(3) {
  width: 33px;
  top: 12px;
  background: #fff;
}

.btn_burger.active span:nth-child(1) {
  transform: rotate(45deg);
}

.btn_burger.active span:nth-child(2) {
  display: none;
}

.btn_burger.active span:nth-child(3) {
  transform: rotate(-45deg);
}

.burger_box {
  width: 100%;
  height: 100vh;
  color: #1f1f1f;
  background: #1c2a6c;
  padding: 5em 6%;
  position: fixed;
  top: 0;
  left: 0;
  transform: translateX(100%);
  transition: all 0.6s;
  overflow-y: scroll;
  z-index: 99;
}

@media print, screen and (min-width: 896px) {
  .burger_content {
    display: none;
  }
}

/*---------------------------------
  Common
---------------------------------*/
h1,h2,h3,h4,h5,h6 {
  color: #1c2a6c;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.sub_title {
  color: #5b719e;
  font-family: 'TrendSlabFour', serif;
  font-size: clamp(16px, 2vw, 24px);
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
  position: relative;
}

.sub_title::before {
  content: "";
  width: 10px;
  height: 3px;
  background: #5b719e;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
}

.index_wrap {
  padding: 2em 0;
  content-visibility: auto;
  contain-intrinsic-size: auto 700px;
}

.index_wrap h2 {
  font-size: clamp(21px, 3.5vw, 38px);
}

.index_wrap h3 {
  font-size: clamp(16px, 2vw, 18px);
}

.page_wrap {
  padding: 2em 0;
}

.wrapper {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 1em;
}

.text_box p:nth-child(n+2) {
  margin-top: 1em;
}

.list_disc li {
  list-style: disc inside;
  text-indent: -1.3em;
  padding-left: 1.3em;
}

.contents_title_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 3em;
}

.content_title_inner {
  width: 70%;
}

.content_title_thumb {
  width: 25%;
}

.content_title_thumb img {
  width: auto;
  max-height: 210px;
  margin-left: auto;
}

.content_title_inner h3 {
  font-size: clamp(18px, 3.5vw, 38px);
}

.text_title {
	font-size: clamp(18px, 3.5vw, 38px);
}

.sky_bg_wrap {
  background: url("images/common/sky_bg.jpg") no-repeat;
  background-position: center center;
  background-size: cover;
}

/* Form */
.page_form_box input,
.page_form_box select,
.page_form_box textarea {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-size: 16px !important;
  background: #fbf8f9;
}

.page_form_box button:focus,
.page_form_box input:focus,
.page_form_box select:focus,
.page_form_box textarea:focus {
  outline: none;
}

.page_form_box input,
.page_form_box select,
.page_form_box textarea {
  width: 100%;
  color: #1b2a6b;
	border: solid 1px #1b2a6b;
	-webkit-appearance: none;
	box-sizing: border-box;
}

.page_form_box input,
.page_form_box select {
  border-radius: 5em;
	padding: 1em 1.5em;
}

.page_form_box textarea {
  border-radius: 0.8em;
  resize: vertical;
	min-height: 150px;
	padding: 1em 1.5em;
}

.page_form_box ::-webkit-input-placeholder {
  color: #1b2a6b;
  font-size: clamp(14px, 2vw, 16px);
}

.page_form_box .selectbox {
  width: 100%;
  position: relative;
}

.page_form_box .selectbox::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 20px;
  top: 40%;
  border-bottom: #1b2a6b 2px solid;
  border-right: #1b2a6b 2px solid;
  transform: rotate(45deg)translateY(-30%);
}

#form_submit {
  width: 100%;
}

.page_form_box #form_submit_button {
  width: 100%;
  max-width: 300px;
  height: 50px;
  line-height: 50px;
  color: #fff;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.8vw, 21px) !important;
	font-weight: 700;
  text-align: center;
  letter-spacing: 0.1em;
  border: none;
	border-radius: 5em;
  background: linear-gradient(to bottom, #f9703d 0%, #fea46e 50%, #f9703d 100%);
  box-shadow: 5px 5px 10px #999;
	-webkit-appearance: none;
  margin: 1em auto 0;
  padding: 0 0.5em;
  display: block;
	cursor: pointer;
  position: relative;
}

.page_form_box #form_submit_button:hover {
	opacity: 0.8;
  transition: 0.3s;
}

@media print, screen and (max-width: 896px) {
  .contents_wrap {
    margin-top: 5em;
  }
  
  .wrapper {
    padding: 0 6%;
  }
  
  .contents_title_box {
    flex-direction: column-reverse;
    position: relative;
  }
  
  .content_title_inner {
    width: 100%;
    padding-top: 3em;
  }
  
  .content_title_thumb {
    position: absolute;
    top: 0;
    right: 0;
  }
  
  .content_title_thumb img {
    max-height: 110px;
  }
}

@media print, screen and (max-width: 480px) {
  .sub_title {
    letter-spacing: 0.1em;
  }
  
  .content_title_thumb img {
    max-height: 80px;
  }
}

/*---------------------------------

  Header

---------------------------------*/
header {
  background: #1b2a6b;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 1em 1em;
}

header h1 {
  color: #fff;
  font-size: 16px;
  margin-right: auto;
}

header nav ul {
  display: flex;
  flex-wrap: wrap;
}

header nav ul li a {
  color: #1b2a6b;
  font-weight: 600;
  border-radius: 5em;
  background: #fff;
  margin: 0 0.5em;
  padding: 0.5em 1.5em;
}

header nav li:last-of-type a {
  background: #f08855;
}

header nav ul li a:hover {
  opacity: 0.8;
  transition: 0.3s;
}

@media print, screen and (max-width: 896px) {
  header nav {
    display: none;
  }
}

/*---------------------------------

  Index

---------------------------------*/
/*---------------------------------
  Hero
---------------------------------*/
.hero_wrap {
  position: relative;
}

.hero_content {
  width: 100%;
  height: 86vh;
  position: relative;
  overflow: hidden;
}

.hero_bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero_thumb_1 {
  width: 70%;
  max-width: 800px;
  position: absolute;
  top: 10%;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
}

.hero_thumb_2 {
  width: 80%;
  max-width: 800px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  margin: 0 auto;
}

.hero_thumb_3 {
  width: 20%;
  max-width: 285px;
  min-width: 150px;
  position: absolute;
  bottom: 0;
  right: 5%;
  z-index: 1;
}

.hero_wrap h2 {
  width: 100%;
  color: #fff;
  font-size: clamp(16px, 3.5vw, 32px);
  text-align: center;
  background: linear-gradient(#5aabd0, #456c9a);
  text-shadow: 0 0 8px #333;
  position: relative;
  margin-top: auto;
  padding: 0.2em;
}

.hero_wrap h2 span {
  position: relative;
  display: inline-block;
  padding: 0 1.8em;
}

.hero_wrap h2 span::before,
.hero_wrap h2 span::after {
  content: "";
  width: 5px;
  height: 1.3em;
  background: #fff;
  position: absolute;
  top: 50%;
}

.hero_wrap h2 span::before {
  left: 0.4em;
  transform: translateY(-50%) rotate(-30deg);
  box-shadow: -0.45em -0.3em 0 #fff;
}

.hero_wrap h2 span::after {
  right: 0.4em;
  transform: translateY(-50%) rotate(30deg);
  box-shadow: 0.45em -0.3em 0 #fff;
}

@media print, screen and (max-width: 896px) {
  .hero_content {
    height: 350px;
  }
    
  .hero_wrap h2 span::before,
  .hero_wrap h2 span::after {
    width: 3px;
  }
  
  .hero_thumb_2 {
    width: 260px;
  }
}

@media print, screen and (max-width: 480px) {
  .hero_wrap h2 span::before,
  .hero_wrap h2 span::after {
    height: 2.5em;
  }
  
  .hero_wrap h2 span::before {
    transform: translateY(-50%) rotate(-20deg);
  }
  
  .hero_wrap h2 span::after {
    transform: translateY(-50%) rotate(20deg);
  }
  
  .hero_thumb_1 {
    width: 300px;
  }
  
  .hero_thumb_2 {
    width: 320px;
  }
  
  .hero_thumb_3 {
    width: 100px;
    min-width: inherit;
    bottom: 130px;
  }
}

@media print, screen and (min-width: 481px) {
  .hero_wrap h2 br {
    display: none;
  }
}

/*---------------------------------
  迷っている今が、キミのスタートライン！
---------------------------------*/
.i_threestep_wrap {
  background: #eff8ff;
}

.i_threestep_content {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}

.i_threestep_title_box {
  width: 35%;
}

.i_threestep_title_box h2 {
  color: #f98a53;
}

.i_threestep_title_inner {
  display: flex;
  flex-wrap: wrap;
}

.i_threestep_title_inner_thumb {
  width: 90px;
}

.i_threestep_title_inner dl {
  width: calc(100% - 90px);
  padding: 0.5em;
}

.i_threestep_title_inner dl dt {
  color: #fff;
  font-weight: 800;
  line-height: 1.5em;
  border-radius: 5em;
  background: #1b2a6b;
  display: inline-block;
  position: relative;
  margin-bottom: 1em;
  padding: 0.3em 1.5em;
}

.i_threestep_title_inner dl dt::after {
  content: "";
  border-style: solid;
  border-width: 12px 8px 0 8px;
  border-color: #1c2a6c transparent transparent transparent;
  position: absolute;
  left: 20%;
  bottom: -10px;
}

.i_threestep_title_inner dl dd ul {
  padding-left: 1em;
}

.i_threestep_title_inner dl dd ul li {
  list-style: disc inside;
  text-indent: -1.4em;
  padding-left: 1.4em;
}

.i_threestep_box {
  width: calc(100% - 37%);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  padding-top: 1em;
}

.i_threestep_inner {
  width: 30%;
  background: #fff;
  display: flex;
  flex-direction: column;
}

.i_threestep_inner {
  position: relative;
}

.i_threestep_inner:not(:last-child)::after {
  content: "\f0da";
  font-family: "Font Awesome 7 Free";
  color: #1c2a6c;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 600;
  position: absolute;
  right: -25px;
  top: 50%;
  transform: translateY(-50%);
}

.i_threestep_inner > p:first-of-type {
  color: #fff;
  line-height: 1.8em;
  text-align: center;
  background: #f98a53;
  padding: 0.3em 0.5em 0 0.5em;
}

.i_threestep_inner > p:first-of-type span {
  font-size: clamp(16px, 2vw, 24px);
  padding-left: 5px;
}

.i_threestep_block {
  border-right: solid 1px #1c2a6c;
  border-bottom: solid 1px #1c2a6c;
  border-left: solid 1px #1c2a6c;
  background: #f9f7f7;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1em;
}

.i_threestep_block .btn_navy {
  width: 100%;
  max-width: 200px;
  position: relative;
  margin: 1em auto 0 auto;
}

.i_threestep_block .btn_navy::after {
  content: "\f105";
  font-family: 'Font Awesome 7 Free';
  width: 27px;
  height: 27px;
  color: #f98a53;
  border-radius: 50%;
  background: #fff;
  display: block;
  position: absolute;
  top: 0.5em;
  right: 0.7em;
}

@media print, screen and (max-width: 960px) {
  .i_threestep_content {
    flex-direction: column;
  }
  
  .i_threestep_title_box,
  .i_threestep_box,
  .i_threestep_inner {
    width: 100%;
  }
  
  .i_threestep_inner:nth-of-type(n+2) {
    margin-top: 3em;
  }
  
  .i_threestep_inner:not(:last-child)::after {
    content: "\f0dd";
    text-align: center;
    right: 0;
    left: 0;
    top: inherit;
    bottom: -2.5em;
  }
  
  .i_threestep_block p {
    text-align: center;
  }
}

@media print, screen and (max-width: 480px) {
  .i_threestep_title_inner_thumb {
    width: 70px;
  }
  
  .i_threestep_title_inner dl {
    width: calc(100% - 70px);
  }
}

/*---------------------------------
  YOUR ADVENTURE MAP
---------------------------------*/
.adventure_wrap {
  background: url("images/top/adventure_bg.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
  padding-bottom: 4em;
}

.adventure_box {
  position: relative;
  margin-top: 3em;
  padding: 0 5%;
}

.adventure_inner {
  border: solid 2px #1c2a6c;
  border-radius: 1em;
  background: #fff;
  box-shadow: 5px 5px 0 #1c2a6c;
  padding: 1em 1.5em;
  z-index: 1;
  position: relative;
}

.adventure_inner h3 {
  font-size: clamp(16px, 4vw, 24px);
}

.adventure_inner h3 span {
  font-size: clamp(21px, 4vw, 32px);
}

.adventure_inner_1 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  z-index: 1;
}

.adventure_inner_1 p {
  color: #fff;
  font-size: clamp(16px, 3vw, 32px);
  font-weight: 700;
  border-radius: 0.5em;
  background: #1c2a6c;
  position: relative;
  margin-right: 2em;
  padding: 0.5em 1em;
}

.adventure_inner_1 p::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -12px;
  border: 12px solid transparent;
  border-left: 12px solid #1c2a6c;
}

.adventure_inner_1_thumb {
  width: 200px;
}

.adventure_inner_2 {
  width: fit-content;
  font-size: clamp(16px, 3vw, 21px);
  font-weight: 700;
  text-align: center;
  background: #ffd13f;
  position: relative;
  margin-left: auto;
}

.adventure_inner_2::after {
  content: "\f3c5";
  font-family: 'Font Awesome 7 Free';
  font-size: clamp(28px, 3vw, 36px);
  transform: rotate(20deg);
  position: absolute;
  top: -0.8em;
  right: 0;
}

.adventure_inner_3 {
  width: 45%;
  position: relative;
  padding-left: 6em;
}

.adventure_inner_3 .adventure_tag {
  top: -4em;
  left: -2em;
  transform: rotate(-7deg);
}

.adventure_inner_3_thumb {
  width: 25%;
  position: absolute;
  left: -2em;
  top: -2em;;
}

.adventure_inner_4 {
  width: 85%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 5em 0 0 auto;
}

.adventure_inner_4_block_thumb {
  width: 28%;
  position: relative;
  z-index: 1;
}

.adventure_inner_4_block {
  width: 100%;
  max-width: 490px;
  position: relative;
  padding-right: 5em;
}

.adventure_inner_4_block .adventure_tag {
  top: -7em;
  right: -2em;
  transform: rotate(7deg);
}

.adventure_inner_4_thumb {
  width: 30%;
  position: absolute;
  top: -2em;
  right: -5em;
}

.adventure_inner_5 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  margin-top: 9em;
  padding: 2em 2em 2em 20%;
}

.adventure_inner_5 .adventure_tag {
  transform: rotate(10deg);
  writing-mode: inherit;
  top: -4em;
  left: 0;
  padding: 0 3em 0 1em;
  z-index: 1;
}

.adventure_inner_5 .adventure_tag::before {
  margin-bottom: 0;
  margin-right: 1em;
}

.adventure_inner_5_thumb {
  width: 20%;
  position: absolute;
  top: -4em;
  left: -3em;
}

.adventure_block_5 {
  width: 55%;
}

.adventure_block_5 .adventure_btn {
  font-size: clamp(16px, 3vw, 21px);
  min-width: 300px;
}

.adventure_block_5 .adventure_btn::after {
  content: "\f04b";
  font-family: 'Font Awesome 7 Free';
  margin-left: 1em;
}

.adventure_youtube {
  width: 40%;
  aspect-ratio: 16 / 9;
}

.adventure_youtube iframe {
  width: 100%;
  height: 100%;
}

.adventure_tag {
  font-size: clamp(16px, 3vw, 21px);
  writing-mode: vertical-rl;
  background: #ffd13f;
  position: absolute;
  padding: 1em 0 3em 0;
}

.adventure_tag::before {
  content: "\f3c5";
  font-family: 'Font Awesome 7 Free';
  font-weight: 600;
  margin-bottom: 1em;
}

.adventure_btn {
  width: fit-content;
  min-width: 200px;
  color: #faf6eb;
  font-weight: 700;
  text-align: center;
  border: solid 2px #ff914d;
  border-radius: 5em;
  background: linear-gradient(#ffc697, #ff914d);
  box-shadow: 5px 5px 10px #999;
  display: block;
  margin: 1em auto;
  padding: 0.5em 1em;
}

.adventure_btn:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.adventure_arrow_1 {
  width: 66%;
  height: 330px;
  border-top: dashed 3px #1c2a6c;
  border-right: dashed 3px #1c2a6c;
  border-bottom: dashed 3px #1c2a6c;
  border-radius: 0 1em 1em 0;
  position: absolute;
  top: 5em;
  left: 18%;
  display: block;
}

.adventure_arrow_2 {
  width: 35%;
  height: 280px;
  border-left: dashed 3px #1c2a6c;
  border-bottom: dashed 3px #1c2a6c;
  border-radius: 0 0 0 1em;
  position: absolute;
  top: 450px;
  left: 25%;
  display: block;
}

.adventure_arrow_3 {
  width: 22%;
  height: 100px;
  border-right: dashed 3px #1c2a6c;
  border-bottom: dashed 3px #1c2a6c;
  border-radius: 0 0 1em 0;
  position: absolute;
  top: 800px;
  right: 27%;
  display: block;
}

.adventure_arrow_4 {
  width: 28px;
  height: 100px;
  border-top: dashed 3px #1c2a6c;
  border-left: dashed 3px #1c2a6c;
  border-radius: 1em 0 0 0;
  position: absolute;
  top: 897px;
  left: 0;
  right: 0;
  display: block;
  margin: 0 auto;
}

@media print, screen and (max-width: 1261px) {
  .adventure_inner {
    max-width: 90%;
    margin: 3em auto 0 auto;
    padding: 2em;
  }
  
  .adventure_inner_1 {
    flex-direction: column;
  }
  
  .adventure_inner_1 p {
    margin-right: 0;
    margin-bottom: 2em;
  }
  
  .adventure_inner_1 p::after {
    width: 26px;
    border-style: solid;
    border-width: 17px 13px 0 13px;
    border-color: #1c2a6c transparent transparent transparent;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -17px;
    margin: 0 auto;
    top: inherit;
  }
  
  .adventure_inner_2 {
    margin: 3em  auto 0 auto;
  }
  
  .adventure_inner_3 {
    width: 100%;
  }
  
  .adventure_inner_3 .adventure_tag {
    left: -2.5em;
  }
  
  .adventure_inner_3_thumb {
    width: 70px;
    left: -2em;
  }
  
  .adventure_inner_4 {
    width: 100%;
    flex-direction: column;
    margin: 3em auto 0 auto;
  }
  
  .adventure_inner_4_block_thumb {
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
  }
  
  .adventure_inner_4_block {
    width: 90%;
    max-width: none;
  }
  
  .adventure_inner_4_thumb {
    width: 90px;
    right: -3em;
  }
  
  .adventure_inner_5 {
    flex-direction: column;
    margin-top: 8em;
  }
  
  .adventure_block_5,
  .adventure_youtube {
    width: 100%;
  }
  
  .adventure_inner_5 .adventure_tag {
    left: -3em;
  }
  
  .adventure_inner_5_thumb {
    width: 110px;
    left: -6.5em;
  }
  
  .adventure_block_5 .adventure_btn {
    width: 90%;
    min-width: inherit;
  }
  
  .adventure_youtube {
    margin-top: 2em;
  }
  
  .adventure_arrow_1 {
    width: 50%;
    height: 90%;
    border-top: none;
    border-right: dashed 3px #1c2a6c;
    border-bottom: none;
    border-radius: 0;
    top: 5em;
    left: 0;
  }
  
  .adventure_arrow_2,
  .adventure_arrow_3,
  .adventure_arrow_4 {
    display: none;
  }
}

@media print, screen and (max-width: 480px) {
  .adventure_inner_3_thumb {
    width: 50px;
    left: -1.5em;
  }
  
  .adventure_inner_4_thumb {
    width: 65px;
    right: -2em;
  }
  
  .adventure_inner_5_thumb {
    width: 80px;
    left: -4em;
  }
}

/*---------------------------------
  岐阜進路相談室とは
---------------------------------*/
.i_about_wrap {
  background: #eff8ff;
}

.i_about_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}

.i_about_thumb {
  width: 120px;
}

.i_about_inner {
  width: calc(100% - 350px);
  padding-left: 2em;
}

.i_about_block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.i_about_block h2 {
  margin-right: 10px;
}

.i_about_block ul {
  padding: 0.5em 0;
}

.i_about_block ul li {
  font-weight: 700;
  border-radius: 5px;
  background: #ffd13f;
  display: inline-block;
  margin: 5px;
  padding: 0 1em;
}

.i_about_box .btn_navy {
  width: 200px;
  margin-left: auto;
  align-self: flex-end;
}

@media print, screen and (max-width: 896px) {
  .i_about_box {
    flex-direction: column;
  }
  
  .i_about_thumb {
    width: 90px;
    position: absolute;
    top: -4em;
    right: 0;
  }
  
  .i_about_inner {
    width: 100%;
    padding-left: 0;
  }
  
  .i_about_block {
    flex-direction: column;
    align-items: flex-start;
  }
  
  .i_about_box .btn_navy {
    margin-top: 2em;
  }
}

@media print, screen and (max-width: 480px) {
  .i_about_thumb {
    width: 70px;
  }
}

/*---------------------------------
  業界のしくみを知る
---------------------------------*/
.i_industry_wrap {
  background: url("images/top/industry_bg.jpg") no-repeat;
  background-position: center center;
  background-size: cover;
}

.i_industry_box {
  margin-top: 2em;
}

.i_industry_box ul {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px 50px;
}

.i_industry_box ul li {
  height: 70px;
  font-size: clamp(14px, 2vw, 21px);
  font-weight: 700;
  border-top: 1px solid #8bd0ef;
  border-left: 1px solid #8bd0ef;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding: 0.2em 1em;
	cursor: pointer;
  clip-path: polygon(
    0 0,
    100% 0,
    100% 45px,
    calc(100% - 25px) 100%,
    0 100%
  );
}

.i_industry_box ul li:before {
  content: "";
  width: 25px;
  height: 25px;
  background: #96c4de;
  position: absolute;
  bottom: 0;
  right: 0;
  clip-path: polygon(
    0 0,
    100% 0,
    0 100%
  );
}

.i_industry_box ul li span {
  font-size: clamp(21px, 3vw, 28px);
  margin-right: 0.5em;
}

.i_industry_box ul li:hover {
	opacity: 0.8;
	transition: 0.3s;
}

@media print, screen and (max-width: 896px) {
  .i_industry_box ul {
    grid-template-columns: repeat(2,1fr);
    gap: 15px 25px;
  }
}

@media print, screen and (max-width: 480px) {
  .i_industry_box ul {
    grid-template-columns: 1fr;
  }
  
  .i_industry_box ul li {
    height: 50px;
    clip-path: polygon(
      0 0,
      100% 0,
      100% 25px,
      calc(100% - 25px) 100%,
      0 100%
    );
  }
}

/*---------------------------------
  自分にあう仕事を見つける
---------------------------------*/
.i_job_wrap {
  background: radial-gradient(
  ellipse at top left,
  #d5f1ff 0%,
  #ffffff 35%,
  #ffffff 75%,
  #e3fafd 100%
  );
  padding-bottom: 5em;
}

.i_job_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.i_job_inner,
.i_job_btn_inner {
  width: 31%;
  position: relative;
  margin-top: 3em;
}

.i_job_inner {
  border: solid 3px #1c2a6c;
  border-radius: 0.5em;
  background: #fff;
  box-shadow: 10px 10px 0 #5e6892;
  padding-top: 1em;
}

.i_job_inner h3 {
  color: #fff;
  font-size: clamp(21px, 3vw, 28px);
  line-height: 1.5em;
  background: #1c2a6c;
  padding: 0.5em 0.5em 0.2em 0.5em;
}

.i_job_inner h3 span {
  font-size: clamp(12px, 2vw, 14px);
  line-height: 1.5em;
  letter-spacing: normal;
  display: block;
}

.i_job_inner img {
  width: 35%;
  position: absolute;
  top: -1em;
  right: -1em;
}

.i_job_block {
  padding: 2em 1em;
}

.i_job_block ul {
  display: flex;
  flex-wrap: wrap;
}

.i_job_block ul li {
  width: 50%;
  font-size: clamp(12px, 2vw, 14px);
  padding: 0 5px;
}

.i_job_btn_inner {
  margin-top: auto;
}

.i_job_btn_inner img {
  max-width: 370px;
  margin: 0 auto;
}

.i_job_btn_inner a:hover {
  opacity: 0.8;
  transition: 0.3s;
}

@media print, screen and (max-width: 896px) {
  .i_job_inner,
  .i_job_btn_inner {
    width: 100%;
  }
  
  .i_job_btn_inner {
    margin-top: 3em;
  }
  
  .i_job_inner img {
    width: 130px;
  }
}


@media print, screen and (max-width: 480px) {
  .i_job_inner img {
    width: 100px;
  }
}

/*---------------------------------
  中高生働く大人の本音トーク
---------------------------------*/
.i_question_wrap {
  background: #bbe6f9;
  padding: 2em 0;
}

.i_question_title {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
}

.i_question_wrap h2 {
  font-size: clamp(21px, 3.5vw, 42px);
  margin-left: 0.5em; 
}

.i_question_title_left,
.i_question_title_right {
  width: 10%;
}

.i_question_wrap h3 {
  font-size: clamp(14px, 2vw, 21px);
  text-align: center;
  margin-top: 0.5em;
}

.i_question_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.i_question_inner {
  width: 31%;
  padding-left: 0.5em;
}

.i_question_block,
.i_question_answer {
  border-radius: 0.5em;
  margin-top: 3em;
  padding: 2.5em 1.5em 2em 1.5em;
  position: relative;
}

.i_question_block {
  background: #24396b;
}

.i_question_block::before {
  content: "Q";
  color: #fafafa;
  font-size: clamp(28px, 4vw, 48px);
  text-shadow:
    -2px -2px 0 #24396b,
     2px -2px 0 #24396b,
    -2px  2px 0 #24396b,
     2px  2px 0 #24396b,
    -2px  0px 0 #24396b,
     2px  0px 0 #24396b,
     0px -2px 0 #24396b,
     0px  2px 0 #24396b;
  position: absolute;
  top: -0.7em;
  left: -0.2em;
}

.i_question_block::after {
  content: "";
  border-style: solid;
  border-width: 17px 13px 0 13px;
  border-color: #24396b transparent transparent transparent;
  position: absolute;
  left: 20%;
  bottom: -15px;
}

.i_question_block h4 {
  color: #fafafa;
}

.i_question_answer {
  background: #ffd13f;
}

.i_question_answer::before {
  content: "A";
  color: #fff;
  font-size: clamp(28px, 4vw, 48px);
  text-shadow:
    -2px -2px 0 #ffd13f,
     2px -2px 0 #ffd13f,
    -2px  2px 0 #ffd13f,
     2px  2px 0 #ffd13f,
    -2px  0px 0 #ffd13f,
     2px  0px 0 #ffd13f,
     0px -2px 0 #ffd13f,
     0px  2px 0 #ffd13f;
  position: absolute;
  top: -0.7em;
  left: -0.2em;
}

.i_question_answer dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-top: 1em;
}

.i_question_answer dl dt {
  width: 30%;
}

.i_question_answer dl dd {
  width: calc(100% - 35%);
  font-size: 14px;
}

.i_question_content .btn_navy {
  width: 200px;
  margin: 2em 0 0 auto;
}

@media print, screen and (max-width: 896px) {
  .i_question_title h2 {
    text-align: center;
    padding: 0 0.5em;
  }
  
  .i_question_title h2 span {
    display: block;
  }
  
  .i_question_wrap h3 span {
    display: block;
  }
  
  .i_question_box {
    flex-direction: column;
  }
  
  .i_question_inner {
    width: 100%;
  }
  
  .i_question_block,
  .i_question_answer {
    padding: 2em 1.5em;
  }
  
  .i_question_answer dl dt {
    width: 10%;
    min-width: 60px;
  }
  
  .i_question_answer dl dd {
    width: calc(100% - 12%);
    max-width: calc(100% - 80px);
  }
}

/*---------------------------------
  お知らせ
---------------------------------*/
.i_news_wrap {
  background: #eff8ff;
}

.news_box dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-top: solid 3px #c9d5e3;
  gap: 10px 30px;
  padding: 1em;
}

.news_box dl dt {
  width: 90px;
}

.news_box dl dd:first-of-type {
  width: 160px;
  text-align: center;
  border-radius: 5em;
  background: #c8e5eb;
  padding: 5px 1em;
}

.news_box dl dd:last-of-type {
  width: calc(100% - 90px - 160px - 60px);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.news_box dl dd a:hover {
  text-decoration: underline;
}

.news_content .btn_navy {
  width: 200px;
  margin: 1em 0 0 auto;
}

@media print, screen and (max-width: 896px) {
  .news_box dl dd:last-of-type {
    width: 100%;
  }
}

@media print, screen and (max-width: 480px) {
  .news_box dl dt {
    width: 60px;
  }
  
  .news_box dl dd:first-of-type {
    width: 140px;
    padding: 0 0.5em;
  }
}

/*---------------------------------
  キミの味方企業
---------------------------------*/
.i_support_wrap {
  background: radial-gradient(
  ellipse at top left,
  #d5f1ff 0%,
  #ffffff 35%,
  #ffffff 75%,
  #e3fafd 100%
);
}

.i_support_box ul {
  display: flex;
  flex-wrap: wrap;
}

.i_support_box ul li {
  width: calc(100% / 5);
  padding: 0.5em;
}

.i_support_box ul li a:hover {
  opacity: 0.8;
  transition: 0.3s;
}

@media print, screen and (max-width: 896px) {
  .i_support_box ul li {
    width: calc(100% / 3);
  }
}

@media print, screen and (max-width: 480px) {
  .i_support_box ul li {
    width: calc(100% / 2);
  }
}

/*---------------------------------
  SNS
---------------------------------*/
.i_sns_wrap {
  background: #eff8ff;
}

.i_sns_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.i_sns_box {
  width: 48%;
  height: 300px;
  color: #fff;
  border-radius: 1em;
  background: #666;
  padding: 2em;  
}

@media print, screen and (max-width: 896px) {
  .i_sns_content {
    flex-direction: column;
  }
  
  .i_sns_box {
    width: 100%;
  }
  
  .i_sns_box:nth-of-type(n+2) {
    margin-top: 2em;
  }
}

/*---------------------------------

  Contents

---------------------------------*/
/*---------------------------------
  Page Title
---------------------------------*/
.page_title_wrap {
  text-align: center;
  background: url("images/top/page_title_bg.jpg") no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 2em 0;
}

.page_title_box {
  width: fit-content;
	min-width: 800px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
}

.page_title_tag {
  width: fit-content;
  font-size: clamp(14px, 3vw, 21px);
  background: #ffd13f;
  padding: 0 2em 0 1em;
}

.page_title_tag::before {
  content: "\f3c5";
  font-family: 'Font Awesome 7 Free';
  font-weight: 600;
  margin-right: 1em;
}

.page_title_box h2 {
  color: #fff;
  font-size: clamp(18px, 3.5vw, 48px);
  text-shadow: 0 0 3px #000;
  position: relative;
  z-index: 1;
}

.page_title_box h2 span {
  font-size: clamp(21px, 4vw, 65px);
}

.page_title_inner {
  position: relative;
}

.page_title_inner img {
  width: 145px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.page_title_sub {
  width: fit-content;
  font-size: clamp(16px, 3vw, 24px);
  font-weight: 700;
  letter-spacing: 0.2em;
  position: relative;
  margin: 1em auto;
  padding: 0 2em;
}

.page_title_sub:before,
.page_title_sub:after {
  content: "";
  width: 35px;
  height: 1px;
  border-top: dashed 3px #1c2a6c;
  display: inline-block;
 }
 
.page_title_sub:before {
  margin-right: 0.5em;
  transform: rotate(70deg);
}

.page_title_sub:after {
  margin-left: 0.5em;
  transform: rotate(110deg);
}

.page_title_text p {
  font-size: clamp(14px, 2vw, 18px);
}

.page_title_inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.page_title_inner ul li .btn_blue {
  margin: 0.5em 1em;
}

.btn_blue {
  width: fit-content;
  min-width: 200px;
  color: #faf6eb;
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 700;
  text-align: center;
  border: solid 1px #286296;
  border-radius: 0.5em;
  background: linear-gradient(#39aad9, #244d8a);
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 0.5em 1em;
}

.btn_blue::after {
  content: "\f105";
  font-family: 'Font Awesome 7 Free';
  width: 27px;
  height: 27px;
  color: #ffd13f;
  font-size: 14px;
  line-height: 25px;
  border: solid 2px #fff;
  border-radius: 50%;
  background: #1c2a6c;
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5em;
}

.btn_blue:hover {
  opacity: 0.8;
  transition: 0.3s;
}

@media print, screen and (max-width: 896px) {
	.page_title_box {
		width: 100%;
		min-width: inherit;
	}
	
  .page_title_sub:before,
  .page_title_sub:after {
    position: absolute;
    top: 50%;
 }
 
 .page_title_sub:before {
   left: 0;
 }
 
 .page_title_sub:after {
   right: 0;
 }
 
  .page_title_inner ul {
    flex-direction: column;
  }
  
  .page_title_inner img {
    width: 110px;
  }
  
  .page_title_block {
    width: 75%;
    text-align: left;
    margin-left: auto;
  }
}

@media print, screen and (max-width: 480px) {
  .page_title_inner img {
    width: 80px;
  }
  
  .page_title_inner ul {
    align-items: flex-end;
  }
  
  .page_title_text p {
    text-align: left;
  }
}

@media print, screen and (min-width: 896px) {
  .page_title_sub br {
    display: none;
  }
}

/*---------------------------------

  岐阜の大人に会う

---------------------------------*/
/*---------------------------------
  大人の人生をのぞいてみよう！
---------------------------------*/
.meet_stories_wrap {
  position: relative;
}

.meet_stories_wrap::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #eff8ff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}

.meet_stories_box {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 50px 35px;
}

.meet_stories_inner {
  text-align: center;
  border-radius: 1em;
  background: #fff;
  position: relative;
  padding: 2em;
  cursor: pointer;
  transform-style: preserve-3d;
  transition: transform 0.3s;
}

.meet_stories_inner::before {
  content: "";
  width: 70px;
  height: 70px;
  background: url("images/meet/meet_stories_inner_thumb.jpg") no-repeat;
  background-size: cover;
  display: block;
  position: absolute;
  top: 4em;
  left: 15%;
}

.meet_stories_inner::after {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 1em;
  background: #5a6797;
  box-shadow: 8px 8px 0 #c5cfe2;
  position: absolute;
  top: 8px;
  left: 8px;
  transform: translateZ(-1px);
}

.meet_stories_inner:hover {
  transform: translate(-5px, -5px);
  transition: 0.3s;
}

.meet_stories_tag {
  width: fit-content;
  font-size: clamp(12px, 2vw, 14px);
  line-height: 1.8em;
  margin-bottom: 0.5em;
  position: relative;
  padding: 0 0.5em;
}

.meet_stories_tag_yellow {
  background: #ffd13f;
}

.meet_stories_tag_navy {
  color: #fff;
  background: #1c2a6c;
}

.meet_stories_inner h4 {
  font-size: clamp(18px, 2.5vw, 24px);
  position: relative;
}

.meet_stories_inner h5 {
  font-size: clamp(16px, 2vw, 18px);
  font-weight: 700;
  position: relative;
  margin-bottom: 1em;
}

.meet_stories_inner dl {
  margin-top: 2em;
}

.meet_stories_inner dl dt {
  font-size: 14px;
}

.meet_stories_inner dl dd {
  font-weight: 700;
}
.meet_stories_inner dl dd::after {
  content: "さん";
  font-size: 14px;
  padding-left: 5px;
}

.meet_stories_youtube {
  width: 100%;
  border-radius: 0.5em;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.meet_stories_youtube iframe {
  width: 100%;
  height: 100%;
}

.meet_stories_inner.is-hidden {
  display: none;
}

.meet_stories_more {
  text-align: center;
  margin-top: 3em;
}

.meet_stories_more button {
  color: #1c2a6c;
  font-size: clamp(14px, 2vw, 16px);
  font-weight: 700;
  padding: 0.8em 2.5em;
  border: solid 1px #1c2a6c;
  border-radius: 5em;
  background: none;
  cursor: pointer;
  transition: .3s;
}

.meet_stories_more button::after {
  content: "\f107";
  font-family: 'Font Awesome 7 Free';
  padding-left: 0.5em;
}

.meet_stories_more button:hover {
  opacity: 0.8;
}

@media print, screen and (max-width: 896px) {
  .meet_stories_box {
    grid-template-columns: 1fr;
    gap: 40px 35px;
  }
}

/*---------------------------------
  岐阜のシゴト現場に潜入しよう！
---------------------------------*/
.meet_file_box {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 40px 30px;
}

.meet_file_inner {
  border-radius: 0.5em;
  background: #fbf8f9;
  box-shadow: 8px 8px 0 #5a6797;
  overflow: hidden;
  cursor: pointer;
}

.meet_file_inner:hover {
  transform: translate(-5px, -5px);
  transition: 0.3s;
}

.meet_file_title {
  background: #1c2a6c;
  padding: 0.8em 1em 0.5em 1em;
}

.meet_file_title p {
  font-size: clamp(12px, 2vw, 14px);
  font-weight: 700;
  line-height: 1.8em;
  background: #fff;
  display: inline-block;
  padding: 0 0.5em;
}

.meet_file_title h4 {
  color: #fbf8f9;
  font-size: clamp(18px, 2vw, 21px);
  text-align: center;
  line-height: 1.5em;
}

.meet_file_block {
  padding: 1em;
}

.meet_file_block h5 {
  width: fit-content;
  font-size: 16px;
  text-align: center;
  border-bottom: solid 2px #1c2a6c;
  margin: 0 auto 0.5em auto;
}

.meet_file_block div p {
  font-size: 14px;
}

@media print, screen and (max-width: 896px) {
  .meet_file_box {
    grid-template-columns: 1fr;
  }
}

/*---------------------------------

  岐阜進路相談室

---------------------------------*/
/*---------------------------------
  Title
---------------------------------*/
.about_title_wrap {
  padding-bottom: 0;
}

.about_title_wrap .page_title_box h2 {
  font-size: clamp(21px, 6vw, 80px);
  padding: 0.5em;
}

.about_title_content {
  background: linear-gradient(#5aabd0, #456c9a);
}

.about_title_content .page_title_sub {
  color: #fff;
  margin: 0 auto;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

/*---------------------------------
  岐阜進路相談室とは
---------------------------------*/
.about_whats_wrap {
  background: url("images/about/about_bg_1.png") no-repeat;
  background-position: center center;
  background-size: cover;
  padding-top: 4em;
}

.about_whats_title {
  width: fit-content;
  background: url("images/about/whats_title_thumb_1.png") top left / 50% auto no-repeat,
  url("images/about/whats_title_thumb_2.png") bottom right 10% / 12% auto no-repeat;
  margin-bottom: 2em;
  padding: 1em 0 1.5em 1em;
}

.about_whats_title h3 {
  font-size: clamp(18px, 3.5vw, 38px);
  border: solid 1px #1c2a6c;
  background: #fff;
  display: inline-block;
  position: relative;
  padding: 0.2em 1em;
}

.about_whats_title h3::before,
.about_whats_title h3::after {
    position: absolute;
    border: solid #333333;
    content: '';
}

.about_whats_title h3::before {
  width: 10px;
  height: 100%;
  border-width: 1px 1px 1px 0;
  top: 5px;
  right: -10px;
  transform: skewY(45deg);
}

.about_whats_title h3::after {
  width: 100.7%;
  height: 9px;
  border-width: 0 1px 1px 1px;
  bottom: -10px;
  left: 4px;
  transform: skewX(45deg);
}

.about_whats_thumb {
  margin-top: 2em;
}

.about_whats_thumb img {
  max-width: 900px;
  margin: 0 auto;
}

.about_whats_thumb p {
  color: #fff;
  font-size: clamp(16px, 3vw, 28px);
  font-weight: 700;
  text-align: center;
  text-shadow: 0 0 3px #000;
  margin-top: 1em;
}

.about_company_wrap {
  background: #fff;
}

.about_company_content {
  border: solid 1px #3aafdd;
  border-radius: 0.5em;
  background: #fff;
  padding: 2em 3em;
}

.about_company_content h3 {
  font-size: clamp(16px, 3vw, 28px);
  text-align: center;
  margin-bottom: 1.5em;
}

.about_company_content h3::after {
  content: "";
  width: 60px;
  height: 4px;
  background: #ffd13f;
  display: block;
  margin: 0.5em auto 0;
}

.about_company_box {
  width: 100%;
  max-width: 850px;
  border-top: solid 1px #c9d5e3;
  margin: 0 auto 2em auto;
}

.about_company_inner {
  border-bottom: solid 1px #c9d5e3;
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
}

.about_company_inner dt,
.about_company_inner dd {
  font-size: clamp(14px, 2vw, 16px);
  padding: 0.8em 1.5em;
}

.about_company_inner dt {
  font-weight: 700;
  background: #eff8ff;
}

.about_company_inner dd {
  overflow-wrap: anywhere;
}

.about_company_inner dd a:hover {
  text-decoration: underline;
}

@media print, screen and (max-width: 896px) {
  .about_company_content {
    padding: 2em;
  }
  
  .about_company_inner {
    grid-template-columns: 120px minmax(0, 1fr);
  }
}

@media print, screen and (max-width: 480px) {
  .about_company_content {
    padding: 1.5em;
  }

  .about_company_inner {
    grid-template-columns: 1fr;
  }

  .about_company_inner dt {
    padding: 0.5em 1em;
  }

  .about_company_inner dd {
    padding: 0.8em 1em;
  }
}

@media print, screen and (min-width: 896px) {
  .about_whats_thumb p br {
    display: none;
  }
}

@media print, screen and (min-width: 896px) {
  .about_whats_thumb p br {
    display: none;
  }
}

/*---------------------------------
  岐阜進路相談室でできる事
---------------------------------*/
.about_can_content {
  margin-top: 5em;
}

.about_can_content h3 {
  width: fit-content;
  position: relative;
  margin-left: 1em;
}

.about_can_content h3::after {
  content: "";
  width: 100%;
  height: 53%;
  border: solid 1px #59bce3;
  display: block;
  position: absolute;
  left: -1em;
  top: -20px;
  z-index: 1;
}

.about_can_content h3 span {
  font-size: clamp(18px, 3vw, 32px);
  background: #fff;
  box-shadow: 8px 8px 0 #1c2a6c;
  display: inline-block;
  position: relative;
  margin-left: 10px;
  margin-bottom: 1em;
  padding: 0.2em 1em;
  z-index: 2;
}

.about_can_content h3 span::before {
  content: "\f111";
  font-family: 'Font Awesome 7 Free';
  color: #3aafdd;
  position: absolute;
  left: -0.5em;
}

.about_can_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
}

.about_can_inner {
  width: 80%;
}

.about_can_inner h4 {
  font-size: clamp(16px, 3vw, 28px);
  margin-bottom: 0.5em;
}

.about_can_thumb {
  width: 20%;
}

.about_can_list_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 1em;
}

.about_can_list_inner {
  width: calc(100% / 3 - 2em);
  border: solid 4px #59bce3;
  border-radius: 1em;
  position: relative;
  margin: 1em;
  padding: 0.5em;
}

.about_can_list_inner::after {
  content: "";
  width: calc(100% - 0.5em);
  height: calc(100% - 1em);
  border: solid 4px rgba(255, 255, 255, 0.5);
  border-radius: 1em;
  background: #59bce3;
  display: block;
  position: absolute;
  top: -6px;
  right: -6px;
}

.about_can_list_block {
  height: 100%;
  text-align: center;
  border-radius: 0.5em;
  background: #fff;
  padding: 1em;
  position: relative;
  z-index: 1;
}

.about_can_list_head {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1em;
}

.about_can_list_head img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #59bce3;
  margin-right: 0.5em;
  padding: 5px;
}

.about_can_list_head h5 {
  font-size: clamp(16px, 2.5vw, 21px);
  line-height: 1.5em;
  letter-spacing: normal;
}

.about_can_list_block h6 {
  font-size: clamp(14px, 2vw, 16px);
  letter-spacing: normal;
}

.about_can_list_block p {
  font-size: clamp(12px, 2vw, 14px);
}

@media print, screen and (max-width: 896px) {
  .about_can_box {
    flex-direction: column;
  }
  
  .about_can_inner {
    width: 100%;
  }
  
  .about_can_thumb {
    min-width: 100px;
    position: absolute;
    top: -4em;
    right: 0;
  }
  
  .about_can_list_box {
    flex-direction: column;
  }
  
  .about_can_list_inner {
    width: 100%;
    margin: 1em 0;
  }
}

@media print, screen and (max-width: 480px) {
  .about_can_list_head img {
    width: 40px;
    height: 40px;
  }
}

/*---------------------------------
  キミの仲間紹介
---------------------------------*/
.about_introduction_wrap {
  background: #eff8ff;
}

.about_introduction_bg {
  border-radius: 1em;
  background: #d5f1ff;
  padding: 10px;
}

.about_introduction_content {
  border: solid 2px #3aafdd;
  border-radius: 0.5em;
  background: #fffdfa;
  padding: 0 3em 3em 3em;
}

.about_introduction_box {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}

.about_introduction_inner {
  width: calc(100% / 2);
}

.about_introduction_inner:last-of-type {
  padding: 1em;
}

.about_introduction_inner h3 {
  width: 80%;
  margin-bottom: 2em;
}

.about_introduction_inner h4 {
  font-size: clamp(16px, 2vw, 18px);
  margin-bottom: 2em;
}

.double_dot_title {
  width: fit-content;
  border: solid 2px #1c2a6c;
  border-radius: 5em;
  background: #fffdfa;
  box-shadow: 3px 3px 0 #1c2a6c;
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.2em 2em;
}

.double_dot_title::before,
.double_dot_title::after {
  content: "\f111";
  font-family: 'Font Awesome 7 Free';
  font-size: 50%;
  position: absolute;
}

.double_dot_title::before {
  left: 1em;
}

.double_dot_title::after {
  right: 1em;
}

.about_ally_box {
  margin-top: 3em;
}

.about_ally_inner h4 {
  font-size: clamp(16px, 3vw, 28px);
  margin-bottom: 1em;
}

.about_ally_inner h5 {
  font-size: clamp(16px, 3vw, 28px);
  margin-bottom: 0.5em;
}

.about_ally_block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.about_ally_block_thumb {
  max-width: 295px;
  padding: 1em;
}

.about_ally_block ul {
  max-width: calc(100% - 295px);
  padding: 1em;
}

.about_ally_block ul li {
  height: 60px;
  font-size: clamp(14px, 2vw, 21px);
  display: flex;
  align-items: center;
  position: relative;
  margin-left: 0.8em;
  padding: 0.6em 1em 0.3em 3.5em;
}

.about_ally_block ul li:nth-of-type(n+2) {
  margin-top: 1em;
}

.about_ally_block ul li::before {
  content: "";
  width: 60px;
  height: 60px;
  border-radius: 0.8em;
  display: inline-block;
  position: absolute;
  left: -0.8em;
  bottom: -2px;
}

.about_ally_block ul li::after {
  content: "\f124";
  font-family: 'Font Awesome 7 Free';
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 600;
  transform: rotate(45deg);
  position: absolute;
  left: 1.8em;
}

.about_ally_block ul li a {
  color: #333;
  font-weight: 700;
}

.about_ally_block ul li:nth-of-type(odd) {
  border-bottom: solid 2px #ffd13f;
}

.about_ally_block ul li:nth-of-type(odd)::before {
  border: solid 2px #ffd13f;
}

.about_ally_block ul li:nth-of-type(even) {
  border-bottom: solid 2px #5ab1e1;
}

.about_ally_block ul li:nth-of-type(even)::before {
  border: solid 2px #5ab1e1;
}

.about_ally_block ul li:nth-of-type(odd)::after {
  color: #ffd13f;
}

.about_ally_block ul li:nth-of-type(even)::after {
  color: #5ab1e1;
}

.about_companies_content {
  border: dashed 1px #3aafdd;
  margin-top: 2em;
  padding: 1em 2em;
}

.about_companies_content h3 {
  width: fit-content;
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}

.about_companies_content h3 span {
  width: fit-content;
  font-size: clamp(16px, 2vw, 21px);
  font-weight: 500;
  border-bottom: solid 2px #1c2a6c;
  padding: 0 0.5em;
}

.about_companies_content h3 img {
  width: 40px;
}

@media print, screen and (max-width: 896px) {
  .about_introduction_content {
    padding: 0 2em 2em 2em;
  }
  
  .about_introduction_box {
    flex-direction: column;
  }
  
  .about_introduction_inner {
    width: 100%;
  }
  
  .about_introduction_inner:nth-of-type(n+2) {
    margin-top: 2em;
  }
  
  .about_introduction_inner h3 {
    width: 80%;
    max-width: 350px;
    margin: 0 auto 2em;
  }
  
  .double_dot_title {
    margin: 0 auto;
  }
  
  .about_ally_block {
    flex-direction: column;
  }
  
  .about_ally_block_thumb {
    max-width: 150px;
  }
  
  .about_ally_block ul {
    width: 100%;
    max-width: none;
    padding: 1em 0 0 0;
  }
  
  .about_ally_block ul li {
    height: inherit;
    padding: 0.6em 1em 0.3em 2.5em;
  }
  
  .about_ally_block ul li::before {
    width: 35px;
    height: 35px;
  }
  
  .about_ally_block ul li::after {
    left: 0.8em;
  }
  
  .about_companies_content h3 img {
    width: 30px;
  }
}

/*---------------------------------
  教育関係者の皆様
---------------------------------*/
.about_educators_wrap {
  background: radial-gradient(ellipse at top left, #d5f1ff 0%, #ffffff 70%);
}

.about_educators_content {
  border: solid 1px #3aafdd;
  outline: solid 3px #3aafdd;
  outline-offset: -10px;
  padding: 3em;
}

.about_educators_title {
  width: fit-content;
  font-size: clamp(16px, 2vw, 21px);
  font-weight: 600;
  position: relative;
  margin: 0 0 2em -40px;
}

.about_educators_title::before {
  content: "\f04e";
  font-family: 'Font Awesome 7 Free';
  position: absolute;
  top: -1.3em;;
  left: 20px;
  z-index: 2;
}

.about_educators_title::after {
  content: "";
  width: 100%;
  height: 140%;
  border-radius: 0 5em 5em 0;
  background: #ffd13f;
  display: block;
  position: absolute;
  top: -4px;
  left: 4px;
}

.about_educators_title span {
  border: solid 2px #1c2a6c;
  border-radius: 0 5em 5em 0;
  position: relative;
  padding: 0.6em 1em;
  z-index: 1;
}

.about_educators_content h3 {
  font-size: clamp(16px, 3vw, 28px);
  text-align: center;
  margin-bottom: 0.5em;
}

.about_educators_box p {
  text-indent: 1em;
}

.about_educators_box dl {
  margin: 2em 0;
}

.about_educators_box dd {
  padding-left: 1em;
}

.about_educators_box h4 {
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 500;
  text-align: center;
}

@media print, screen and (max-width: 896px) {
  .about_educators_content {
    padding: 2em;
  }
  
  .about_educators_box h4 {
    text-align: left;
  }
}

@media print, screen and (min-width: 896px) {
  .about_educators_content h3 br {
    display: none;
  }
}

/*---------------------------------
  取材・掲載・教育連携のご相談はこちら
---------------------------------*/
.about_form_wrap {
  background: radial-gradient(ellipse at top left, #fff 0%, #fff 50%, #d5f1ff 100%);
}

.about_form_content {
  border: solid 1px #1c2a6c;
  border-radius: 1em;
  background: #fff;
  padding: 3em;
}

.about_form_content h3 {
  font-size: clamp(16px, 3vw, 28px);
  text-align: center;
  margin-bottom: 0.5em;
}

.about_form_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.about_form_box dl {
  width: 100%;
  margin-top: 2em;
}

.about_form_box dl:not(:last-of-type) {
  width: 48%;
}

.about_form_box dl dt {
  margin-bottom: 0.5em;
}

@media print, screen and (max-width: 896px) {
  .about_form_content {
    padding: 2em;
  }
  
  .about_form_box dl:not(:last-of-type) {
    width: 100%;
  }
}

@media print, screen and (min-width: 480px) {
  .about_form_content h3 br {
    display: none;
  }
}

/*---------------------------------

  MYタイプ診断

---------------------------------*/
/*---------------------------------
  Title
---------------------------------*/
.mytype_title_wrap h2 {
  font-size: clamp(21px, 6vw, 80px);
}

.mytype_title_wrap .page_title_inner img {
  width: 110px;
}

@media print, screen and (max-width: 896px) {
  .mytype_title_wrap .page_title_inner img {
    width: 80px;
  }
}

/*---------------------------------
  MYタイプ診断でわかること
---------------------------------*/
.find_type_wrap {
  background: #eff8ff;
}

.slash_title {
  width: fit-content;
  position: relative;
  isolation: isolate;
}

.slash_title::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #ffb534;
  clip-path: polygon(
    2.3% 6%,
    10% 6%,
    2.3% 81%
  );
  position: absolute;
  inset: 0;
  z-index: -2;
}

.slash_title::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #ffb534;
  clip-path: polygon(
    93% 47%,
    97% 47%,
    92% 95%,
    49% 95%,
    51.5% 81%,
    89% 81%
  );
  position: absolute;
  inset: 0;
  z-index: -2;
}

.slash_title h3 {
  width: 100%;
  height: 100%;
  font-size: clamp(16px, 3vw, 24px);
  position: relative;
  z-index: 0;
  margin: 0;
  padding: 0 clamp(26px, 11vw, 42px)
    clamp(14px, 5vw, 19px)
    clamp(28px, 12vw, 46px);
  isolation: isolate;
  padding: 0.6em 2em 1.2em 2em;
}

.slash_title h3::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #fbf6ee;
  clip-path: polygon(
    12% 6%,
    98% 6%,
    89% 81%,
    2.3% 81%
  );
  position: absolute;
  inset: 0;
  z-index: -1;
}

.mytype_discovery_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.mytype_discovery_inner {
  width: calc(100% / 3 - 2em);
  max-width: 300px;
  position: relative;
  margin: 1em;
  padding-top: 30px;
}

.mytype_discovery_inner img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #1c2a6c;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 5px;
}

.mytype_discovery_block {
  text-align: center;
  border: solid 2px #1c2a6c;
  border-radius: 0.5em;
  background: #fff;
  box-shadow: 5px 5px 0 #1c2a6c;
  padding: 2.5em 1.5em 1.5em 1.5em;
}

.mytype_discovery_block h4 {
  font-size: clamp(16px, 2vw, 24px);
}

.mytype_whatstype_box {
  margin-top: 2em;
}

.mytype_whatstype_box h3 {
  font-size: clamp(16px, 3vw, 36px);
}

.mytype_whats_type_inner {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2em;
}

.mytype_whats_type_block {
  width: calc(100% / 5 - 2em);
  text-align: center;
  margin: 1em;
  cursor: pointer;
}

.mytype_whats_type_block:hover {
  opacity: 0.8;
  transition: 0.3s;
}

.mytype_whats_type_block img {
  max-width: 140px;
  margin: 0 auto;
}

.mytype_whats_type_block h4 {
  font-size: clamp(14px, 2vw, 21px);
  letter-spacing: normal;
	text-decoration: underline;
	text-decoration-thickness: 4px;
	text-underline-offset: 0.3em;
	text-decoration-color: #ffd13f;
  margin-bottom: 0.5em;
}

.mytype_whats_type_block p {
  font-size: clamp(12px, 2vw, 14px);
}

.mytype_whats_type_block a {
  color: #ffd13f;
  font-size: clamp(21px, 3vw, 36px);
}

@media print, screen and (max-width: 896px) {
  .mytype_discovery_box {
    flex-direction: column;
    justify-content: flex-start;
  }
  
  .mytype_discovery_inner {
    width: 100%;
    max-width: none;
    margin: 1em 0;
    padding-top: 20px;
  }
  
  .mytype_discovery_inner img {
    width: 40px;
    height: 40px;
  }
  
  .mytype_discovery_block {
    padding: 2em 1em 1em 1em;
  }
  
  .mytype_whats_type_block {
    width: calc(100% / 3);
    margin: 0.5em 0;
  }
  
  .mytype_whats_type_block img {
    max-width: 70px;
  }
}

@media print, screen and (max-width: 480px) {
  .mytype_whats_type_block {
    width: calc(100% / 2);
  }
}

/*---------------------------------
  ５タイプをチェックしよう！
---------------------------------*/
.mytype_check_content h3 {
  max-width: 600px;
  margin: 0 auto 5em;
}

.mytype_check_box {
  display: flex;
  flex-wrap: wrap;
}

.mytype_check_inner {
  width: calc(100% / 2 - 2em);
  font-size: 14px;
  border-radius: 2em;
  background: #eff8ff;
  margin: 1em;
  padding: 2em 1.5em 1.5em 1.5em;
  scroll-margin-top: clamp(50px, 5vw, 80px);
}

.mytype_check_inner:nth-of-type(n+3) {
  margin-top: 5em;
}

.mytype_check_inner:last-of-type {
  height: fit-content;
  padding-top: 3em;
}

.mytype_check_head {
  position: relative;
}

.mytype_check_head_type {
  font-size: clamp(16px, 2vw, 21px);
  font-weight: 700;
  border-radius: 0.5em;
  background: #eff8ff;
  position: absolute;
  top: -2.5em;
  padding: 0 1em;
}

.mytype_check_head_text {
  width: 60%;
}

.mytype_check_head_text h4 {
  font-size: clamp(18px, 2.5vw, 28px);
  line-height: 1.5em;
  letter-spacing: normal;
}

#make .mytype_check_head_text h4 {
  color: #f86735;
}

#support .mytype_check_head_text h4 {
  color: #52a574;
}

#media .mytype_check_head_text h4 {
  color: #ffc24a;
}

#think .mytype_check_head_text h4 {
  color: #1b517d;
}

#leader .mytype_check_head_text h4 {
  color: #db6d5f;
}

.mytype_check_head_list {
  position: relative;
  z-index: 1;
}

.mytype_check_head_list li {
  font-size: clamp(12px, 2vw, 14px);
  line-height: 1.8em;
  border-radius: 5em;
  background: #ffd13f;
  display: inline-block;
  margin: 5px;
  padding: 0 1em;
}

.mytype_check_head_thumb {
  width: 40%;
  max-width: 215px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.mytype_check_text {
  margin-top: 1em;
}

.mytype_check_type {
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 1em;
}

.mytype_check_type dl {
  width: 48%;
}

.mytype_check_type dl dt {
  font-size: clamp(16px, 1.5vw, 18px);
  font-weight: 700;
  margin-bottom: 0.5em;
}

.mytype_check_type dl dd ul li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}

.mytype_check_type dl:first-of-type dd ul li::before {
  content: "\f058";
  font-family: 'Font Awesome 7 Free';
  font-weight: 600;
  margin-right: 0.5em;
}

.mytype_check_type dl:last-of-type dd ul li::before {
  content: "\f14a";
  font-family: 'Font Awesome 7 Free';
  color: #ffd13f;
  margin-right: 0.5em;
}

.mytype_check_link {
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 1em;
}

.mytype_check_link p,
.mytype_check_link .btn_navy {
  width: 48%;
}

.mytype_check_partner {
  border: solid 2px #1c2a6c;
  border-radius: 1em;
  background: #fffdfa;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  margin-top: 3em;
  padding: 1em;
}

.mytype_check_partner_head {
  font-size: clamp(16px, 2vw, 18px);
  font-weight: 700;
  border-radius: 0.5em;
  background: #eff8ff;
  padding: 0 1em;
  position: absolute;
  top: -1.2em;
  left: 0;
}

.mytype_check_partner_thumb {
  width: 25%;
}

.mytype_check_partner_thumb p {
  color: #f86735;
  font-size: clamp(14px, 1.5vw, 21px);
  font-weight: 700;
  text-align: center;
}

.mytype_check_partner_text {
  width: 70%;
}

.mytype_hint_block {
  height: 100%;
  position: relative;
}

.mytype_hint_block_title {
  width: calc(100% - 0.5em);
  position: relative;
  margin-bottom: 4em;
}

.mytype_hint_block_title:before {
  content: "";
  width: calc(100% - 0.5em);
  height: 100%;
  border: solid 2px #1c2a6c;
  border-radius: 0.8em;
  background: #3699f2;
  display: block;
  position: absolute;
  bottom: -0.5em;
  right: -0.5em;
  z-index: 1;
}

.mytype_hint_block_title h4 {
  font-size: clamp(16px, 2.4vw, 28px);
  text-align: center;
  letter-spacing: normal;
  border: solid 2px #1c2a6c;
  border-radius: 0.5em;
  background: #fffdfa;
  position: relative;
  padding: 0.3em;
  z-index: 2;
}

.mytype_hint_block ul li {
  max-width: 80%;
  font-size: clamp(16px, 2vw, 21px);
  font-weight: 700;
  text-align: center;
  border-bottom: dotted 3px #1c2a6c;
  margin: 0 auto;
  padding-bottom: 1em;
}

.mytype_hint_block ul li:nth-of-type(n+2) {
  margin-top: 1.5em;
}

.mytype_hint_advice {
  width: 70%;
  max-width: 370px;
  margin-top: 3em;
}

.mytype_hint_thumb {
  width: 30%;
  max-width: 160px;
  position: absolute;
  bottom: 0;
  right: -2em;
}

@media print, screen and (max-width: 896px) {
  .mytype_check_content h3 {
    margin-bottom: 3em;
  }
  
  .mytype_check_box {
    flex-direction: column;
  }
  
  .mytype_check_inner {
    width: 100%;
    margin: 1em 0;
    padding: 1.5em;
  }
  
  .mytype_check_inner:nth-of-type(n+2) {
    margin-top: 4em;
  }
  
  .mytype_check_head_text {
    width: 100%;
  }
  
  .mytype_check_head_text h4 {
    width: 60%;
  }
  
  .mytype_check_head_thumb {
    width: 20%;
    min-width: 120px;
    bottom: inherit;
    top: -4em;
    right: -1em;
  }
  
  .mytype_check_link {
    flex-direction: column;
  }
  
  .mytype_check_link p,
  .mytype_check_link .btn_navy {
    width: 100%;
  }
  
  .mytype_check_link .btn_navy {
    margin-top: 1em;
  }
  
  .mytype_check_inner:last-of-type {
    padding-top: 1.5em;
  }
  
  .mytype_hint_block_title {
    margin-bottom: 2em;
  }
  
  .mytype_hint_block ul li {
    padding-bottom: 0.5em;
  }
  
  .mytype_hint_block ul li:nth-of-type(n+2) {
    margin-top: 1em;
  }
  
  .mytype_hint_block ul li {
    max-width: 90%;
  }
  
  .mytype_hint_advice {
    max-width: 250px;
    margin-top: 2em;
  }
  
  .mytype_hint_thumb {
    max-width: 100px;
  }
}

@media print, screen and (max-width: 480px) {
  .mytype_check_type {
    flex-direction: column;
  }
  
  .mytype_check_type dl {
    width: 100%;
  }
  
  .mytype_check_type dl:nth-of-type(n+2) {
    margin-top: 1em;
  }
  
  .mytype_check_partner {
    flex-direction: column;
  }
  
  .mytype_check_partner_thumb {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  
  .mytype_check_partner_thumb img {
    max-width: 70px;
    margin-right: 0.5em;
  }
  
  .mytype_check_partner_text {
    width: 100%;
    margin-top: 1em;
  }
}

/*---------------------------------

  岐阜の支えビト図鑑

---------------------------------*/
/*---------------------------------
  Title
---------------------------------*/
.story_title_wrap h2 {
  font-size: clamp(21px, 6vw, 80px);
}

/*---------------------------------
  LIFE STORY
---------------------------------*/
.life_story_wrap {
  background: #eff8ff;
}

.life_story_head_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.life_story_head_inner {
  width: 75%;
}

.life_story_title {
  width: fit-content;
  position: relative;
  margin: 2em 0 3em 0.5em;
  z-index: 1;
}

.life_story_title::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 0.5em;
  background: #ffd13f;
  display: block;
  position: absolute;
  top: -5px;
  left: -5px;
}

.life_story_line {
  border: dashed 1px #000;
  border-radius: 0.5em;
  position: relative;
  padding: 10px 1em;
}

.life_story_line:before {
  content: "";
  width: 30%;
  height: 50%;
  border-left: solid 1px #1c2a6c;
  border-bottom: solid 1px #1c2a6c;
  border-radius: 0 0 0 0.5em;
  display: block;
  position: absolute;
  left: -1px;
  bottom: -1px;
}

.life_story_line:after {
  content: "";
  width: 30%;
  height: 50%;
  border-top: solid 1px #1c2a6c;
  border-right: solid 1px #1c2a6c;
  border-radius: 0 0.5em 0 0;
  display: block;
  position: absolute;
  right: -1px;
  top: -1px;
}

.life_story_line h3 {
  font-size: clamp(18px, 2.5vw, 28px);
  position: relative;
}

.life_story_line h3 span {
  font-weight: 500;
  padding-left: 0.5em
}

.life_story_line h3 span::before,
.life_story_line h3 span::after {
  content: "";
  width: 25%;
  height: 1px;
  background: #1c2a6c;
  display: block;
  position: absolute;
}

.life_story_line h3 span::before {
  top: -11px;
  left: 10%;
}

.life_story_line h3 span::after {
  bottom: -11px;
  right: 10%;
}

.life_story_line h3 span em {
  font-style: normal;
}

.life_story_link_box {
  border: solid 3px #406882;
  position: relative;
  margin: 1em 0;
  padding: 1.5em;
}

.life_story_link_box::before,
.life_story_link_box::after {
  content: "";
  width: 30%;
  height: 70%;
  border: solid 10px #eff8ff;
  border-radius: 2em;
  background: #b1d0e0;
  display: block;
  position: absolute;
}

.life_story_link_box::before {
  top: -1em;
  left: -1em;
}

.life_story_link_box::after {
  right: -1em;
  bottom: -1em;
}

.life_story_link_inner {
  border-radius: 1.5em;
  background: #d5f1ff;
  position: relative;
  padding: 1.5em;
  z-index: 1;
}

.life_story_link_inner h4 {
  font-size: clamp(16px, 3vw, 32px);
  text-align: center;
  line-height: 1.5em;
}

.life_story_link_inner dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: 1em;
}

.life_story_link_inner dl dt {
  font-weight: 700;
  padding: 0.5em 1em;
}

.life_story_thumb {
  width: 20%;
  max-width: 200px;
}

.life_story_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 3em;
}

.life_story_inner {
  width: 35%;
  font-weight: 700;
  background: #fff;
  position: relative;
  padding: 2em;
}

.life_story_inner::before,
.life_story_inner::after,
.life_story_block::before,
.life_story_block::after {
  content: "";
  width: 30%;
  height: 30%;
  display: block;
  position: absolute;
 }
 
.life_story_inner::before {
  border-top: solid 5px #1c2a6c;
  border-left: solid 5px #1c2a6c;
  top: 0;
  left: 0;
}

.life_story_inner::after {
  border-top: solid 5px #1c2a6c;
  border-right: solid 5px #1c2a6c;
  top: 0;
  right: 0;
}

.life_story_block::before {
  border-bottom: solid 5px #1c2a6c;
  border-left: solid 5px #1c2a6c;
  bottom: 0;
  left: 0;
}

.life_story_block::after {
  border-bottom: solid 5px #1c2a6c;
  border-right: solid 5px #1c2a6c;
  bottom: 0;
  right: 0;
}

.life_story_block p {
  font-size: clamp(14px, 2vw, 21px);
}

.life_story_block dl:nth-of-type(n+2) {
  margin-top: 1em;
}

.life_story_block dl:first-of-type dd {
  font-size: clamp(14px, 3vw, 28px);
}

.life_story_block dl:first-of-type dd::after {
  content: "さん";
  margin-left: 0.5em;
}

.life_story_block dl:nth-of-type(2) dd {
  font-size: clamp(14px, 2vw, 21px);
}

.life_story_block dl:last-of-type dd {
  font-weight: 500;
}

.life_story_movie {
  width: 60%;
  aspect-ratio: 16 / 9;
}

.life_story_movie iframe {
  width: 100%;
  height: 100%;
  border-radius: 1em;
}

@media print, screen and (max-width: 896px) {
  .life_story_head_inner {
    width: 100%;
  }
  
  .life_story_thumb {
    position: absolute;
    top: 0;
    right: 0;
  }
  
  .life_story_link_box {
    padding: 0.5em;
  }
  
  .life_story_box {
    flex-direction: column-reverse;
  }
  
  .life_story_inner,
  .life_story_movie {
    width: 100%;
  }
  
  .life_story_inner {
    margin-top: 2em;
  }
}

/*---------------------------------
  人生を変えた5つの転機
---------------------------------*/
.turning_point_wrap {
  background: #eff8ff;
}

.turning_point_bg {
  position: relative;
  padding: 4em 1em;
}

.turning_point_bg_thumb {
  width: 25%;
  min-width: 150px;
  position: absolute;
}

.turning_point_bg_thumb:first-of-type {
  top: 0;
  left: 1em;
}

.turning_point_bg_thumb:nth-of-type(2) {
  transform: rotate(180deg);
  bottom: 0;
  right: 1em;
}

.turning_point_title {
  width: fit-content;
  border: solid 3px #1c2a6c;
  border-radius: 0.5em;
  position: relative;
  margin: 0 0 5em 3em;
  padding: 1em;
}

.turning_point_title::before {
  content: "\f10d";
  font-family: "Font Awesome 7 Free";
  font-size: clamp(18px, 4vw, 42px);
  font-weight: 600;
  background: #eff8ff;
  padding: 0 10px;
  position: absolute;
  top: -1em;
  left: 1em;
}

.turning_point_title h3 {
  color: #fff;
  font-size: clamp(16px, 3vw, 36px);
  line-height: 2em;
  background: #1c2a6c;
  position: relative;
  padding: 0 1em;
}

.turning_point_title h3 span {
  color: #ffd13f;
  font-size: clamp(18px, 4vw, 55px);
}

.turning_point_content {
  --circle-size: clamp(240px, 30vw, 320px);
  width: 100%;
  display: grid;
  grid-template-columns:
    0 repeat(4, minmax(0, 1fr) 0);
  grid-template-rows:
    var(--circle-size)
    44px
    42px
    44px
    var(--circle-size);
  align-items: center;
  position: relative;
  padding-inline: calc(var(--circle-size) / 2);
}

/* 4項目の場合 */
.turning_point_content:has(> .turning_point_box:nth-of-type(4):last-of-type) {
  grid-template-columns:
    0 repeat(3, minmax(0, 1fr) 0);
}

/* 3項目の場合 */
.turning_point_content:has(> .turning_point_box:nth-of-type(3):last-of-type) {
  grid-template-columns:
    0 repeat(2, minmax(0, 1fr) 0);
}

.turning_point_box {
  display: contents;
  position: relative;
}

.turning_point_box:nth-child(1) > * {
  grid-column: 1;
}

.turning_point_box:nth-child(2) > * {
  grid-column: 3;
}

.turning_point_box:nth-child(3) > * {
  grid-column: 5;
}

.turning_point_box:nth-child(4) > * {
  grid-column: 7;
}

.turning_point_box:nth-child(5) > * {
  grid-column: 9;
}

.turning_point_box:nth-child(odd) .turning_point_inner {
  grid-row: 1;
}

.turning_point_box:nth-child(odd) .timeline_connector {
  grid-row: 2;
}

.turning_point_box:nth-child(odd) .timeline_marker {
  grid-row: 3;
}

.turning_point_box:nth-child(even) .timeline_marker {
  grid-row: 3;
}

.turning_point_box:nth-child(even) .timeline_connector {
  grid-row: 4;
}

.turning_point_box:nth-child(even) .turning_point_inner {
  grid-row: 5;
}

.turning_point_inner {
  width: var(--circle-size);
  aspect-ratio: 1 / 1;
  font-size: clamp(20px, 2.4vw, 32px);
  text-align: center;
  border-radius: 50%;
  background: #d5f1ff;
  display: grid;
  place-items: center;
  justify-self: center;
  position: relative;
  z-index: 1;
  padding: 1.5em 0.5em;
}

.timeline_connector {
  width: 0;
  height: 100%;
  border-left: 2px dotted #333;
  justify-self: center;
  position: relative;
  z-index: 1;
}

.timeline_marker {
  width: 38px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #a5bdd2;
  justify-self: center;
  position: relative;
  z-index: 2;
}

.timeline_axis {
  height: 10px;
  background: #a5bdd2;
  grid-column: 1 / -1;
  grid-row: 3;
  margin-inline: calc(var(--circle-size) / -2);
  position: relative;
  z-index: 0;
}

.turning_point_inner::before,
.turning_point_inner::after {
  content: "";
  width: 95%;
  height: 95%;
  border-radius: 50%;
  display: block;
  position: absolute;
}

.turning_point_inner::before {
  border-top: solid 1px #3aafdd;
  top: 0;
  left: -1em;
}

.turning_point_inner::after {
  border-bottom: solid 1px #3aafdd;
  bottom: 0;
  right: -0.5em;
}

.turning_point_age {
  height: clamp(40px, 7vw, 85px);
  display: flex;
  align-items: center;
  position: absolute;
  top: -0.5em;
  left: 0;
}

.turning_point_age::after {
  content: "";
  width: clamp(40px, 7vw, 85px);
  height: clamp(40px, 7vw, 85px);
  border: 2px solid #fff;
  border-radius: 50%;
  background: #3aafdd;
  outline: 2px solid #3aafdd;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.turning_point_age_yellow::after {
  background: #ffd13f;
  outline: 2px solid #ffd13f;
}

.turning_point_age p {
  font-size: clamp(21px, 3vw, 38px);
  font-weight: 700;
  position: relative;
  padding-left: 0.5em;
  z-index: 1;
}

.turning_point_inner h4 {
  font-size: clamp(16px, 2vw, 21px);
  line-height: 1.5em;
  letter-spacing: normal;
  margin-bottom: 0.5em;
}

.turning_point_text {
  font-size: 14px;
  line-height: 1.8em;
}

.turning_point_thumb_1 {
  width: 7%;
  min-width: 45px;
  position: absolute;
  top: 30%;
  left: 25%;
  z-index: 2;
}

.turning_point_thumb_2 {
  width: 15%;
  min-width: 70px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
}

.turning_point_wrap .btn_blue {
  margin-left: auto;
  margin-right: 0;
  margin-top: 2em;
}

@media print, screen and (max-width: 896px) {
  .turning_point_bg {
    padding: 4em 6%;
  }
  
  .turning_point_title {
    margin: 0 0 4em 1em;
  }
  
  .turning_point_content {
    --marker-size: 30px;
    --axis-width: 8px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
    padding-inline: 0;
  }

  .turning_point_box {
    width: 100%;
    display: grid;
    grid-template-columns:
      var(--marker-size)
      24px
      minmax(0, 1fr);
    align-items: center;
    position: relative;
    z-index: 1;
  }

  .turning_point_content .turning_point_box:nth-child(n) > * {
    grid-row: 1;
  }

  .turning_point_content .turning_point_box:nth-child(n) > .timeline_marker {
    grid-column: 1;
  }

  .turning_point_content .turning_point_box:nth-child(n) > .timeline_connector {
    grid-column: 2;
  }

  .turning_point_content .turning_point_box:nth-child(n) > .turning_point_inner {
    grid-column: 3;
  }

  .timeline_axis {
    width: var(--axis-width);
    height: auto;
    display: block;
    grid-column: auto;
    grid-row: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(
      (var(--marker-size) - var(--axis-width)) / 2
    );
    margin: 0;
  }

  .timeline_marker {
    width: var(--marker-size);
    height: var(--marker-size);
    aspect-ratio: auto;
    border-radius: 50%;
    background: #a5bdd2;
    align-self: center;
    justify-self: center;
    position: relative;
    z-index: 2;
  }

  .timeline_connector {
    width: 100%;
    height: 0;
    border-top: 2px dotted #333;
    border-left: 0;
    align-self: center;
    justify-self: stretch;
  }

  .turning_point_inner {
    width: 100%;
    min-height: 0;
    aspect-ratio: auto;
    text-align: left;
    border-radius: 1em;
    display: block;
    justify-self: stretch;
    place-items: start;
    padding: 3em 1.5em 1.5em 1.5em;
  }

  .turning_point_inner::before,
  .turning_point_inner::after {
    width: 95%;
    height: 45%;
  }
  
  .turning_point_inner::before {
    border-left: solid 1px #3aafdd;
    border-radius: 1em 0 0 0;
    top: -0.5em;
    left: -0.5em;
  }
  
  .turning_point_inner::after {
    border-right: solid 1px #3aafdd;
    border-radius: 0 0 1em 0;
    bottom: -0.5em;
    right: -0.5em;
  }

  .turning_point_age {
    left: 14px;
  }
  
  .turning_point_thumb_1 {
    top: 18%;
    left: 0;
  }
  
  .turning_point_thumb_2 {
    position: relative;
    margin: 0 0 0 auto;
  }
}

@media print, screen and (max-width: 480px) {
  .turning_point_inner {
    padding: 2em 1em 1em 1em
  }
}

/*---------------------------------
  先輩からキミへのメッセージ
---------------------------------*/
.story_score_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.story_score_inner {
  width: 55%;
  color: #fff;
  font-weight: 700;
  border: solid 5px #9b8157;
  background: url("images/story/story_score_board.jpg") no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 2em;
}

.story_score_inner dl {
  margin-bottom: 1em;
}

.story_score_inner dl dt {
  font-size: clamp(14px, 3vw, 28px);
  text-align: center;
}

.story_score_inner dl dd {
  color: #f1523e;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(28px, 4vw, 60px);
  font-weight: 900;
  text-align: center;
  text-shadow:
		-2px -2px 0 #fff,
		 0px -2px 0 #fff,
		 2px -2px 0 #fff,
		-2px  0px 0 #fff,
		 2px  0px 0 #fff,
		-2px  2px 0 #fff,
		 0px  2px 0 #fff,
		 2px  2px 0 #fff;
  line-height: 1.5em;
}

.story_score_inner dl dd::after {
  content: "点";
  font-size: 90%;
}

.story_score_thumb {
  width: 40%;
}

.story_message_box {
  font-weight: 700;
  border: solid 3px #1b2a6b;
  border-radius: 0.8em;
  background: #fff;
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 41px,
    #eee 41px,
    #eee 42px
  );
  position: relative;
  margin: 3em auto 0;
  padding: 4em 3em 3em;
}

.story_message_box h3 {
  width: fit-content;
  color: #fff;
  font-size: clamp(16px, 3vw, 28px);
  text-align: center;
  background: #1b2a6b;
  position: absolute;
  top: -1em;
  right: 0;
  left: 0;
  margin: 0 auto;
  padding: 10px 1em;
}

.story_message_box h4 {
  font-size: clamp(16px, 4vw, 42px);
  text-align: center;
	text-decoration: underline;
	text-decoration-thickness: 4px;
	text-underline-offset: 0.3em;
	text-decoration-color: #3953a4;
  margin-bottom: 0.5em;
}

.story_message_box .text_box p {
  font-size: clamp(14px, 2vw, 21px);
}

@media print, screen and (max-width: 896px) {
  .story_score_inner {
    padding: 1em;
  }
  
  .story_message_box {
    padding: 4em 1em 1em;
  }
}

@media print, screen and (max-width: 480px) {
  .story_score_box {
    flex-direction: column;
  }
  
  .story_score_inner {
    width: 100%;
  }
  
  .story_score_thumb {
    min-width: 250px;
    margin-top: 2em;
  }
}

/*---------------------------------

  中高生⇔働く大人の本音トーク

---------------------------------*/
/*---------------------------------
  進路のQ&A
---------------------------------*/
.talk_card_wrap {
  overflow: hidden;
}

.ribbon_title {
  width: fit-content;
  margin-top: 2em;
}

.ribbon_title h3 {
  height: 60px;
  color: #fff;
  line-height: 60px;
  font-size: clamp(16px, 3vw, 28px);
  font-weight: 800;
  text-shadow: 1px 1px 2px #333;
  background-color: #3587d8;
  position: relative;
  padding: 0 1em;
  margin: 0;
}

.ribbon_title h3::after {
  content: "";
  width: 0;
  height: 0;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 26px solid #3587d8;
  position: absolute;
  top: 0;
  right: -26px;
}

.ribbon_title h3::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 16px solid #3953a4;
  border-left: 24px solid transparent;
  position: absolute;
  left: 0;
  bottom: -18px;
}

.ribbon_title h3 span {
  font-size: clamp(18px, 4vw, 36px);
}

.transparency_bg {
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(50vw - 50%);
  background: rgba(255, 255, 255, 0.5);
  margin-top: -30px;
  padding-top: 5em;
  padding-bottom: 2em;
}

.talk_card_box {
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  padding-right: calc(50vw - 50%);
  position: relative;
}

.talk_side_thumb {
  width: 75px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.talk_card_inner {
  display: flex;
  /*align-items: flex-start;*/
  gap: 24px;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: transform;
}

.talk_card_block {
  flex: 0 0 280px;
  border-radius: 0.5em;
  box-shadow: 15px 15px 8px #96c4de;
  background: #eff8ff;
  padding: 2em;
}

.talk_card_question {
  border: solid 3px #1b2a6b;
  border-radius: 0.5em;
  background: #fff;
  position: relative;
  padding: 1em;
}

.talk_card_question img {
  width: 50px;
  position: absolute;
  top: -1.5em;
  left: -1.3em;
}

.talk_card_question p {
  font-size: clamp(16px, 2vw, 18px);
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5em;
}

.talk_card_question dl {
  font-size: clamp(12px, 2vw, 14px);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.talk_card_question dl dt::after {
  content: "在住";
}

.talk_card_question dl dd:first-of-type {
  margin-left: 1em;
}

.talk_card_question dl dd:last-of-type::before {
  content: "・";
}

.talk_card_answer {
  border: solid 1px #1b2a6b;
  background: #fff5e1;
  position: relative;
  margin-top: 1em;
  padding: 1em;
}

.talk_card_answer_fooer {
  text-align: right;
  margin-top: 1em;
  padding-right: 5em;
}

.talk_card_answer_fooer dl {
  font-size: clamp(12px, 2vw, 14px);
}

.talk_card_answer_fooer dl dt::after {
  content: "さん";
}

.talk_card_answer_thumb {
  width: 50%;
  max-width: 110px;
  position: absolute;
  right: -1.5em;
  bottom: -1.5em;
}

.talk_card_more {
  display: flex;
  justify-content: flex-end;
  margin-top: 30px;
}

.talk_card_more button {
  width: 100px;
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: none;
  cursor: pointer;
  transition: 0.3s;
}

.talk_card_more button:hover {
  opacity: 0.8;
}

@media print, screen and (min-width: 896px) {
  .talk_card_block {
    flex: 0 0 365px;
  }
}

@media print, screen and (max-width: 896px) {
  .talk_side_thumb {
    width: 45px;
  }
  
  .talk_card_block {
    flex: 0 0 95%;
  }
  
  .talk_card_question img {
    width: 50px;
  }
  
  .ribbon_title h3 {
    height: 50px;
    line-height: 50px;
  }
  
  .ribbon_title h3::after {
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
  }
  
  .talk_card_answer_thumb {
    width: 90px;
  }
  
  .talk_card_answer_fooer {
    padding-right: 4em;
  }
}

/*---------------------------------
  働く大人に質問してみよう！
---------------------------------*/
.talk_form_wrap {
  background: #eff8ff;
  padding-top: 8em;
}

.talk_form_content {
  max-width: 900px;
  border: solid 3px #1b2a6b;
  border-radius: 0.8em;
  background: #fff;
  background-image: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 41px,
    #eee 41px,
    #eee 42px
  );
  position: relative;
  margin: 0 auto;
  padding: 4em 3em 3em;
}

.talk_form_content img {
  width: 15%;
  position: absolute;
  top: 20%;
  right: -1em;
}

.talk_form_content h3 {
  width: fit-content;
  color: #fff;
  font-size: clamp(16px, 3vw, 28px);
  text-align: center;
  background: #1b2a6b;
  position: absolute;
  top: -2em;
  right: 0;
  left: 0;
  margin: 0 auto;
  padding: 10px 1em;
}

.talk_form_content h3 i {
  width: 50px;
  height: 50px;
  font-size: clamp(14px, 2.5vw, 24px);
  line-height: 50px;
  border: solid 2px #fff;
  border-radius: 50%;
  margin-right: 1em;
}

.talk_form_box {
  margin-top: 2em;
}

.talk_form_box ul li {
  margin: 0.5em;
  display: inline-block;
}

.talk_form_box ul li:first-of-type {
  width: 50%;
}

.talk_form_box ul li:nth-of-type(2) {
  width: 30%;
}

.talk_form_box ul li:nth-of-type(3) {
  width: 25%;
}

.talk_form_box ul li:nth-of-type(4) {
  width: 25%;
}

.talk_form_box ul li:nth-of-type(5) {
  width: 30%;
}

.talk_form_box ul li:last-of-type {
  width: 100%;
}

@media print, screen and (max-width: 896px) {
  .talk_form_content {
    padding: 4em 2em 3em;
  }
  
  .talk_form_content img {
    width: 80px;
    top: -6em;
  }
  
  .talk_form_content h3 i {
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin-right: 0.5em;
  }
  
  .talk_form_box ul li {
    margin: 0.5em 0;
  }
  
  .talk_form_box ul li {
    width: 100% !important;
  }
}

@media print, screen and (max-width: 896px) {
  .talk_form_content img {
    top: -4.5em;
  }
}

/*---------------------------------

  業界共通

---------------------------------*/
/*---------------------------------
  Title
---------------------------------*/
.industry_title_wrap h2 {
  font-size: clamp(21px, 6vw, 80px);
}

.industry_title_wrap .page_title_inner img {
  width: 150px;
  left: inherit;
  right: 0;
}

@media print, screen and (max-width: 896px) {
  .industry_title_wrap .page_title_inner img {
    width: 80px;
    bottom: inherit;
    top: -6em;
  }
}

/*---------------------------------
  どんな業界？
---------------------------------*/
.field_wrap {
  background: #eff8ff;
}

.field_box h4 {
	width: fit-content;
	font-size: clamp(16px, 3vw, 28px);
	position: relative;
	padding: 0.3em;
}

.field_box h4::after {
	content: "";
	width: 100%;
	height: 8px;
	background: linear-gradient(#5aabd0, #456c9a);
	position: absolute;
	left: 0;
	bottom: 0;
}

.field_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 2em;
}

.field_block {
	width: 70%;
	min-width: calc(100% - 350px);
}

.field_text_box p {
	font-size: clamp(14px, 2vw, 18px);
}

.field_block ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 1em;
}

.field_block ul li {
	width: calc(100% / 4);
	font-size: clamp(14px, 1.5vw, 18px);
	text-align: center;
	padding: 0.5em;
}

.field_block ul li img {
	width: 110px;
	margin: 0 auto;
}

.field_block ul li p {
	min-height: 3em;
	font-weight: 700;
	line-height: 1.5em;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 0.5em;
}

.field_thumb {
	width: 30%;
	max-width: 350px;
	min-width: 220px;
	margin: 0 auto;
	padding: 1em;
}

.rectangle_title {
	width: fit-content;
	position: relative;
	margin: 1em 0;
	padding: 1em 0.8em;
}

.rectangle_title::before,
.rectangle_title::after {
	content: "";
	width: 30%;
	height: 50%;
	background: #4788c7;
	display: block;
	position: absolute;
}

.rectangle_title::before {
	top: 0;
	left: 0;
}

.rectangle_title::after {
	bottom: 0;
	right: 0;
}

.rectangle_title span {
	color: #1c2a6c;
	font-size: clamp(18px, 3.5vw, 38px);
	background: #d5f1ff;
	position: relative;
	padding: 0.3em 1em;
	z-index: 2;
}

.field_system_box .text_box p {
	font-size: clamp(14px, 2vw, 18px);
}

.field_system_thumb {
	max-width: 750px;
	margin: 3em auto 0 auto;
}

@media print, screen and (max-width: 896px) {
	.field_inner {
		flex-direction: column;
	}
	
	.field_block {
		width: 100%;
		min-width: inherit;
	}
	
	.field_text_box p br {
		display: none;
	}
	
	.field_block ul li img {
		width: 80px;
	}
}

@media print, screen and (max-width: 480px) {
	.field_block ul li {
		width: calc(100% / 2);
	}
	
	.field_block ul li img {
		width: 60px;
	}
  
  .rectangle_title {
    padding: 0.8em 0.5em;
  }
  
  .rectangle_title span {
    padding: 0.3em 0.5em;
  }
}

/*---------------------------------
  どんな役割がある？
---------------------------------*/
.field_role_box {
	display: flex;
  flex-wrap: wrap;
  justify-content: center;
	gap: 50px 70px;
	margin-top: 2em;
}

.field_role_inner {
	width: calc((100% - 140px) / 3);
	text-align: center;
  transform-style: preserve-3d;
}

.field_role_inner p {
	width: 100px;
	height: 50px;
	color: #fff;
	font-size: clamp(14px, 2vw, 18px);
	line-height: 60px;
	border-radius: 100px 100px 0 0;
	background: #1c2a6c;
	margin: 0 auto;
}

.field_role_inner:nth-child(4) {
  grid-column: 2 / span 2;
}

.field_role_inner:nth-child(5) {
  grid-column: 4 / span 2;
}

.field_role_block {
	border-radius: 0.5em;
	background: #fff;
	box-shadow: 10px 10px 10px #989ebd;
	padding: 1em 1.5em;
}

.field_role_block h4 {
	font-size: clamp(16px, 2vw, 21px);
  letter-spacing: normal;
}

.field_role_block img {
	max-width: 200px;
	margin: 0 auto;
}

.field_role_job_category {
	min-height: 5em;
	font-size: clamp(12px, 2vw, 14px);
	border-radius: 0.5em;
	background: #d5f1ff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 0.5em;
}

.field_role_job_category li:last-of-type::after {
	content: "など";
	padding-left: 5px;
}

.field_role_job_description {
	font-weight: 700;
	margin-top: 0.5em;
}

@media print, screen and (max-width: 896px) {
  .field_role_box {
    gap: 40px 35px;
  }
	
	.field_role_inner {
    width: calc((100% - 35px) / 2);
  }
	
	.field_role_inner p {
		width: 70px;
		height: 35px;
		line-height: 45px;
	}
	
	.field_role_block img {
		width: 100px;
	}
}

@media print, screen and (max-width: 480px) {
	.field_role_inner {
    width: 100%;
  }
	
	.field_role_job_category {
		min-height: inherit;
		display: block;
	}
	
	.field_role_job_category li {
		display: inline-block;
	}
	
	.field_role_job_category li:nth-of-type(n+2)::before {
		content: "・";
	}
}

/*---------------------------------
  どんな仕事がある？
---------------------------------*/
.field_job_content h3+p {
	font-size: clamp(14px, 2vw, 18px);
}

.field_job_box {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 50px 35px;
	margin-top: 2em;
}

.field_job_inner {
	border-radius: 1em;
	background: #fff;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.3s;
  cursor: pointer;
}

.field_job_inner::after {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 1em;
  background: #5a6797;
  box-shadow: 8px 8px 0 #c5cfe2;
  position: absolute;
  top: 8px;
  left: 8px;
  transform: translateZ(-1px);
}

.field_job_inner:hover {
  transform: translate(-5px, -5px);
  transition: 0.3s;
}

.field_job_thumb {
	width: 50%;
	position: absolute;
	left: -1em;
	bottom: 0;
}

.field_job_block {
	width: 55%;
	position: relative;
	margin-left: auto;
	padding: 1.5em 1em 1.5em 0.5em;
	z-index: 1;
}

.field_job_block h4 {
	font-size: clamp(16px, 2vw, 23px);
	text-align: center;
	line-height: 1.5em;
	letter-spacing: normal;
	margin-bottom: 0.5em;
}

.field_job_text p {
	font-size: 14px;
}

@media print, screen and (max-width: 896px) {
  .field_job_box {
    grid-template-columns: 1fr;
  }
	
	.field_job_thumb {
		width: 110px;
		left: auto;
    right: 0;
	}
	
	.field_job_block {
		width: calc(100% - 110px);
		margin-right: auto;
    margin-left: 0;
		padding: 1.5em 0.5em 1.5em 1em;
	}
	
	.field_job_block h4 {
		text-align: left;
	}
	
	.field_job_block h4 br {
		display: none;
	}
}

@media print, screen and (max-width: 480px) {
	.field_job_thumb {
		width: 80px;
	}
	
	.field_job_block {
		width: calc(100% - 80px);
	}
}

/*---------------------------------
  業界だよ！
---------------------------------*/
.field_conclusion_content {
	width: fit-content;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	position: relative;
	margin: 0 auto;
}

.field_conclusion_box {
	width: fit-content;
	border-radius: 1.5em;
	box-shadow: 10px 10px 0 #3699f2,
	13px 13px 0 #1c2a6c;
}

.field_conclusion_thumb {
	width: 20%;
	max-width: 180px;
	margin: 2em 0 0 -2em;
	position: relative;
	z-index: 2;
}

.field_conclusion_block {
	font-weight: 700;
	border: solid 3px #1c2a6c;
	border-radius: 1.5em;
	background: #fff;
	position: relative;
	padding: 1em 3em;
	z-index: 2;
}

.field_conclusion_block p:first-of-type,
.field_conclusion_block p:last-of-type {
	font-size: clamp(16px, 3vw, 28px);
}

.field_conclusion_block p:nth-of-type(2) {
	font-size: clamp(18px, 3.5vw, 38px);
	line-height: 1.5em;
}

.field_conclusion_block p:last-of-type {
	text-align: right;
}

@media print, screen and (max-width: 896px) {
	.field_conclusion_box {
		max-width: calc(100% - 20%);
		box-shadow: 5px 5px 0 #3699f2,
		7px 7px 0 #1c2a6c;
	}
	
	.field_conclusion_block {
		padding: 1em;
	}
	
	.field_conclusion_thumb {
		margin: auto 0 0 0;
	}
}

/*---------------------------------
  向いているタイプ
---------------------------------*/
.field_type_content {
	position: relative;
}

.field_type_thumb {
	width: 15%;
	max-width: 100px;
	min-width: 55px;
	position: absolute;
	top: 0;
	right: 0;
}

.field_type_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 2em;
}

.field_type_box h4 {
	font-size: clamp(16px, 2vw, 24px);
	letter-spacing: normal;
}

.field_type_text {
	padding-right: 20%;
}

.field_aptitude_inner,
.field_mytype_inner {
	width: 48%;
	border-radius: 1em;
	background: #fff;
	padding: 2em;
}

.field_aptitude_inner ul li {
	text-indent: -1.7em;
	margin-top: 0.5em;
	padding-left: 1.7em;
}

.field_aptitude_inner ul li::before {
	content: "\f058";
  font-family: 'Font Awesome 7 Free';
	font-size: 120%;
	font-weight: 600;
	padding-right: 0.5em;
}

.field_mytype_inner p {
	font-size: 14px;
}

.field_mytype_inner img {
	max-width: 450px;
	margin: 1em auto;
}

.field_mytype_inner .btn_navy {
	width: fit-content;
	margin: 1em auto 0 auto;
}

@media print, screen and (max-width: 896px) {
	.field_type_box {
		flex-direction: column;
	}
	
	.field_aptitude_inner,
	.field_mytype_inner {
		width: 100%;
	}
	
	.field_mytype_inner {
		margin-top: 2em;
	}
}

@media print, screen and (max-width: 480px) {
	.field_type_thumb {
		top: 5em;
	}
}

/*---------------------------------
  
---------------------------------*/




/*---------------------------------
  
---------------------------------*/




/*---------------------------------
  
---------------------------------*/




/*---------------------------------
  
---------------------------------*/




/*---------------------------------
  
---------------------------------*/




/*---------------------------------
  
---------------------------------*/




/*---------------------------------
  
---------------------------------*/




/*---------------------------------
  
---------------------------------*/




/*---------------------------------
  
---------------------------------*/




/*---------------------------------
  
---------------------------------*/












/*---------------------------------

  お知らせ一覧

---------------------------------*/
.news_pagination {
  margin-top: 3em;
}

.news_pagination .page-numbers {
  display: flex;
  justify-content: center;
  gap: 0.5em;
}

.news_pagination a,
.news_pagination span {
  min-width: 2.5em;
  text-align: center;
  border: solid 1px #1b2a6b;
  padding: 0.35em 0.5em;
}

.news_pagination .current {
  color: #fff;
  background: #1b2a6b;
}

/*---------------------------------

  お知らせ詳細

---------------------------------*/
.post_detail_content {
  padding: 2em 0;
}

.post_detail_head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1em;
}

.post_detail_head li:first-of-type {
  width: fit-content;
  border-radius: 5em;
  background: #c8e5eb;
  margin-right: 1em;
  padding: 5px 1em;
}

.post_detail_content h3 {
  font-size: clamp(18px, 3.5vw, 38px);
  letter-spacing: normal;
  border-bottom: solid 2px #c6d7e8;
  margin-bottom: 1.5em;
  padding-bottom: 0.5em;
}

.post_detail_box {
  font-size: clamp(16px, 2vw, 18px);
  line-height: 2em;
}

.post_detail_box a {
  color: #f08855;
  text-decoration: underline;
}

.post_detail_content .btn_left_arrow {
  max-width: 300px;
  margin: 5em auto 0 auto;
}

/*---------------------------------

  Privacy

---------------------------------*/
.privacy_content {
  padding: 3em 0;
}

.privacy_inner h4 {
  font-size: clamp(16px, 2vw, 21px);
  text-indent: -1.1em;
  padding-left: 1.1em;
  margin: 2em 0 0.5em 0;
}

.privacy_inner ul {
  margin-top: 0.5em;
}

.privacy_inner ul li {
  list-style: disc inside;
  text-indent: -1.4em;
  padding-left: 1.4em;
}

.privacy_block {
  margin-top: 1em;
}

.privacy_block p span {
  font-weight: 600;
}

/*---------------------------------

  Thanks

---------------------------------*/
.thanks_content {
  padding: 3em 0;
}

.thanks_content .text_box p:nth-last-child(2)	{
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.thanks_content .text_box p:nth-last-child(2)::before {
  content: "\f095";
  font-family: "Font Awesome 7 Free";
  font-size: 21px;
  font-weight: 600;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
}

.thanks_content .btn_navy {
  max-width: 300px;
  margin: 3em auto 0 auto;
}

@media print, screen and (max-width: 896px) {
  .thanks_content .text_box p:nth-last-child(2)	{
    font-size: 18px;
  }
  
  .thanks_content .text_box p:nth-last-child(2)::before {
    font-size: 16px;
  }
}

/*---------------------------------

  Footer

---------------------------------*/
footer {
  color: #fff;
  background: #1b2a6b;
  padding: 3em 0;
}

.footer_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.sitemap_inner {
  display: flex;
  flex-wrap: wrap;
  padding: 1em;
}

.sitemap_inner li a {
  color: #fff;
  font-size: clamp(12px, 2vw, 14px);
  margin-left: 2em;
}

.sitemap_inner li a:hover {
  text-decoration: underline;
}

address {
  color: #fff;
  font-size: 0.7em;
  font-style: normal;
  text-align: right;
  margin-top: 1em;
}

@media print, screen and (max-width: 480px) {
  .footer_box {
    flex-direction: column;
  }
  
  .sitemap_inner {
    width: 100%;
    max-width: none;
    justify-content: space-between;
    margin-top: 1em;
    padding: 0;
  }
  
  .sitemap_inner li {
    width: 48%;
  }
  
  .sitemap_inner li a {
    margin-left: 0;
  }
  
  address {
    text-align: center;
  }
}

/*---------------------------------
  Contact Form 7
---------------------------------*/
.about_form_box > .wpcf7 {
  width: 100%;
}

.about_form_box .wpcf7-form {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.about_form_box .wpcf7-form-control-wrap {
  width: 100%;
  display: block;
}

.about_form_box .wpcf7-response-output {
  width: 100%;
}

/*---------------------------------
  YouTube Lazy
---------------------------------*/
.youtube_lazy {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  position: relative;
  overflow: hidden;
}

.youtube_lazy_btn {
  width: 100%;
  height: 100%;
  border: 0;
  background: none;
  display: block;
  position: relative;
  padding: 0;
  cursor: pointer;
}

.youtube_lazy_btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.youtube_lazy_play {
  width: 70px;
  height: 50px;
  border-radius: 12px;
  background: rgba(255, 0, 0, 0.9);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.youtube_lazy_play::after {
  content: "";
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 16px solid #fff;
  position: absolute;
  top: 50%;
  left: 52%;
  transform: translate(-50%, -50%);
}

.youtube_lazy iframe {
  width: 100%;
  height: 100%;
  border: 0;
  position: absolute;
  inset: 0;
}
