@charset "UTF-8";
/* ============================================================
   カラーパレット
   ============================================================ */
:root {
  /* blue */
  --color-blue:       #5186EC;
  --color-blue-75:    #7ca4f1;
  --color-blue-50:    #a8c2f5;
  --color-blue-25:    #d3e1fa;
  --color-blue-10:    #eef3fd;
  --color-blue-5:     #f6f9fe;
 
  /* cyan */
  --color-cyan:       #17B4CC;
  --color-cyan-75:    #51C7D9;
  --color-cyan-50:    #8BD9E5;
  --color-cyan-25:    #C5ECF2;
  --color-cyan-10:    #E8F7FA;
 
  /* green */
  --color-green:      #35ae92;
  --color-green-75:   #67c2ad;
  --color-green-50:   #9ad6c8;
  --color-green-25:   #ccebe4;
  --color-green-10:   #ebf7f4;
 
  /* yellow */
  --color-yellow:     #f6d019;
  --color-yellow-75:  #f8dc52;
  --color-yellow-50:  #fae78c;
  --color-yellow-25:  #fdf3c5;
  --color-yellow-10:  #fefae8;
 
  /* red */
  --color-red:        #ff4b36;
  --color-red-75:     #ff7868;
  --color-red-50:     #ffa59a;
  --color-red-25:     #ffd2cd;
  --color-red-10:     #ffedeb;
 
  /* purple */
  --color-purple:     #847ac6;
  --color-purple-75:  #a39bd4;
  --color-purple-50:  #c1bce2;
  --color-purple-25:  #e0def1;
  --color-purple-10:  #f3f2f9;
 
  /* pink */
  --color-pink:       #f47abe;
  --color-pink-75:    #f79bce;
  --color-pink-50:    #f9bcde;
  --color-pink-25:    #fcdeef;
  --color-pink-10:    #fef2f8;
 
  /* orange */
  --color-orange:     #fa9831;
  --color-orange-75:  #fbb264;
  --color-orange-50:  #fccb98;
  --color-orange-25:  #fee5cb;
  --color-orange-10:  #fef5ea;
 
  /* brown */
  --color-brown:      #6B5744;
  --color-brown-75:   #908173;
  --color-brown-50:   #B5ABA1;
  --color-brown-25:   #DAD5D0;
  --color-brown-10:   #F0EEEC;
 
  /* navy */
  --color-navy:       #29486d;
  --color-navy-75:    #5e7691;
  --color-navy-50:    #94a3b6;
  --color-navy-25:    #c9d1da;
  --color-navy-10:    #eaedf0;
  --color-navy-5:     #f4f6f8;
 
  /* black / gray */
  --color-black:      #111111;
  --color-black-75:   #4c4c4c;
  --color-black-50:   #888888;
  --color-black-485:  #8C8C8C;
  --color-black-25:   #c3c3c3;
  --color-black-15:   #dbdbdb;
  --color-black-10:   #e7e7e7;
  --color-black-5:    #f3f3f3;
 
  /* base */
  --color-bg:         #FAFAFA;
}

/* 臨時headerpadding 最終的に消す */
	.headerpadding{
		padding-top: 120px;
	}
		@media screen and (max-width: 768px){
			.headerpadding{
				padding-top:96px;
			}
		}

/* resetにいれたい　*/
	ul,li{
		line-height: 1.6;
	}
	h1,h2,h3,h4,h5,h6{
		line-height: 1.4;
	}
	p{
		line-height: 1.6;
	}
	*{
		box-sizing: border-box;
	}

/* レイアウト */
.content-basic{
	max-width: 1024px;
	width: 92%;
	margin-left:auto;
	margin-right: auto;
}
.content-full{
	width: 100%;
}

@media screen and (min-width:769px) {
	.hidden-pc {
		display:none!important;
	}
}
@media screen and (max-width:768px) {
	.hidden-sp {
		display:none!important;
	}
}

/* font-size */
h1{
	font-size: 32px;
}
h2{
	font-size: 24px;
}
p{
	font-size: 18px;
}

@media screen and (max-width:768px) {
	h1{
		font-size: 24px;
	}
	h2{
		font-size: 20px;
	}
}
/* アンカー・スクロール制御 */
html {
  scroll-behavior: smooth;
}
:root {
  --header-height: 120px;
}

@media screen and (max-width: 768px) {
  :root {
    --header-height: 96px;
  }
}
[id] {
  scroll-margin-top: var(--header-height);
}
/* cta btn */
.cta-btn-wrap{
}
	a.cta-btn{
		background: linear-gradient(to bottom, #49B69D, #35AE92);
		border: 2px solid #E8F7FA;
		filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
		box-sizing: border-box;
		color: #FFF;
	}
		a.cta-btn:hover{
			filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.2));
		}
		a.cta-btn.size-m{
			padding: 16px 40px;
			border-radius: 16px;
			font-size: 22px;
			font-weight: 700;
			color: #fff;
			text-decoration: none;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			height: 80px;
			border-radius: 43px;
		}
		a.cta-btn.size-m > span{
			font-size: 28px;
		}
		a.cta-btn.size-m span.fs-s{
			font-size: 16px;
			margin-right: 4px;
		}
@media screen and (max-width:768px) {
	a.cta-btn{
		width: 100%;
		margin: 0px auto;
	}
		a.cta-btn.size-m{
			display: block;
			text-align: center;
			line-height: 1.4;
		}
		a.cta-btn.size-m > span{
			font-size: 22px;
			display: block;
			line-height: 1.2;
		}
		a.cta-btn.size-m > span + span{
			display: flex;
			justify-content: center;
			line-height: 1.4;
		}
		a.cta-btn.size-m > span + span > span{
			font-size: 28px;
		}
		a.cta-btn.size-m span.fs-s{
			margin-right: 0px;
		}
}

/* cta-wide */
a.cta-wide{
	display: block;
	padding: 32px;
	margin-top: 32px;
	filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.4));
	border:4px solid #35AE92;
	background-color: #FFF;
	border-radius: 16px;
	.box{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.box .text{
		max-width: 330px;
		width: 38%;
	}
	.box .inner-box{
		display: flex;
		align-items: center;
		justify-content: center;
		max-width: 660px;
		width: 62%;
	}
	p{
		font-size: 32px;
		color: #35AE92;
		font-weight: 900;
		display: flex;
		align-items: center;
	}
	p.catch{
		font-size: 18px;
		font-weight: 700;
	}
	.box p span{
		font-size: 38px;
	}
	ul li{
		font-size: 18px;
		font-weight: 700;
	}
	.image.ill{
		width: 170px;
	}
	.image.docpreview{
		width: 490px;
	}
	.cta-sub{
		width: 280px;
		height: 48px;
		margin: 16px auto 0px;
		border-radius: 24px;
		background: linear-gradient(
			180deg,
			#5DBEA8 60%,
			#35AE92 100%
		);
		color: #FFF;
		font-size: 18px;
		font-weight: 700;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}
a.cta-wide:hover{
		filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.2));
	}

@media screen and (max-width:980px) {
	a.cta-wide{
		p{
			font-size: 28px;
		}
		p.catch{
			font-size: 16px;
		}
		.box p span{
			font-size: 30px;
		}
	}
}
@media screen and (max-width:768px) {
a.cta-wide{
	padding: 24px;
	filter: drop-shadow(1px 2px 3px rgba(0, 0, 0, 0.4));
	.box{
		display: block;
	}
	.box .text{
		max-width: 100%;
		width: 100%;
		text-align: center;
	}
	.box .inner-box{
		margin-top: 8px;
		gap: 3%;
		max-width: 100%;
		width: 100%;
		}
	p{
		font-size: 24px;
		justify-content: center;
	}
	p.catch{
		font-size: 16px;
		font-weight: 700;
		
	}
	.box p span{
		font-size: 28px;
	}
	ul li{
		font-size: 18px;
		font-weight: 700;
	}
	.image.ill{
		width: 30%;
	}
	.image.docpreview{
		width: 64%;
	}
	.cta-sub{
		width: 100%;
	}
	}
}

.cta-contact{
	margin-top: 48px;
	.box{
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: 16px;
		gap: 8px;
	}
	.box .tel{
		text-align: center;
		width: 50%;
	}
	.box .tel p{
		font-size: 20px;
		font-weight: 700;
		color: #5E7691;
	}
	.box .tel a{
		font-size: 40px;
		color: #29486D;
		font-weight: 700;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.box .tel a span{
		font-size: 40px;
	}
	.box .tel p.attention{
		font-size: 14px;
		font-weight: 400;
	}
	.box .email{
		width: 50%;
	}
	.box .email a{
		background-color: #5186EC;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #FFF;
		height: 80px;
		border-radius: 40px;
		font-size: 24px;
		font-weight: 900;
	}
	.box .email a span{
		font-size: 32px;
		padding-right: 2px;
	}
	@media screen and (max-width:980px) {
		.box{
			margin-top: 16px;
		}
		.box .tel{
		}
		.box .tel p{
			font-size: 16px;
		}
		.box .tel a{
			font-size: 36px;
		}
		.box .tel a span{
			font-size: 36px;
		}
		.box .email a{
			height: 72px;
			border-radius: 36px;
			font-size: 20px;
		}
		.box .tel p.attention{
			font-size: 13px;
		}
		.box .email a span{
			font-size: 26px;
		}
	}
	@media screen and (max-width:768px) {
		.box{
			display: block;
		}
		.box .tel{
			text-align: center;
			width: 100%;
		}
		.box .email{
			width: 100%;
			margin-top: 16px;
		}
	}
}

/* 共通コンテンツ */
/* magazine list */
.magazine-list{
    margin-top: 0px;
    h1{
		text-align: center;
		color: #29486d;
		font-size: 3.8rem;
		margin-bottom: 60px;
		font-family: 'Source Sans Pro', sans-serif; 
		font-weight: 700;
		letter-spacing: 0.05rem;
		line-height: 100%;
    }
    h1 span{
		border-bottom: 4px solid #29486d;
		padding-bottom: 10px;
	}
    p.lead{
      font-size: 16px;
      text-align: center;
    }
    .magazine-list-m {
      display: flex;
      align-items: flex-start;
      justify-content: flex-start;
      flex-wrap: wrap;
      gap: 16px;
      margin-top: 16px;
    }
    .magazine-list-m a.box {
      border:1px solid #e7e7e7;
      display: flex;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 12px;
      padding: 16px;
      border-radius: 8px;
      flex: 0 0 calc(50% - 8px);
      min-width: 0;
    }
    .magazine-list-m a.box .image{
      width: 182px;
      flex-shrink: 0;
    }
    .magazine-list-m a.box .image img{
      border-radius: 4px;
    }
    .magazine-list-m a.box .text{
    }
      .magazine-list-m a.box .text h3.title{
        font-size: 16px;
        font-weight: 400;
        line-height: 140%;
        margin-bottom: 8px;
      }
    .magazine-list-m a.box .text .cate{
      display: flex;
      gap: 4px;
      margin-top: 8px;
    }
    .magazine-list-m a.box .text .cate span{
      border-radius: 20px;
      background-color: #FFF;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #5e7691;
      border: 1px solid #5e7691;
      font-size: 10px;
      padding: 4px 8px;
      font-weight: bold
    }
}
.magazine-archive{
	padding-top: 120px;
}
    .magazine_single .magazine-list{
      margin-top: 0px;
      .awasete{

      }
      .awasete a {
        text-decoration: none;
        color: #111;
      }
      .awasete a.box{
        flex: 0 0 calc(100%);
      }
      .awasete a.box .image img{
        width: 100%;
        margin: 0px auto;
      }
    }
@media screen and (max-width:980px) {
.magazine-list{
	 h1 {
		font-size: 2.8rem;
	}
	h1 span{
		border-bottom: 4px solid #29486d;
		padding-bottom: 10px;
    }
    .magazine-list-m a.box .image{
      width: 140px;
      flex-shrink: 0;
    }
    .magazine-list-m a.box .text .cate span{
      font-size: 9px;
    }
  }
	.magazine-archive{
		padding-top: 96px;
	}
}
@media screen and (max-width:768px) {
.magazine-list{
    .magazine-list-m {
      gap: 8px;
    }
    .magazine-list-m a.box {
      flex: 0 0 100%;
    }
		.magazine-list-m a.box .image{
			width: 38%;
		}
		.magazine-list-m a.box .text{
			width: 62%;
		}
      .magazine-list-m a.box .text h3.title{
		font-size: 14px;
		line-height: 160%;
		font-weight: 500;
	  }
  }
}