@charset "utf-8";

h2 span,
h3 span{
  display: inline-block;
}
/* styleに追加する部分*/
body{
	font-family: "Shippori Mincho",  sans-serif;
}
.font-goth{
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.link_wrap {
  display: flex;
  gap: clamp(16px, 5vw, 40px);
}

.link_wrap a {
  position: relative;
  padding: 12px 40px 12px 20px;
  background: #fff;
  border: none;
  border-radius: 4px;
  box-sizing: border-box;
  text-align: center;
  transition: background 0.3s ease;
  text-decoration: none;
  color: #333;
}

.link_wrap a:hover {
}

.link_wrap .icon {
  position: absolute;
  top: 50%;
  right: 0px;
  width: 36px;
  height: 36px;
  border: 1px solid #aaa;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  box-sizing: border-box;
}

.link_wrap .icon img {
  width: 14px;
  height: auto;
  transition: transform 0.3s ease;
}

.link_wrap a:hover .icon img {
  transform: rotate(45deg);
}

.txt-color1{
    color: #15558A;
}

.txt-color2{
    color: rgba(21,85,138,0.1);
}
.bg-brown{
background-color: #F7F4F0;
}
.title1{
    margin-top: -50px;
}
.en_title {
  font-family: "Shippori Mincho", sans-serif;
  font-size: clamp(10px, 8vw, 100px);
}

.default_title { 
  font-size: clamp(20px, 3vw, 34px);
}

.default_title2 {
  font-size: clamp(18px, 2.5vw, 28px);
  letter-spacing: 0.05em;
}

.default_title3 {
  font-size: clamp(16px, 2vw, 24px);
  letter-spacing: 0.05em;
}

.default_txt {
  font-size: clamp(14px, 1.8vw, 18px);
  letter-spacing: 0.05em;
}

.default_txt2 {
  font-size: clamp(12px, 1.5vw, 16px);
  letter-spacing: 0.05em;
}
.more a {
  position: relative;
  display: inline-block;
  padding: 15px 50px 15px 30px;
  min-width: 290px;
  background-color: #154A7E;
  text-decoration: none;
  border: none;
}

.more a::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 20px;
  background-image: url("https://orlib.co.jp/system_panel/uploads/images/arrow1.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

.more a:hover::after {
  transform: translate(3px, -50%);
}

.more a p {
  color: #fff;
  text-align: center;
  margin: 0;
  font-size: 18px;
}
/* styleに追加する部分*/

.boxwrap{
  flex-wrap: nowrap;
  align-items: flex-start;
}
.cate .imgbox {
  width: clamp(300px, 50vw, 450px);
}


.cate3 .boxwrap{
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.cate3 .imgbox {
  width: clamp(300px, 50vw, 450px);
  aspect-ratio: 5 / 3;
  overflow: hidden;
}

.cate3 .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cate3 .boxwrap {
  font-family: "Zen Kaku Gothic New", sans-serif;
  position: relative;
    height: 100%;
}

.cate3 .step-num {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 30px;
  color: #154A7E;
        height: 100%;
}

.cate3 .step-num .step-text {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin: 0;
}

.cate3 .step-num .step-number {
  font-size: 48px;
  font-weight: bold;
  line-height: 1;
  margin: 0;
}

/* 縦線を中央に1本通す */
.cate3 .step-num::after {
  content: "";
  position: absolute;
  top: 90px;
  left: 50%;
  width: 2px;
  background: #154A7E;
  z-index: 2;
    height: 180px;
}

/* 最後のSTEPだけ縦線を消す */
.cate3 .boxwrap:last-child .step-num::after {
  display: none;
}


/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
      .boxwrap{
    flex-wrap: wrap;
    align-items: center;
  }
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
    .cate3 .box{
        width: 280px;
    }
    
    .cate3 .step-num {
    margin-right: 0px;
}
    .cate3 .step-num::after {
    content: "";
    position: absolute;
    top: 90px;
    left: 50%;
    width: 0px;
    background: #154A7E;
    z-index: 2;
    height: 180px;
}
    
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

