@charset "UTF-8";

/*normalize: http://necolas.github.io/normalize.css/*/

/* Box sizing rules */

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

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
ul,
ol,
dd {
  margin: 0;
  padding: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

ul,
ol{
  list-style: none;
}

/* Set core root defaults */

/* html:focus-within {
  scroll-behavior: smooth;
} */

/* Set core body defaults */

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
  font: inherit;
}

:root {
  --red:#EF0002;
  --black:#222222;
  --yellow:#F8E134;
  --wp--preset--color--base:#fff;
}

/* ==========================================================================
  アニメーション
========================================================================== */

@keyframes modalFadeIn {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

@keyframes modalFadeOut {
  0%{
    opacity: 1;
  }
  99%{
    opacity: 0;
  }
  100%{
    opacity: 0;
    display: none;
  }
}

@keyframes menuIn {
  0%{
    display: grid;
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

@keyframes menuOut {
  0%{
    opacity: 1;
  }
  99%{
    opacity: 0;
  }
  100%{
    display: none;
    opacity: 0;
  }
}

@keyframes fadeIn {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

@keyframes fadeOut {
  0%{
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
}

/*左から表示*/

.rollX {
  position: relative;
}

.rollX::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #007AFF;
    position: absolute;
    top: 0;
    left: 0;
    transform: scaleX(0);
    transform-origin: left top;
    z-index: 10;
  }

.rollX >*{
    opacity: 0;
    transition: opacity .2s linear;
    transition-delay: .8s;
  }

.animeAction.rollX::before {
    animation: rollX 1.2s 1 .2s cubic-bezier(0.5, 0, 0, 1) forwards;
  }

.animeAction.rollX >*{
    opacity: 1;
  }

@keyframes rollX{
  0%{
    transform: scaleX(0);
    transform-origin: left top;
  }
  50%{
    transform: scaleX(1);
    transform-origin: left top;
  }
  51%{
    transform: scaleX(1);
    transform-origin: right top;
  }
  100%{
    transform: scaleX(0);
    transform-origin: right top;
  }
}

/*ぺらっと文字*/

.textRoll{
  display: inline-flex;
  justify-content: center;
  overflow: hidden;
}

.textRoll .wall{
    overflow: hidden;
    transform: translate3d(-101%, 0, 0);
    transition: transform 1.6s cubic-bezier(0.5, 0, 0, 1);
  }

.textRoll .wall .text{
      transform: translate3d(101%, 0, 0);
      transition: transform 1.6s cubic-bezier(0.5, 0, 0, 1);
    }

.animeAction.textRoll .wall{
    transform: translate3d(0, 0, 0);
  }

.animeAction.textRoll .wall .text{
      transform: translate3d(0, 0, 0);
    }

/* mv用アニメーション */

@keyframes fadeInLeft{
  0%{
    transform: translate(-40px,0);
    opacity: 0;
  }
  45%{
    opacity: 1;
  }
  100%{
    transform: translate(0,0);
    opacity: 1;
  }
}

@keyframes fadeInRight{
  0%{
    transform: translate(40px,0);
    opacity: 0;
  }
  45%{
    opacity: 1;
  }
  100%{
    transform: translate(0,0);
    opacity: 1;
  }
}

.fadeInLeft,.fadeInRight{
  opacity: 0;
}

.animeAction.fadeInLeft{
  animation: fadeInLeft .4s 1 0s linear forwards;
}

.animeAction.fadeInRight{
  animation: fadeInRight .4s 1 0s linear forwards;
}

.animeAction.homeMVchara1,
.animeAction.sp_homeMVchara1{
  animation-delay: 1.9s;
}

.animeAction.homeMVchara2,
.animeAction.sp_homeMVchara2{
  animation-delay: 2.8s;
}

.animeAction.homeMVchara3{
  animation-delay: 3.7s;
}

/* ==========================================================================
   ajaロード関連
========================================================================== */

.ajaxFade{
  animation: fadeInAjax .6s 1 0s ease forwards;
}

@keyframes fadeInAjax {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

.loadingBtn{
  position: relative;
}

.loadingBtn::before{
    position: absolute;
    top:100px;
    left:50%;
    margin:0 0 0 -15px;
    width: 30px;
    height: 30px;
    content: '';
    animation: loader .8s infinite linear;
    border: 5px solid #000;
    border-top-color: #ddd;
    border-radius: 50%;
  }

@media only screen and (max-width: 767px) {
  .loading{
    top:20.51282vw;
    left: 0;
    width: 100%;
  }
  .loadingBtn{
    position: relative;
  }
    .loadingBtn::before{
      top:20.51282vw;
    }
}

@keyframes loader{
  0%{
    transform: rotate(0deg);
  }
  100%{
    transform: rotate(360deg);
  }
}

/* ==========================================================================
   font
========================================================================== */

.fontIroha {
  font-family: '砧 iroha 26tubaki StdN','iroha-26tubaki-stdn', sans-serif;
  font-style: normal;
}

/* ==========================================================================
   下層タイトルレイアウト
========================================================================== */

.subPage .main{
    position:relative;
    z-index: 2;
    padding-bottom: 100px;
  }

@media (max-width:767px) {
    .subPage .main{
      position:relative;
      z-index: 2;
      padding-bottom: 17.94872vw;
    }
}

/* ==========================================================================
   下層タイトル周り
========================================================================== */

.pageHeader{
  padding-top: 105px;
  position: relative;
  z-index: 1;
  margin-bottom: 245px;
}

.pageHeader::before{
    content: '';
    width: 2400px;
    height: 782px;
    position: absolute;
    top: 250px;
    left: 50%;
    translate: -50% 0;
    background: #fff;
    border-radius: 50%;

  }

.pageHeader .pageTitle{
    font-size: 6rem;
    font-weight: 400;
    text-align: center;
    line-height: 1;
    color: #fff;
  }

.pageHeader .pageTitle br{
      display: none;
    }

@media (max-width:767px) {
  .pageHeader{
    min-height: 88.20513vw;
    padding-top: 32.05128vw;
    margin-bottom: 0;
  }
    .pageHeader::before{
      width: 128.20513vw;
      height: 25.33333vw;
      top: 76.92308vw;
    }
    .pageHeader .pageTitle{
      font-size: 5rem;
      line-height: 1.2;
    }
      .pageHeader .pageTitle br{
        display: block;
      }
}

/* ==========================================================================
   下層sectitle
========================================================================== */

.subPage .secTitle{
    font-size: 5rem;
    line-height: 1.48;
    font-weight: 700;
    text-align: center;
  }

@media (max-width:767px) {
    .subPage .secTitle{
      font-size: 4rem;
      line-height: 1.47;
      font-weight: 700;
    }
}

/* ==========================================================================
borderRadiusBox
========================================================================== */

.borderRadiusBox{
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  border: 8px solid #EEEEEE;
}

@media (max-width:767px) {
  .borderRadiusBox{
    border-radius: 5.12821vw;
    border: 2.05128vw solid #EEEEEE;
  }
}

/* ==========================================================================
   youtubeBox
========================================================================== */

.youtubeBox{
  max-width: 1000px;
  margin-inline:auto;
  border-color: #dbdada;
}

.youtubeBox iframe{
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
    vertical-align: bottom;
  }

@media (max-width:767px) {
  .youtubeBox{
    max-width: 92.30769vw;
  }
}

/* ==========================================================================
   サービス
========================================================================== */

.serviceRow{
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 0 35px;
  position: relative;
}

.serviceRow::before{
    content: '';
    width: 209px;
    height: 209px;
    background: url('../../img/about_chara2.png') no-repeat center center / contain;
    position: absolute;
    top: -29px;
    right: 52px;
    z-index: -1;
  }

.serviceRow .serviceSec{
    display: contents;
  }

.serviceRow .serviceSec a{
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 2;
      border-radius: 20px;
      background: #fff;
      border: 8px solid #DBDADA;
      padding: 30px 7px 23px;
      text-align: center;
      box-shadow: 0px 12px 12px rgba(0, 0, 0, 0.16);
    }

.serviceRow .serviceSec h2{
      font-size: 2.3rem;
      font-weight: 700;
      line-height: 1.26;
    }

.serviceRow .serviceSec h2::before{
        content: '';
        display: block;
        width: 80px;
        height: 80px;
        background-repeat: no-repeat;
        background-position: center center;
        margin: 0 auto 11px;
      }

.serviceRow .serviceSec p{
      margin-top: 12px;
      font-weight: 500;
      line-height: 1.68;
    }

.serviceRow .serviceSec1 h2::before{
        background-image: url('../../img/about_service_icon1.svg');
        background-size: 80px auto;
      }

.serviceRow .serviceSec2 h2::before{
        background-image: url('../../img/about_service_icon2.svg');
        background-size: 72px auto;
      }

.serviceRow .serviceSec3 h2::before{
        background-image: url('../../img/about_service_icon3.svg');
        background-size: 80px auto;
      }

@media (max-width:767px) {
  .serviceRow{
    max-width: 79.48718vw;
    margin: 17.94872vw auto 0;
    grid-template-columns: 100%;
    gap: 0;
  }
    .serviceRow::before{
      width: 53.58974vw;
      height: 53.58974vw;
      background: url('../../img/sp_about_chara2.png') no-repeat center center / contain;
      top: 14.87179vw;
      right: 50%;
      translate:50% 0;
    }
    .serviceRow .serviceSec{
      display: block;
    }
      .serviceRow .serviceSec a{
        border-radius: 5.12821vw;
        border: 2.05128vw solid #eeeeee;
        padding: 7.69231vw 1.79487vw 5.89744vw;
        box-shadow: 0px 3.07692vw 3.07692vw rgba(0, 0, 0, 0.16);
      }
        .serviceRow .serviceSec h2::before{
          width: 20.51282vw;
          height: 20.51282vw;
          margin: 0 auto 2.82051vw;
        }
      .serviceRow .serviceSec >p{
        margin-top: 1.79487vw;
      }
        .serviceRow .serviceSec1 h2::before{
          background-size: 20.51282vw auto;
        }
    .serviceRow .serviceSec2{
      margin-top: 5.12821vw;
    }
        .serviceRow .serviceSec2 h2::before{
          background-size: 18.46154vw auto;
        }
    .serviceRow .serviceSec3{
      margin-top: 5.12821vw;
    }
        .serviceRow .serviceSec3 h2::before{
          background-size: 20.51282vw auto;
        }
}

/* ==========================================================================
   会社概要
========================================================================== */

.comapnyDL{
  max-width: 1000px;
  margin: 0 auto;
  border: 8px solid #EEEEEE;
  border-radius: 20px;
  display: grid;
  grid-template-columns: 222px 1fr;
  background: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.comapnyDL dt,.comapnyDL dd{
    display: flex;
    align-items: center;
  }

.comapnyDL dt{
    background: #F9F9F9;
    padding: 20px 10px;
    text-align: center;
    border-right: 1px solid #DBDADA;
    justify-content: center;
  }

.comapnyDL dd{
    padding: 20px 22px 20px 31px;
  }

.comapnyDL dd li::before{
        content: '・';
      }

.comapnyDL dt:not(:nth-last-of-type(1)),
  .comapnyDL dd:not(:nth-last-of-type(1)){
    border-bottom: 1px solid #DBDADA;
  }

@media (max-width:767px) {
  .comapnyDL{
    max-width: 92.30769vw;
    border: 2.05128vw solid #EEEEEE;
    border-radius: 5.12821vw;
    grid-template-columns: 25.64103vw 1fr;
    font-size: 1.6rem;
  }
    .comapnyDL dt{
      padding: 5.12821vw 2.5641vw;
      border-right: 0.25641vw solid #DBDADA;
      line-height: 1.37;
    }
    .comapnyDL dd{
      padding: 5.12821vw 1.79487vw 5.12821vw 4.10256vw;
      text-align: left;
    }
    .comapnyDL dt:not(:nth-last-of-type(1)),
    .comapnyDL dd:not(:nth-last-of-type(1)){
      border-bottom: 0.25641vw solid #DBDADA;
    }
}

/* ==========================================================================
   フォーム
========================================================================== */

.formWall{
  max-width: 1000px;
  margin: 0 auto;
  padding: 62px 92px 47px;
  box-shadow: 0px 12px 12px rgba(0, 0, 0, 0.16);
  background: #fff;
  border-color: #DBDADA;
}

.formWall select,
  .formWall input[type="text"],
  .formWall input[type="date"],
  .formWall input[type="tel"],
  .formWall input[type="url"],
  .formWall input[type="email"]{
    padding: 0 30px;
    height: 60px;
    line-height: 60px;
    width: 100%;
    border-radius: 15px;
    border:1px solid #999999;
    background: #F9F9F9;
    font-size: 2.2rem;
    font-weight: 500;
    text-align: center;
  }

.formWall textarea{
    width: 100%;
    padding: 20px;
    height: 220px;
    width: 100%;
    border-radius: 15px;
    border:1px solid #999999;
    background: #F9F9F9;
    font-size: 2.2rem;
    font-weight: 500;
  }

.formWall select{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: url('../../img/select_arrow.svg') no-repeat calc(100% - 25px) center / 21px auto;
    background-color: #fff;
    padding-right: 60px;
  }

.formWall .formBox .inputTitle{
      font-size: 2.2rem;
      font-weight: 700;
      letter-spacing: .1em;
      line-height: 1.5;
      margin-bottom: 9px;
      text-align: center;
    }

.formWall .formBox + .formBox{
    margin-top: 30px;
  }

.formWall .accept{
    margin-top: 30px;
    font-size: 1.8rem;
    color: #555555;
    line-height: 1;
  }

.formWall .accept span{
      display: block;
    }

.formWall .accept .wpcf7-list-item{
      margin: 0;
    }

.formWall .accept label{
      display: flex;
      align-items: center;
      justify-content: center;
    }

.formWall .accept label input{
        width: 19px;
        height: 19px;
        margin:0 15px 0 0;
        accent-color:#EF0002;
        accent-color:var(--red);
      }

.formWall .send{
    margin-top: 29px;
    text-align: center;
  }

.formWall .send input{
      width: 350px;
      height: 85px;
      background: url('../../img/form_send.svg') no-repeat center center / contain;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      border: none;
      padding: 0 0 10px;
      line-height: 1;
      font-size: 2.2rem;
      font-weight: 700;
      letter-spacing: .5em;
      color: #fff;
    }

.formWall .send input:disabled{
        opacity: .5;
      }

.formWall .send input:disabled:hover{
          opacity: .5;
        }

.formWall .send input:hover{
        opacity: .8;
      }

.formWall .send .wpcf7-spinner{
      display: block;
      margin: 10px auto 0;
    }

.formWall .wpcf7-not-valid-tip{
    padding: .3em;
    font-size: 1.5rem;
    text-align: center;
  }

.formWall .wpcf7-response-output{
    margin: 0 !important;;
    grid-column: 1 / 3;
    font-size: 1.5rem;
    padding: 1em !important;
    text-align: center;
  }

@media only screen and (max-width: 767px) {
.formWall{
  max-width: 92.30769vw;
  margin: 0 auto;
  padding: 10.25641vw 1.79487vw 7.69231vw;
  box-shadow: 0px 3.07692vw 3.07692vw rgba(0, 0, 0, 0.16);
  
}
  .formWall select,
  .formWall input[type="url"],
  .formWall input[type="text"],
  .formWall input[type="tel"],
  .formWall input[type="email"]{
    padding: 0 5.12821vw;
    height: 10.76923vw;
    line-height: 10.76923vw;
    border-radius: 3.84615vw;
    border:0.25641vw solid #999999;
    font-size: 16px;
  }
  .formWall textarea{
    width: 100%;
    padding: 4.10256vw;
    height: 38.97436vw;
    border-radius: 3.84615vw;
    border:0.25641vw solid #999999;
    font-size: 16px;
  }
  .formWall select{
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: url('../../img/select_arrow.svg') no-repeat calc(100% - 3.84615vw) center / 3.84615vw auto;
    background-color: #fff;
    padding-right: 15.38462vw;
  }
    .formWall .formBox .inputTitle{
      font-size: 1.7rem;
      margin-bottom: 1.02564vw;
    }
  .formWall .formBox + .formBox{
    margin-top: 5.38462vw;
  }
  .formWall .accept{
    margin-top: 5.38462vw;
    font-size: 1.2rem;
  }
      .formWall .accept label input{
        width: 3.33333vw;
        height: 3.33333vw;
        margin:0 2.5641vw 0 0;
      }
  .formWall .send{
    margin-top: 5.12821vw;
  }
    .formWall .send input{
      width: 62.5641vw;
      height: 15.12821vw;
      padding: 0 0 1.79487vw;
      font-size: 1.4rem;
    }
  .formWall .wpcf7-not-valid-tip{
    font-size: 1.5rem;
  }
  .formWall .wpcf7-response-output{
    grid-column: 1;
    font-size: 1.5rem;
    margin-top: -5.12821vw !important;
  }

}

.is-layout-constrained,.is-root-container {
	letter-spacing: .09em;
	line-height: 1.73;
	color: #222222;
	font-weight: 300;
}

.is-layout-constrained h2,.is-root-container h2{
		font-size: 24px;
		font-weight: 500;
		line-height: 1.2;
	}

.is-layout-constrained >h2 + *,.is-root-container >h2 + *{
		margin-top: 0.93em;
	}

.is-layout-constrained h3,.is-root-container h3{
		font-size: 22px;
		line-height: 1.2;
	}

.is-layout-constrained h4,.is-root-container h4{
		font-size: 18px;
		font-weight: 500;
		line-height: 1.2;
	}

.is-layout-constrained >h3 + *,
	.is-layout-constrained >h4 + *,
	.is-root-container >h3 + *,
	.is-root-container >h4 + *{
		margin-top: 1.33em;
	}

.is-layout-constrained ol,.is-layout-constrained ul,.is-root-container ol,.is-root-container ul{
		list-style: inherit;
		padding-left: 1.5em;
	}

.is-layout-constrained a,.is-root-container a{
		text-decoration: underline;
	}

.is-layout-constrained .wp-block-button a,.is-root-container .wp-block-button a{
			text-decoration: none;
		}

/* end .entry-content */

@media only screen and (max-width: 767px) {
		.is-layout-constrained h2,.is-root-container h2{
			font-size: 2.4rem;
		}
		.is-layout-constrained h3,.is-root-container h3{
			font-size: 2.2rem;
		}
		.is-layout-constrained h4,.is-root-container h4{
			font-size: 1.8rem;
		}
		.is-layout-constrained .wp-block-media-text,.is-root-container .wp-block-media-text{
			grid-template-areas:"media-text-media" "media-text-content";
			grid-template-columns:1fr;
		}
			.is-layout-constrained .wp-block-media-text .wp-block-media-text__media,.is-root-container .wp-block-media-text .wp-block-media-text__media{
				grid-area: media-text-media;
			}
			.is-layout-constrained .wp-block-media-text .wp-block-media-text__content,.is-root-container .wp-block-media-text .wp-block-media-text__content{
				grid-area: media-text-content;
				padding: 1em 0 0;
			}
	.wp-block-columns.is-not-stacked-on-mobile{
		gap:0 .5em;
	}
}

@media only screen and (max-width: 767px){
		.is-layout-constrained .wp-block-media-text .wp-block-media-text__media,.is-root-container .wp-block-media-text .wp-block-media-text__media{
    -ms-grid-row: 1;
    -ms-grid-column: 1;
		}
		.is-layout-constrained .wp-block-media-text .wp-block-media-text__content,.is-root-container .wp-block-media-text .wp-block-media-text__content{
    -ms-grid-row: 2;
    -ms-grid-column: 1;
		}
}

/* ==========================================================================
   共通設定
========================================================================== */

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
	overflow-y:scroll;
  scroll-padding-top: 50px;
}

body {
	font-family: 'Noto Sans','Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','游ゴシック','游ゴシック体', 'YuGothic M', YuGothic,'メイリオ',Meiryo,sans-serif;
	font-feature-settings : 'pkna';
	color:#EF0002;
	color:var(--red);
	text-align: justify;
	width:100%;
  min-width: 1040px;
	font-size: 1.6rem;
	line-height: 1.5;
	overflow: hidden;
}

img{
	vertical-align:bottom;
	max-width: 100%;
	height: auto;
  backface-visibility: hidden;
}

a{
	color:#EF0002;
	color:var(--red);
	text-decoration: none;
  display: inline-block;
}

a:hover{
  opacity: .8;
}

.spShow{
	display: none;
}

.pcShow{
	display: inline-block;
}

.container{
	display: grid;
	min-height: 100vh;
	grid-template-columns: 100%;
  grid-template-rows: 0 1fr auto;
}

.header{
	grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 3;
}

.pageContainer{
	grid-column: 1;
  grid-row: 2;
  position: relative;
  z-index: 1;
}

.footer{
	grid-column: 1;
  grid-row: 3;
  z-index: 2;
}

button{
  background: none;
  border: none;
  padding: 0;
  outline: none;
  color: #EF0002;
  color: var(--red);
}

button:focus{
    outline: none;
  }

button:disabled{
    opacity:1;
    color: #EF0002;
    color: var(--red);
  }

/* ==========================================================================
   ヘッダー
========================================================================== */

.header .menuBtn{
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    width: 100px;
    height: 100px;
    background: #EF0002;
    background: var(--red);
  }

.header .menuBtn button{
      cursor: pointer;
      width: 100%;
      height: 100%;
      display: flex;
      flex-flow: column;
      align-items: center;
      justify-content: center;
      line-height: 1;
      color: #fff;
    }

.header .menuBtn button:disabled{
        color: #fff;
      }

.header .menuBtn .lineBox{
      display: grid;
      grid-template-columns: 59px;
      grid-template-rows: 1px 1px;
      justify-content: center;
      gap: 14px 0;
      margin:0 auto 11px;
    }

.header .menuBtn .lineBox .line{
        background: #fff;
        transition: rotate .3s linear;
      }

.header .menuBtn .text{
      font-weight: 700;
      font-size: 1.6rem;
      line-height: 1;
    }

.header .menuBtnOpen .line1{
			transform-origin: left;
			rotate: 15deg;
		}

.header .menuBtnOpen .line2{
			transform-origin: left;
			rotate: -15deg;
		}

.header .menuBtnOpen .text{
      letter-spacing: .3em;
    }

/* ==========================================================================
   グローバルナビ
========================================================================== */

.gNav{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  min-width: 1040px;
  z-index: 999;
  background: #EF0002;
  background: var(--red);
  overflow-y: auto;
  overscroll-behavior-y: none;
}

.gNav::before{
    content: '';
    background: url('../../img/navi_chara.png') no-repeat center center / contain;
    width: 194px;
    height: 194px;
    position: absolute;
    bottom:0;
    left: 50%;
    margin-left: -344px;
  }

@media (max-height:550px) {

.gNav::before{
      animation: menuOut .4s 1 0s linear forwards
  }
    }

.gNav a{
    color: #fff;
  }

.gNav .inner{
    width: -moz-fit-content;
    width: fit-content;
    height: 100%;
    min-height: 550px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-content: center;
    justify-content: center;
    gap:0 120px;
    text-align: center;
    line-height: 1;
  }

.gNav .home{
    grid-column: 1 / 3;
    text-align: center;
    margin-bottom: 65px;
  }

.gNav .pageLink1{
    grid-column: 1;
  }

.gNav .pageLink2{
    grid-column: 2;
  }

.gNav .pageOtherLink{
    grid-column: 2;
  }

.gNav .pageLink{
    font-size: 3rem;
  }

.gNav .pageLink li + li{
      margin-top: 41px;
    }

.gNav .pageOtherLink{
    margin-top: 64px;
    font-size: 2rem;
  }

.gNav .pageOtherLink li + li{
      margin-top: 35px;
    }

.navOpen{
  display: block;
  animation: menuIn .4s 1 0s linear forwards;
}

.navClose{
  animation: menuOut .4s 1 0s linear forwards;
}

/* ==========================================================================
   footer
========================================================================== */

.footer{
  color: #fff;
  padding: 18px 0 10px;
  background: #EF0002;
  background: var(--red);
}

.footer a{
    color: #fff;
  }

.footer .footerNav ul{
      display: flex;
      justify-content: center;
      font-weight: 700;
      letter-spacing: .1em;
      line-height: 1;
    }

.footer .footerNav .pageLink{
      font-size: 1.8rem;
      gap:0 50px;
    }

.footer .footerNav .pageOtherLink{
      margin-top: 30px;
      font-size: 1.4rem;
      gap:0 62px;
    }

.footer .siteName{
    margin-top: 42px;
    text-align: center;
    font-size: 4.7rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.48;
  }

.footer address{
    font-style: normal;
    text-align: center;
  }

.footer address .addr{
      font-size: 1.4rem;
      font-weight: 700;
      letter-spacing: .1em;
      text-align: center;
      line-height: 1;
    }

.footer address .tel{
      text-align: center;
      font-size: 3.4rem;
      font-weight: 900;
      letter-spacing: .05em;
      line-height: 1.48;
    }

.footer address .tel small{
        font-size: 1.8rem;
        font-weight: 700;
        padding-left: 13px;
      }

.footer .copyright{
    margin-top: 45px;
    text-align: center;
    font-size: 1.2rem;
    letter-spacing: .1em;
    font-weight: 700;
  }

.footer .pagetop{
    display: none;
    position: fixed;
    bottom:0;
    right: 84px;
    z-index: 90;
    width: 146px;
  }

.footer .pagetop::after{
      content: '';
      width: 120px;
      height: 83px;
      background: url('../../img/page_top_fukidashi.png') no-repeat center center / contain;
      position: absolute;
      top: -41px;
      right: -39px;
    }

/* ==========================================================================
   介護福祉士一発合格講座
========================================================================== */

body:has(.ippatsuPage){
  background: #FFD800;
}

.ippatsuPage .whatIs{
    text-align: center;
    background: #fff;
    margin-bottom: 265px;
    position: relative;
    z-index: 1;
  }

.ippatsuPage .whatIs::before{
      content: '';
      width: 2400px;
      height: 782px;
      position: absolute;
      bottom: -164px;
      z-index: -1;
      left: 50%;
      translate: -50% 0;
      background: #fff;
      border-radius: 50%;
    }

.ippatsuPage .whatIs p{
      font-size: 2rem;
      line-height: 1.6;
      font-weight: 700;
    }

.ippatsuPage .whatIs .toptext{
      margin-top: 13px;
    }

.ippatsuPage .whatIs .youtubeBox{
      margin-top: 50px;
    }

.ippatsuPage .whatIs .endText{
      margin-top: 44px;
    }

.ippatsuPage .supportList{
    max-width: 1000px;
    margin: 0 auto;
    padding: 74px 22px 22px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap:20px;
  }

.ippatsuPage .supportList .secTitle{
      grid-column: 1 / 4;
      margin-bottom: 6px;
    }

.ippatsuPage .supportList .supportItem{
      border-radius: 20px;
      background: #fff;
      border: 8px solid #eeeeee;
      padding: 20px 6px 22px;
      text-align: center;
    }

.ippatsuPage .supportList .supportItem h2{
        font-size: 2.3rem;
        line-height: 1.26;
        margin-bottom: 7px;
      }

.ippatsuPage .supportList .supportItem h2::before{
          content: '';
          width: 80px;
          height: 80px;
          background-repeat: no-repeat;
          background-position: center center;
          display: block;
          margin: 0 auto 15px;
        }

.ippatsuPage .supportList .supportItem p{
        line-height: 1.68;
        font-weight: 500;
      }

.ippatsuPage .supportList .supportItem1 h2::before{
          background-image: url('../../img/support_icon1.svg');
          background-size: 80px auto;
        }

.ippatsuPage .supportList .supportItem2 h2::before{
          background-image: url('../../img/support_icon2.svg');
          background-size: 80px auto;
        }

.ippatsuPage .supportList .supportItem3 h2::before{
          background-image: url('../../img/support_icon3.svg');
          background-size: 66px auto;
        }

.ippatsuPage .supportList .supportItem4 h2::before{
          background-image: url('../../img/support_icon4.svg');
          background-size: 76px auto;
        }

.ippatsuPage .supportList .supportItem5 h2::before{
          background-image: url('../../img/support_icon5.svg');
          background-size: 80px auto;
        }

.ippatsuPage .supportList .supportItem6 h2::before{
          background-image: url('../../img/support_icon6.svg');
          background-size: 70px auto;
        }

.ippatsuPage .supportList .supportItem7 h2::before{
          background-image: url('../../img/support_icon7.svg');
          background-size: 80px auto;
        }

.ippatsuPage .supportList .supportItem8 h2::before{
          background-image: url('../../img/support_icon8.svg');
          background-size: 66px auto;
        }

.ippatsuPage .supportList .supportItem9 h2::before{
          background-image: url('../../img/support_icon9.svg');
          background-size: 69px auto;
        }

.ippatsuPage .supportList .notice{
      grid-column: 1 / 4;
      font-weight: 500;
    }

.ippatsuPage .voice{
    max-width: 1000px;
    margin: 112px auto;
  }

.ippatsuPage .voice .row{
      margin-top: 81px;
      display: flex;
      justify-content: space-between;
      padding: 10px 10px 0;
      background: #DDDDDD;
      border-radius: 20px;
    }

.ippatsuPage .voice .row ul{
        display: flex;
        flex-flow: column;
        gap:8px 0;
      }

.ippatsuPage .apply{
    max-width: 1000px;
    margin: 100px auto;
    padding: 74px 22px 22px;
  }

.ippatsuPage .apply .toptext{
      margin-top: 27px;
      line-height: 1.8rem;
      line-height: 1.77;
      text-align: center;
      font-weight: 500;
    }

.ippatsuPage .apply .tokuten{
      margin-top: 28px;
      background: #F5F5F5;
      padding: 34px 22px 41px;
    }

.ippatsuPage .apply .tokuten >h2{
        font-size: 3rem;
        font-weight: 700;
        text-align: center;
      }

.ippatsuPage .apply .tokuten >h2::before{
          content: '';
          width: 99px;
          height: 99px;
          background: url('../../img/line_icon.svg') no-repeat center center / contain;
          display: block;
          margin: 0 auto 10px;
        }

.ippatsuPage .apply .tokuten p{
        margin-top: 5px;
        text-align: center;
        font-weight: 500;
        font-size: 1.8rem;
        line-height: 1.33;
      }

.ippatsuPage .apply .tokuten p strong{
          font-size: 2.8rem;
          font-weight: 500;
        }

.ippatsuPage .apply .tokuten p strong span{
            font-size: 3.2rem;
          }

.ippatsuPage .apply .tokuten p strong:nth-child(2){
          padding-left: .1em;
        }

.ippatsuPage .apply .tokuten p >span{
          font-size: 2.4rem;
        }

.ippatsuPage .apply .row{
      margin-top: 20px;
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap:20px;
    }

.ippatsuPage .apply .tokutenSec{
      border-radius: 20px;
      background: #fff;
      border: 8px solid #eeeeee;
      padding: 20px 6px 22px;
      text-align: center;
    }

.ippatsuPage .apply .tokutenSec h2{
        font-size: 2.3rem;
        line-height: 1.26;
        margin-bottom: 16px;
      }

.ippatsuPage .apply .tokutenSec h2::before{
          content: '';
          width: 81px;
          height: 81px;
          background-repeat: no-repeat;
          background-position: center center;
          display: block;
          margin: 0 auto 11px;
        }

.ippatsuPage .apply .tokutenSec p{
        font-size: 1.8rem;
        line-height: 1.5;
        font-weight: 500;
      }

.ippatsuPage .apply .tokutenSec1 h2::before{
          background-image: url('../../img/tokuten_icon1.svg');
          background-size: 70px auto;
        }

.ippatsuPage .apply .tokutenSec2 h2::before{
          background-image: url('../../img/tokuten_icon2.svg');
          background-size: 64px auto;
        }

.ippatsuPage .apply .tokutenSec3 h2::before{
          background-image: url('../../img/tokuten_icon3.svg');
          background-size: 81px auto;
        }

.ippatsuPage .apply .tokutenSec4 h2::before{
          background-image: url('../../img/tokuten_icon4.svg');
          background-size:65px auto;
        }

.ippatsuPage .apply .tokutenSec5 h2::before{
          background-image: url('../../img/tokuten_icon5.svg');
          background-size:70px auto;
        }

.ippatsuPage .apply .tokutenSec6 h2::before{
          background-image: url('../../img/tokuten_icon6.svg');
          background-size:70px auto;
        }

.ippatsuPage .apply .tokutenSec7 h2::before,.ippatsuPage .apply .tokutenSec8 h2::before,.ippatsuPage .apply .tokutenSec9 h2::before{
          background-image: url('../../img/tokuten_icon7.svg');
          background-size:76px auto;
        }

/* ==========================================================================
   cta
========================================================================== */

.ctaBox{
  max-width: 1000px;
  min-height: 340px;
  margin: 0 auto;
  border-radius: 20px;
  background: url('../../img/cta_chara.png') no-repeat left bottom;
  background-color: #fff;
  border: 8px solid #03C153;
  box-shadow: 0px 12px 12px rgba(0, 0, 0, 0.16);
  position: relative;
  padding: 17px 0 15px 311px;
  text-align: center;
  display: flex;
}

.ctaBox::before{
    content: '';
    width: calc(100% + 18px);
    height: calc(100% + 18px);
    background: #dbdada;
    border-radius: 20px;
    position: absolute;
    top: -9px;
    left: -9px;
    z-index: -1;
  }

.ctaBox h2{
    font-size: 3.2rem;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .05em;
  }

.ctaBox p{
    margin-top: 25px;
    color: #111111;
    font-size: 3.4rem;
    font-weight: 700;
    line-height: 1.22;
    position: relative;
  }

.ctaBox p .fukidashi{
      width: 83px;
      height: 58px;
      background: url('../../img/cta_fukidashi.svg') no-repeat center center / contain;
      color: #fff;
      font-size: 1.6rem;
      line-height: 1;
      display: flex;
      align-items: center;
      position: absolute;
      top: -20px;
      left: 45px;
    }

.ctaBox p .fukidashi >span{
        rotate:-10deg;
        padding-left: 13px;
      }

.ctaBox p .fukidashi .line{
        font-size: 1.9rem;
      }

.ctaBox p strong{
      font-size: 4.5rem;
    }

.ctaBox p strong .small{
        font-size: 4.1rem;
      }

.ctaBox p strong .border{
        position: relative;
      }

.ctaBox p strong .border::after{
          content: '';
          width: 500px;
          height: 12px;
          border-radius: 12px;
          background: #E0D703;
          position: absolute;
          bottom: -5px;
          left: -13px;
        }

.ctaBox a{
    margin-top: 20px;
    width: 337px;
    height: 64px;
    background: url('../../img/cta_arrpw.svg') no-repeat calc(100% - 21px) center / 15px auto;
    background-color: #53B735;
    border-radius: 60px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: .1em;
  }

/* ==========================================================================
   介護向上研究会
========================================================================== */

body:has(.kkkPage){
  background: #051BC6;
}

.kkkPage .main{
    background: #fff;
  }

.kkkPage .whatIs{
    text-align: center;
  }

.kkkPage .whatIs p{
      font-size: 2rem;
      line-height: 1.6;
      font-weight: 700;
    }

.kkkPage .whatIs .toptext{
      margin-top: 13px;
    }

.kkkPage .whatIs .youtubeBox{
      margin-top: 50px;
    }

.kkkPage .whatIs .endText{
      margin-top: 44px;
    }

.kkkPage .whatIs .notice{
      font-weight: 400;
    }

.kkkPage .activity{
    max-width: 1000px;
    margin: 87px auto 0;
    padding: 54px 22px 42px;
  }

.kkkPage .activity .toptext{
      font-size: 2rem;
      line-height: 1.6;
      font-weight: 500;
      margin-top: 27px;
      text-align: center;
    }

.kkkPage .activity ul{
      margin-top: 50px;
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap:37px 20px;
    }

.kkkPage .activity ul .img{
        display: block;
        border: 8px solid #EEEEEE;
        border-radius: 20px;
        overflow: hidden;
      }

.kkkPage .activity ul figcaption{
        font-weight: 500;
        text-align: center;
        margin-top: 10px;
      }

.kkkPage .about{
    max-width: 1000px;
    margin: 87px auto 0;
    padding: 54px 52px 62px;
  }

.kkkPage .about .catch{
      margin-top: 48px;
      font-size: 3rem;
      text-align: center;
      line-height: 1;
      font-weight: 500;
    }

.kkkPage .about .inner{
      margin-top: 25px;
    }

.kkkPage .about .inner h2{
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 2;
      }

.kkkPage .about .inner h2 + p{
        font-weight: 500;
        line-height: 2;
      }

.kkkPage .about .inner dl{
        margin-top: 20px;
      }

.kkkPage .about .inner dl dt{
          font-weight: 700;
          margin-bottom: 5px;
        }

.kkkPage .about .inner dl dt:not(:first-child){
          margin-top: 10px;
        }

.kkkPage .about .inner dl dd{
          line-height: 2;
        }

.kkkPage .about .inner dl dd li{
            text-indent: -1em;
            margin-left: 1em;
          }

.kkkPage .about .inner dl dd li::before{
              content: '・';
            }

.kkkPage .about .inner dl dd:not(:has(ul)){
          text-indent: -1em;
          margin-left: 1em;
        }

.kkkPage .about .inner dl dd:not(:has(ul))::before{
            content: '・';
          }

.kkkPage .ctaBox{
    margin-top: 100px;
  }

/* ==========================================================================
   研修／講演
========================================================================== */

body:has(.seminarPage){
  background: #029502;
}

.seminarPage .main{
    padding-bottom: 0;
  }

.seminarPage .whatIs{
    text-align: center;
    background: #fff;
    margin-bottom: 302px;
    position: relative;
    z-index: 1;
  }

.seminarPage .whatIs::before{
      content: '';
      width: 2400px;
      height: 782px;
      position: absolute;
      bottom: -201px;
      z-index: -1;
      left: 50%;
      translate: -50% 0;
      background: #fff;
      border-radius: 50%;
    }

.seminarPage .whatIs p{
      font-size: 2rem;
      line-height: 1.6;
      font-weight: 700;
    }

.seminarPage .whatIs .toptext{
      margin-top: 13px;
    }

.seminarPage .whatIs .youtubeBox{
      margin-top: 50px;
    }

.seminarPage .whatIs .endText{
      max-width: 1000px;
      margin: 34px auto 0;
      line-height: 1.75;
    }

.seminarPage .feature{
    max-width: 1000px;
    margin: 0 auto;
    padding: 54px 22px 22px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap:0 20px;
  }

.seminarPage .feature .secTitle{
      grid-column: 1 / 4;
      margin-bottom: 48px;
    }

.seminarPage .feature .pointSec{
      border-radius: 20px;
      background: #fff;
      border: 8px solid #eeeeee;
      padding: 0 5px 17px;
      text-align: center;
    }

.seminarPage .feature .pointSec header .num{
          line-height: 1;
          font-weight: 500;
          font-size: 2rem;
          text-box: trim-both;
          margin-top: 26px;
        }

.seminarPage .feature .pointSec header .num span{
            font-size: 5rem;
          }

.seminarPage .feature .pointSec header h2{
          margin-top: 11px;
          font-size: 2.3rem;
          font-weight: 700;
          line-height: 1.26;
        }

.seminarPage .feature .pointSec >p{
        margin-top: 7px;
        font-weight: 500;
        line-height: 1.68;
      }

.seminarPage .about{
    max-width: 1000px;
    margin: 100px auto 0;
    padding: 54px 22px 22px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap:20px;
  }

.seminarPage .about .secTitle{
      grid-column: 1 / 4;
      margin-bottom: 28px;
    }

.seminarPage .about .aboutSec{
      border-radius: 20px;
      background: #fff;
      border: 8px solid #eeeeee;
      padding: 20px 7px 25px;
      text-align: center;
    }

.seminarPage .about .aboutSec h2{
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.45;
      }

.seminarPage .about .aboutSec h2::before{
          content: '';
          display: block;
          width: 81px;
          height: 81px;
          background-repeat: no-repeat;
          background-position: center center;
          margin: 0 auto 11px;
        }

.seminarPage .about .aboutSec >p{
        margin-top: 12px;
        font-weight: 500;
        line-height: 1.68;
      }

.seminarPage .about .aboutSec1 h2::before{
          background-image: url('../../img/tl_about_icon1.svg');
          background-size: 67px auto;
        }

.seminarPage .about .aboutSec2 h2::before{
          background-image: url('../../img/tl_about_icon2.svg');
          background-size: 64px auto;
        }

.seminarPage .about .aboutSec3 h2::before{
          background-image: url('../../img/tl_about_icon3.svg');
          background-size: 79px auto;
        }

.seminarPage .about .aboutSec4 h2::before{
          background-image: url('../../img/tl_about_icon4.svg');
          background-size: 80px auto;
        }

.seminarPage .about .aboutSec5 h2::before{
          background-image: url('../../img/tl_about_icon5.svg');
          background-size: 76px auto;
        }

.seminarPage .about .aboutSec6 h2::before{
          background-image: url('../../img/tl_about_icon6.svg');
          background-size: 69px auto;
        }

.seminarPage .about .aboutSec7 h2::before{
          background-image: url('../../img/tl_about_icon7.svg');
          background-size: 77px auto;
        }

.seminarPage .about .aboutSec8 h2::before{
          background-image: url('../../img/tl_about_icon8.svg');
          background-size: 73px auto;
        }

.seminarPage .about .aboutSec9 h2::before{
          background-image: url('../../img/tl_about_icon9.svg');
          background-size: 67px auto;
        }

.seminarPage .achievements{
    max-width: 1000px;
    margin: 100px auto 0;
    padding: 54px 52px 71px;
    display: grid;
    grid-template-columns: 400px 1fr;
    background: url('../../img/tl_achievements_chara.jpg') no-repeat calc(100% - 26px) bottom;
    background-color: #fff;
  }

.seminarPage .achievements .secTitle{
      grid-column: 1 / 3;
      margin-bottom: 59px;
    }

.seminarPage .achievements .innerSec h2{
        display: grid;
        place-content:center;
        width: 155px;
        height: 50px;
        border-radius: 25px;
        border: 2px solid #EF0002;
        border: 2px solid var(--red);
        font-size: 2.4rem;
        font-weight: 700;
        margin-bottom: 20px;
      }

.seminarPage .achievements .innerSec li{
        font-size: 1.8rem;
        line-height: 1.77;
        font-weight: 700;
      }

.seminarPage .profile{
    max-width: 1000px;
    margin: 100px auto 0;
    padding: 54px 52px 33px;
    position: relative;
    overflow: visible;
  }

.seminarPage .profile .innerSec{
      margin-top: 33px;
    }

.seminarPage .profile .innerSec .name{
        font-size: 2.6rem;
        line-height: 1;
        margin-bottom: 15px;
      }

.seminarPage .profile .innerSec .name small{
          font-size: 2.2rem;
        }

.seminarPage .profile .innerSec .katagaki{
        font-size: 1.7rem;
        font-weight: 700;
        line-height: 1;
      }

.seminarPage .profile .innerSec >p{
        margin-top: 20px;
        line-height: 2;
        font-weight: 500;
        max-width: 532px;
        text-align: left;
      }

.seminarPage .profile .innerSec .ph{
        width: 451px;
        position: absolute;
        bottom: 0;
        right: -37px;
      }

.seminarPage .contactSec{
    margin-top: 100px;
    background: #F3F3F3;
    padding: 70px 0 100px;
  }

.seminarPage .contactSec .secTitle{
      margin-bottom: 68px;
    }

/* ==========================================================================
   株式会社てっちゃんについて
========================================================================== */

body:has(.aboutPage){
  background:#EF0302;
}

.aboutPage{
  padding-bottom: 0;
}

.aboutPage .main{
    background: #fff;
  }

.aboutPage .message >header{
      text-align: center;
      position: relative;
    }

.aboutPage .message >header::before{
        content: '';
        width: 250px;
        height: 250px;
        background: url('../../img/about_chara1.jpg') no-repeat center center / contain;
        position: absolute;
        top: -75px;
        left: 50%;
        margin-left: -470px;
        z-index: -1;
      }

.aboutPage .message >header p{
        font-size: 6.5rem;
        line-height: 1;
        font-weight: 700;
        margin-top: 60px;
      }

.aboutPage .message >p{
      max-width: 880px;
      margin: 40px auto 0;
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.77;
    }

.aboutPage .message .youtubeBox{
      max-width: 1000px;
      margin: 60px auto 0;
    }

.aboutPage .comapny{
    margin-top: 100px;
    background: #F3F3F3;
    padding: 112px 0 100px;
  }

.aboutPage .comapny .comapnyDL{
      margin-top: 6px;
    }

.aboutPage .comapny .profile{
      max-width: 1000px;
      margin: 100px auto 0;
      padding: 54px 52px 33px;
      position: relative;
      overflow: visible;
    }

.aboutPage .comapny .profile .innerSec{
        margin-top: 33px;
      }

.aboutPage .comapny .profile .innerSec .name{
          font-size: 2.6rem;
          line-height: 1;
          margin-bottom: 15px;
        }

.aboutPage .comapny .profile .innerSec .name small{
            font-size: 2.2rem;
          }

.aboutPage .comapny .profile .innerSec .katagaki{
          font-size: 1.7rem;
          font-weight: 700;
          line-height: 1;
        }

.aboutPage .comapny .profile .innerSec >p{
          margin-top: 20px;
          line-height: 2;
          font-weight: 500;
          max-width: 532px;
          text-align: left;
        }

.aboutPage .comapny .profile .innerSec .ph{
          width: 451px;
          position: absolute;
          bottom: 0;
          right: -37px;
        }

.aboutPage .service{
    margin-top: 80px;
  }

.aboutPage .service .secTitle{
      grid-column: 1 / 4;
      margin-bottom: 103px;
    }

.aboutPage .contactSec{
    margin-top: 110px;
    background: #F3F3F3;
    padding: 70px 0 100px;
  }

.aboutPage .contactSec .secTitle{
      margin-bottom: 68px;
    }

/* ==========================================================================
   お知らせ
========================================================================== */

body:has(.newsArchive){
  background:#EF0302;
}

.newsArchive .main{
    background: #fff;
  }

.newsArchive .newsRow{
    max-width: 1000px;
    margin: 48px auto 0;
  }

.newsArchive .newsBox .newsHeader{
      display: flex;
      align-items: center;
      padding: 10px 36px;
      min-height: 50px;
      border-radius: 10px;
      margin-bottom: 45px;
      color: #fff;
    }

.newsArchive .newsBox .newsHeader time{
        font-weight: 700;
        flex-shrink: 0;
        margin-right: 48px;
      }

.newsArchive .newsBox .newsHeader h2{
        font-size: 1.8rem;
        font-weight: 700;
      }

.newsArchive .newsBox + .newsBox{
    margin-top: 49px;
  }

.newsArchive .newsBox:nth-child(3n+1) .newsHeader{
      background: #0045FF;
    }

.newsArchive .newsBox:nth-child(3n+2) .newsHeader{
      background: #FFD900;
    }

.newsArchive .newsBox:nth-child(3n) .newsHeader{
      background: #23B546;
    }

.newsArchive .moreBtn{
    margin: 49px auto 0;
    max-width: 350px;
  }

.newsArchive .moreBtn button{
      width: 100%;
      height: 85px;
      background: url('../../img/more_btn.svg') no-repeat center center / contain;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      border: none;
      padding: 0 0 10px;
      line-height: 1;
      font-size: 2.2rem;
      font-weight: 700;
      letter-spacing: .5em;
      color: #fff;
    }

.newsArchive .moreBtn button:disabled{
        opacity: .5;
      }

.newsArchive .moreBtn button:disabled:hover{
          opacity: .5;
        }

@media (hover:hover) {
        .newsArchive .moreBtn button:hover{
          opacity: .8;
        }
      }

.newsArchive .moreBtn .postEnd{
      display: none;
    }

/* ==========================================================================
   プライバシーポリシー
========================================================================== */

body:has(.privacy-policyPage){
  background:#EF0302;
}

.privacy-policyPage .main{
    background: #fff;
  }

.privacy-policyPage .privacySec{
    max-width: 1000px;
    margin: 0 auto;
  }

.privacy-policyPage .privacySec .secTitle{
      margin-bottom: 49px;
    }

.privacy-policyPage .privacySec >p{
      color: #151515;
      font-size: 1.5rem;
      line-height: 1.6;
      font-weight: 300;
    }

.privacy-policyPage .privacySec .pvInnerSec{
      margin-top: 29px;
      color: #151515;
      font-size: 1.5rem;
      line-height: 1.6;
      font-weight: 300;
    }

.privacy-policyPage .privacySec .pvInnerSec >h2{
        min-height: 50px;
        border-radius: 10px;
        background: #EF0002;
        background: var(--red);
        color: #fff;
        display: flex;
        align-items: center;
        padding: 10px 20px;
        margin-bottom: 30px;
      }

.privacy-policyPage .privacySec .pvInnerSec >h2::before{
          content: '';
          background: url('../../img/key_icon.svg') no-repeat center center / contain;
          width: 25px;
          height: 25px;
          flex-shrink: 0;
          margin-right: 13px;
        }

.privacy-policyPage .privacySec .pvInnerSec >* + *{
        margin-top: 14px;
      }

.privacy-policyPage .privacySec .pvInnerSec ol{
        counter-reset: my-counter;
      }

.privacy-policyPage .privacySec .pvInnerSec ol li{
          text-indent: -1.8em;
          margin-left: 1.8em;
        }

.privacy-policyPage .privacySec .pvInnerSec ol li::before{
            content: counter(my-counter)'.';
            counter-increment: my-counter;
            margin-right:1em;
          }

.privacy-policyPage .privacySec .pvInnerSec ol .child{
          margin: 14px 0;
        }

.privacy-policyPage .privacySec .pvInnerSec address{
        font-style: normal;
        margin-top: 1.5em;
      }

/* ==========================================================================
   特定商取引法に基づく表記
========================================================================== */

body:has(.lawPage){
  background:#EF0302;
}

.lawPage .main{
    background: #fff;
  }

.lawPage .lawSec{
    max-width: 759px;
    margin: 0 auto;
  }

.lawPage .lawSec dl{
      margin-top: 48px;
      display: grid;
      grid-template-columns: 274px 1fr;
      gap:18px 20px;
    }

.lawPage .lawSec dt{
      text-align: right;
      font-size: 1.5rem;
      font-weight: 500;
    }

.lawPage .lawSec dd{
      font-weight: 300;
      font-size: 1.5rem;
      line-height: 1.6;
      color: #151515;
    }

/* ==========================================================================
   home
========================================================================== */

.homePage .mv{
    width: 100%;
    height: 100svh;
  }

.homePage .mv picture{
      display: inline;
    }

.homePage .mv img{
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
    }

.homePage .concept{
    margin-top: 77px;
  }

.homePage .concept >h2{
      text-align: center;
      font-size: 8.3rem;
      font-weight: 700;
      line-height: 1.48;
      margin-bottom: 33px;
    }

.homePage .concept p{
      font-size: 2.1rem;
      line-height: 1.9;
      text-align: center;
      font-weight: 700;
      letter-spacing: .1em;
    }

.homePage .concept .bigText{
      font-size: 4rem;
    }

/* display: flex;
      justify-content: center;
      align-items: center; */

.homePage .concept .bigText strong{
        font-weight: 900;
      }

.homePage .concept .bigText::after{
        content: '';
        width: 2em;
        height: 0.125em;
        background: #EF0002;
        background: var(--red);
        display: inline-block;
        margin-bottom: .25em;
      }

.homePage .concept p + p{
      margin-top: 29px;
    }

.homePage .concept .youtubeBox{
      margin-top: 75px;
    }

.homePage .homeSecTitle{
    font-size: 2.5rem;
    letter-spacing: .7em;
    font-weight: 700;
    text-align: center;
    line-height: 1.48;
  }

.homePage .homeSecTitle::before{
      content: attr(data-en);
      font-size: 6rem;
      letter-spacing: .3em;
      display: block;
      margin-bottom: 3px;
    }

.homePage .service{
    background: #F3F3F3;
    padding:70px 0 100px;
  }

.homePage .service .homeSecTitle{
      grid-column: 1 / 4;
      margin-bottom: 70px;
    }

.homePage .service .serviceRow::before{
        top: -10px;
        z-index: 1;
      }

.homePage .news{
    max-width: 1000px;
    margin: 70px auto 0;
  }

.homePage .news .homeSecTitle{
      margin-bottom: 70px;
    }

.homePage .news .newsBox{
      background-image : linear-gradient(to right, #707070 2px, transparent 2px);
      background-size: 3px 1px;
      background-repeat: repeat-x;
      background-position: left top;
    }

.homePage .news .newsBox a{
        padding: 30px 0;
        display: flex;
        align-items: center;
      }

.homePage .news .newsBox time{
        font-size: 1.6rem;
        font-weight: 700;
        flex-shrink: 0;
        margin-right: 57px;
      }

.homePage .news .newsBox h2{
        font-size: 1.8rem;
        line-height: 1.33;
        font-weight: 700;
      }

.homePage .news .newsBox:nth-last-of-type(1){
      background-image : linear-gradient(to right, #707070 2px, transparent 2px),linear-gradient(to right, #707070 2px, transparent 2px);
      background-size: 3px 1px;
      background-repeat: repeat-x;
      background-position: left top,left bottom;
    }

.homePage .news .more{
      margin: 50px auto 0;
      width: 300px;
      height: 65px;
      background: url('../../img/more_arrow.svg') no-repeat calc(100% - 23px) center / 10px auto;
      background-color: #EF0002;
      background-color: var(--red);
      border-radius: 60px;
      color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 2.2rem;
      font-weight: 700;
      letter-spacing: .1em;
    }

.homePage .company{
    margin-top: 100px;
  }

.homePage .company .homeSecTitle{
      margin-bottom: 69px;
    }

.homePage .ctaBox{
    margin-top: 100px;
  }

.homePage .contactSec{
    margin-top: 100px;
    background: #F3F3F3;
    padding: 70px 0 100px;
  }

.homePage .contactSec .homeSecTitle{
      margin-bottom: 68px;
    }

/* ==========================================================================
   end
========================================================================== */

.homePage{
  padding-bottom: 200px;
}

@media (max-width: 767px) {
  html{
    font-size: 2.5641vw;
    scroll-padding-top: 28.20513vw;
  }
body {
  min-width: 0;
	width:100%;
}
img{
	width: 100%;
}
.spShow{
	display: inline-block;
}
.pcShow{
	display: none;
}
/* ==========================================================================
   ヘッダー
========================================================================== */
  .header .menuBtn{
    width: 25.64103vw;
    height: 25.64103vw;
  }
    .header .menuBtn .lineBox{
      grid-template-columns: 14.35897vw;
      grid-template-rows: 0.25641vw 0.25641vw;
      gap: 3.58974vw 0;
      margin:0 auto 2.82051vw;
    }

/* ==========================================================================
   グローバルナビ
========================================================================== */
.gNav{
  height: 100svh;
  min-width: 0;
}
  .gNav::before{
    background: url('../../img/sp_navi_chara.png') no-repeat center center / contain;
    width: 38.97436vw;
    height: 38.97436vw;
    left: auto;
    right: 3.84615vw;
    margin-left: 0;
  }
    @media (max-height:550px) {
  .gNav::before{
      animation: none
  }
    }
    @media (max-height:calc(calc(650/390) * 100vw)) {
  .gNav::before{
      display: none
  }
    }
  .gNav .inner{
    width: 84.61538vw;
    min-height: 0;
    margin: 0 auto;
    height: auto;
    display: flex;
    flex-flow: column;
    grid-template-columns: 100%;
    align-content: start;
    justify-content: start;
    gap:0;
    text-align: left;
    padding: 15.38462vw 0 15.38462vw;
  }
  .gNav .home{
    grid-column: 1;
    text-align: left;
    margin-bottom: 8.46154vw;
  }
  .gNav .pageLink1{
    grid-column: 1;
  }
  .gNav .pageLink2{
    grid-column: 1;
    margin-top: 8.46154vw;
  }
  .gNav .pageOtherLink{
    grid-column: 1;
  }
  .gNav .pageLink{
    font-size: 2rem;
  }
    .gNav .pageLink li + li{
      margin-top: 8.46154vw;
    }
  .gNav .pageOtherLink{
    margin-top: 8.46154vw;
    font-size: 1.5rem;
  }
    .gNav .pageOtherLink li + li{
      margin-top: 8.71795vw;
    }
/* ==========================================================================
   footer
========================================================================== */
.footer{
  position: relative;
  color: #fff;
  padding: 6.92308vw 3.84615vw 1.28205vw;
}
    .footer .footerNav .pageLink{
      flex-flow: column;
      justify-content: flex-start;
      font-size: 1.6rem;
      gap:7.4359vw;
    }
    .footer .footerNav .pageOtherLink{
      margin-top: 8.46154vw;
      font-size: 1.4rem;
      gap:0 5.12821vw;
    }
  .footer .siteName{
    margin-top: 10.25641vw;
    font-size: 3.6rem;
  }
    .footer address .addr{
      line-height: 1.42;
    }
      .footer address .addr span{
        display: block;
      }
    .footer address .tel{
      font-size: 2.7rem;
    }
      .footer address .tel small{
        font-size: 1.4rem;
        padding-left: 2.5641vw;
      }
  .footer .copyright{
    margin-top: 9.74359vw;
  }
  .footer .pagetop{
    right: 1.53846vw;
    width: 37.4359vw;
    height: 37.4359vw;
  }
    .footer .pagetop:hover{
      opacity: 1;
    }
    .footer .pagetop::after{
      width: 30.76923vw;
      height: 21.28205vw;
      background: url('../../img/sp_page_top_fukidashi.png') no-repeat center center / contain;
      top: -15.89744vw;
      right: 0.76923vw;
    }
  .footer .stopBtn{
    position: absolute;
    top: 32.30769vw;
  }
/* ==========================================================================
   介護福祉士一発合格講座
========================================================================== */
  .ippatsuPage .whatIs{
    padding-top: 12.5641vw;
    padding: 12.5641vw 0;
    margin-bottom: 26.15385vw;
  }
    .ippatsuPage .whatIs::before{
      width: 128.20513vw;
      height: 25.33333vw;
      bottom: -12.5641vw;
    }
    .ippatsuPage .whatIs .toptext{
      margin-top: 4.61538vw;
    }
    .ippatsuPage .whatIs .youtubeBox{
      margin-top: 10.25641vw;
    }
    .ippatsuPage .whatIs .endText{
      margin: 4.10256vw auto 0;
      max-width: 92.30769vw;
      font-size: 1.6rem;
      line-height: 2;
    }
  .ippatsuPage .supportList{
    max-width: 92.30769vw;
    margin: 0 auto;
    padding: 10.76923vw 0 3.33333vw;
    display: grid;
    grid-template-columns: 100%;
    gap:0;
  }
    .ippatsuPage .supportList .secTitle{
      grid-column: 1;
      margin-bottom: 4.87179vw;
    }
    .ippatsuPage .supportList .supportItem{
      width: 76.92308vw;
      justify-self: center;
      border-radius: 5.12821vw;
      border: 2.05128vw solid #eeeeee;
      padding: 5.12821vw 1.53846vw 5.64103vw;
      text-align: center;
    }
      .ippatsuPage .supportList .supportItem h2{
        margin-bottom: 1.79487vw;
      }
        .ippatsuPage .supportList .supportItem h2::before{
          width: 20.51282vw;
          height: 20.51282vw;
          margin: 0 auto 3.84615vw;
        }
    .ippatsuPage .supportList .supportItem + .supportItem{
      margin-top: 5.12821vw;
    }
        .ippatsuPage .supportList .supportItem1 h2::before{
          background-size: 20.51282vw auto;
        }
        .ippatsuPage .supportList .supportItem2 h2::before{
          background-size: 20.51282vw auto;
        }
        .ippatsuPage .supportList .supportItem3 h2::before{
          background-size: 16.92308vw auto;
        }
        .ippatsuPage .supportList .supportItem4 h2::before{
          background-size: 19.48718vw auto;
        }
        .ippatsuPage .supportList .supportItem5 h2::before{
          background-size: 20.51282vw auto;
        }
        .ippatsuPage .supportList .supportItem6 h2::before{
          background-size: 17.94872vw auto;
        }
        .ippatsuPage .supportList .supportItem7 h2::before{
          background-size: 20.51282vw auto;
        }
        .ippatsuPage .supportList .supportItem8 h2::before{
          background-size: 16.92308vw auto;
        }
        .ippatsuPage .supportList .supportItem9 h2::before{
          background-size: 17.69231vw auto;
        }
    .ippatsuPage .supportList .notice{
      grid-column: 1;
      width: 76.92308vw;
      justify-self: center;
      text-indent: -1em;
      margin-left: 1em;
      margin-top: 2.5641vw;
    }
  .ippatsuPage .voice{
    max-width: 92.30769vw;
    margin: 17.94872vw auto;
  }
    .ippatsuPage .voice .row{
      margin-top: 12.5641vw;
      display: block;
      padding: 1.79487vw 1.79487vw 2.5641vw;
      border-radius: 5.12821vw;
    }
      .ippatsuPage .voice .row ul{
        gap:1.79487vw 0;
      }
      .ippatsuPage .voice .row .voice12{
        width: 48.71795vw;
      }
      .ippatsuPage .voice .row .voice13{
        width: 48.71795vw;
      }
      .ippatsuPage .voice .row .voice14{
        width: 57.17949vw;
      }
      .ippatsuPage .voice .row .voice15{
        width: 57.17949vw;
      }
      .ippatsuPage .voice .row .voice16{
        width: 61.79487vw;
      }
      .ippatsuPage .voice .row .voice17{
        width: 66.66667vw;
      }
      .ippatsuPage .voice .row .voice18{
        width: 48.97436vw;
      }
  .ippatsuPage .apply{
    max-width: 92.30769vw;
    margin: 12.82051vw auto;
    padding: 10.76923vw 0 5.64103vw;
  }
      .ippatsuPage .apply .secTitle span{
        font-size: 3.6rem;
      }
    .ippatsuPage .apply .toptext{
      margin: 4.10256vw auto 0;
      width:84.61538vw;
    }
    .ippatsuPage .apply .tokuten{
      margin: 9.48718vw auto 0;
      width: 82.05128vw;
      background: #F5F5F5;
      padding: 5.64103vw 0 7.4359vw;
      display: flex;
      flex-flow: column;
      align-items: center;
    }
        .ippatsuPage .apply .tokuten >h2::before{
          width: 25.38462vw;
          height: 25.38462vw;
          margin: 0 auto 2.5641vw;
        }
      .ippatsuPage .apply .tokuten p{
        margin-top: 0.51282vw;
        line-height: 1.54;
        width: -moz-max-content;
        width: max-content;
      }
        .ippatsuPage .apply .tokuten p strong{
          font-size: 2.8rem;
          font-weight: 500;
        }
          .ippatsuPage .apply .tokuten p strong span{
            font-size: 3.2rem;
          }
        .ippatsuPage .apply .tokuten p strong:nth-child(2){
          padding-left: 0;
        }
        .ippatsuPage .apply .tokuten p >span{
          font-size: 2.4rem;
        }
    .ippatsuPage .apply .row{
      width: 76.92308vw;
      margin: 2.5641vw auto 0;
      display: grid;
      grid-template-columns: 100%;
      gap:2.5641vw 0;
    }
    .ippatsuPage .apply .tokutenSec{
      border-radius: 5.12821vw;
      border: 2.05128vw solid #eeeeee;
      padding: 5.12821vw 1.53846vw 5.64103vw;
    }
      .ippatsuPage .apply .tokutenSec h2{
        margin-bottom: 1.53846vw;
      }
        .ippatsuPage .apply .tokutenSec h2::before{
          width: 20.76923vw;
          height: 20.76923vw;
          margin: 0 auto 1.79487vw;
        }
        .ippatsuPage .apply .tokutenSec1 h2::before{
          background-size: 17.94872vw auto;
        }
        .ippatsuPage .apply .tokutenSec2 h2::before{
          background-size: 16.41026vw auto;
        }
        .ippatsuPage .apply .tokutenSec3 h2::before{
          background-size: 20.76923vw auto;
        }
        .ippatsuPage .apply .tokutenSec4 h2::before{
          background-size:16.66667vw auto;
        }
        .ippatsuPage .apply .tokutenSec5 h2::before{
          background-size:17.94872vw auto;
        }
        .ippatsuPage .apply .tokutenSec6 h2::before{
          background-size:17.94872vw auto;
        }
        .ippatsuPage .apply .tokutenSec7 h2::before,.ippatsuPage .apply .tokutenSec8 h2::before,.ippatsuPage .apply .tokutenSec9 h2::before{
          background-size:19.48718vw auto;
        }
/* ==========================================================================
   cta
========================================================================== */
.ctaBox{
  max-width: 92.30769vw;
  min-height: 135.89744vw;
  border-radius: 5.12821vw;
  background: url('../../img/sp_cta_chara.png') no-repeat center bottom / 49.23077vw auto;
  background-color: #fff;
  border: 2.05128vw solid #03C153;
  box-shadow: 0px 3.07692vw 3.07692vw rgba(0, 0, 0, 0.16);
  position: relative;
  padding: 4.35897vw 0 0 0;
  text-align: center;
  display: block;
}
  .ctaBox::before{
    width: calc(100% + 4.61538vw);
    height: calc(100% + 4.61538vw);
    border-radius: 5.12821vw;
    position: absolute;
    top: -2.30769vw;
    left:-2.30769vw;
  }
  .ctaBox .inner{
    display: flex;
    flex-flow: column;
    align-items: flex-start;
  }
  .ctaBox h2{
    font-size: 2.6rem;
    line-height: 1.23;
    margin-left: 44px;
  }
  .ctaBox p{
    width: -moz-max-content;
    width: max-content;
    margin-top: 2.5641vw;
    color: #111111;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.22;
    position: relative;
  }
    .ctaBox p .fukidashi{
      width: 14.35897vw;
      height: 10vw;
      font-size: 1rem;
      line-height: 1;
      display: flex;
      align-items: center;
      position: absolute;
      top: -3.58974vw;
      left: 3.84615vw;
    }
      .ctaBox p .fukidashi >span{
        rotate:-10deg;
        padding-left: 2.5641vw;
      }
      .ctaBox p .fukidashi .line{
        font-size: 1.2rem;
      }
    .ctaBox p strong{
      font-size: 2.8rem;
    }
      .ctaBox p strong .small{
        font-size: 2.6rem;
      }
      .ctaBox p strong .small.wo{
        font-size: 2rem;
        display: inline-block;
        margin-left: -.5em;
      }
      .ctaBox p strong .border{
        position: relative;
      }
        .ctaBox p strong .border::after{
          width: 80.43333vw;
          height: 3.07692vw;
          border-radius: 3.07692vw;
          bottom: -2.5641vw;
          left: -2.05128vw;
        }
  .ctaBox a{
    margin: 6.41026vw auto 0;
    width: 76.92308vw;
    height: 15.38462vw;
    background: url('../../img/cta_arrpw.svg') no-repeat calc(100% - 3.07692vw) center / 3.84615vw auto;
    background-color: #53B735;
    border-radius: 15.38462vw;
    font-size:1.8rem;
  }
/* ==========================================================================
   介護向上研究会
========================================================================== */
  .kkkPage .main{
    background: #fff;
  }
  .kkkPage .whatIs{
    padding-top: 12.5641vw;
  }
    .kkkPage .whatIs .toptext{
      margin-top: 4.61538vw;
    }
    .kkkPage .whatIs .youtubeBox{
      margin-top: 10.25641vw;
    }
    .kkkPage .whatIs .endText{
      margin: 4.10256vw auto 0;
      max-width: 92.30769vw;
      font-size: 1.6rem;
      line-height: 2;
    }
    .kkkPage .whatIs .notice{
      max-width: 92.30769vw;
      margin: 0 auto;
      font-size: 1.6rem;
    }
  .kkkPage .activity{
    max-width: 92.30769vw;
    margin: 30.51282vw auto 0;
    padding: 10.76923vw 0 5.64103vw;
  }
    .kkkPage .activity .toptext{
      font-size: 1.6rem;
      line-height: 2;
      margin-top: 4.87179vw;
    }
    .kkkPage .activity ul{
      width: 84.61538vw;
      margin: 7.69231vw auto 0;
      grid-template-columns: 100%;
      gap:5.12821vw 0;
    }
      .kkkPage .activity ul .img{
        border: 2.05128vw solid #EEEEEE;
        border-radius: 5.12821vw;
      }
      .kkkPage .activity ul figcaption{
        margin-top: 2.5641vw;
      }
  .kkkPage .about{
    max-width: 92.30769vw;
    margin: 12.82051vw auto 0;
    padding: 10.76923vw 1.79487vw 5.64103vw;
    display: flex;
    flex-flow: column;
    align-items: center;
  }
    .kkkPage .about .secTitle{
      width: -moz-max-content;
      width: max-content;;
    }
    .kkkPage .about .catch{
      margin-top: 5.12821vw;
      font-size: 2.6rem;
      line-height: 1.23;
    }
    .kkkPage .about .inner{
      margin-top: 4.87179vw;
    }
      .kkkPage .about .inner h2{
        text-align: center;
      }
      .kkkPage .about .inner h2 + p{
        text-align: center;
      }
      .kkkPage .about .inner dl{
        margin-top: 7.69231vw;
      }
        .kkkPage .about .inner dl dt{
          margin-bottom: 1.28205vw;
        }
        .kkkPage .about .inner dl dt:not(:first-child){
          margin-top: 2.5641vw;
        }
  .kkkPage .ctaBox{
    margin-top: 12.82051vw;
  }
/* ==========================================================================
   研修／講演
========================================================================== */
  .seminarPage .whatIs{
    padding-top: 12.5641vw;
    padding: 12.5641vw 0;
    margin-bottom: 26.15385vw;
  }
    .seminarPage .whatIs::before{
      width: 128.20513vw;
      height: 25.33333vw;
      bottom: -12.5641vw;
    }
    .seminarPage .whatIs .toptext{
      margin-top: 4.61538vw;
    }
    .seminarPage .whatIs .youtubeBox{
      margin-top: 10.25641vw;
    }
    .seminarPage .whatIs .endText{
      margin: 4.10256vw auto 0;
      max-width: 92.30769vw;
      font-size: 1.6rem;
      line-height: 2;
    }
  .seminarPage .feature{
    max-width: 92.30769vw;
    padding: 11.28205vw 0 5.64103vw;
    display: grid;
    grid-template-columns: 100%;
    gap:0;
  }
    .seminarPage .feature .secTitle{
      font-size: 3.8rem;
      grid-column: 1;
      margin-bottom: 7.69231vw;
    }
    .seminarPage .feature .pointSec{
      justify-self: center;
      width: 76.92308vw;
      border-radius: 5.12821vw;
      border: 2.05128vw solid #eeeeee;
      padding: 0 1.28205vw 4.35897vw;
    }
        .seminarPage .feature .pointSec header .num{
          margin-top: 6.66667vw;
        }
        .seminarPage .feature .pointSec header h2{
          margin-top: 2.82051vw;
        }
      .seminarPage .feature .pointSec >p{
        margin-top: 1.79487vw;
      }
    .seminarPage .feature .pointSec + .pointSec{
      margin-top: 3.07692vw;
    }
  .seminarPage .about{
    max-width: 92.30769vw;
    margin: 12.82051vw auto 0;
    padding: 11.28205vw 0 5.64103vw;
    grid-template-columns: 100%;
    gap:2.82051vw 0;
  }
    .seminarPage .about .secTitle{
      grid-column: 1;
      margin-bottom: 0;
      font-size: 3.8rem;
    }
    .seminarPage .about .aboutSec{
      width: 76.92308vw;
      justify-self: center;
      border-radius: 5.12821vw;
      border: 2.05128vw solid #eeeeee;
      padding: 5.12821vw 1.79487vw 6.41026vw;
    }
        .seminarPage .about .aboutSec h2::before{
          width: 20.76923vw;
          height: 20.76923vw;
          margin: 0 auto 2.82051vw;
        }
      .seminarPage .about .aboutSec >p{
        margin-top: 3.07692vw;
      }
        .seminarPage .about .aboutSec1 h2::before{
          background-size: 17.17949vw auto;
        }
        .seminarPage .about .aboutSec2 h2::before{
          background-size: 16.41026vw auto;
        }
        .seminarPage .about .aboutSec3 h2::before{
          background-size: 20.25641vw auto;
        }
        .seminarPage .about .aboutSec4 h2::before{
          background-size: 20.51282vw auto;
        }
        .seminarPage .about .aboutSec5 h2::before{
          background-size: 19.48718vw auto;
        }
        .seminarPage .about .aboutSec6 h2::before{
          background-size: 17.69231vw auto;
        }
        .seminarPage .about .aboutSec7 h2::before{
          background-size: 19.74359vw auto;
        }
        .seminarPage .about .aboutSec8 h2::before{
          background-size: 18.71795vw auto;
        }
        .seminarPage .about .aboutSec9 h2::before{
          background-size: 17.17949vw auto;
        }
  .seminarPage .achievements{
    max-width: 92.30769vw;
    margin: 12.82051vw auto 0;
    padding: 10.76923vw 1.79487vw 5.38462vw;
    grid-template-columns: 100%;
    background: #fff;
  }
    .seminarPage .achievements .secTitle{
      grid-column: 1;
      margin-bottom: 7.4359vw;
    }
      .seminarPage .achievements .innerSec h2{
        width: 39.74359vw;
        height: 12.82051vw;
        border-radius: 6.41026vw;
        border: 0.51282vw solid #EF0002;
        border: 0.51282vw solid var(--red);
        margin-bottom: 5.12821vw;
      }
    .seminarPage .achievements .innerSec + .innerSec{
      margin-top: 7.4359vw;
    }
  .seminarPage .profile{
    max-width: 92.30769vw;
    margin: 12.82051vw auto 0;
    padding: 10.76923vw 0 83.84615vw;
  }
    .seminarPage .profile .innerSec{
      margin-top: 5.64103vw;
    }
      .seminarPage .profile .innerSec >header{
        padding-left: 2.82051vw;
      }
      .seminarPage .profile .innerSec .name{
        margin-bottom: 3.84615vw;
        width: -moz-max-content;
        width: max-content;
      }
      .seminarPage .profile .innerSec >p{
        max-width: 84.61538vw;
        margin: 5.89744vw 0 0 2.82051vw;
        text-align: justify;
      }
      .seminarPage .profile .innerSec .ph{
        width: 92.30769vw;
        right: -4.35897vw;
      }
  .seminarPage .contactSec{
    margin-top: 12.82051vw;
    padding: 17.94872vw 0;
  }
    .seminarPage .contactSec .secTitle{
      margin-bottom: 12.5641vw;
    }
/* ==========================================================================
   株式会社てっちゃんについて
========================================================================== */
  .aboutPage .pageTitle{
    letter-spacing: -.05em;
  }
    .aboutPage .pageTitle span{
      font-size: 4.3rem;
    }
  .aboutPage .message{
     padding-top: 14.35897vw;
  }
    .aboutPage .message >header{
      display: flex;
      flex-flow: column;
      align-items: center;
    }
      
      .aboutPage .message >header::before{
        display: none;
      }
      .aboutPage .message >header p{
        width: -moz-max-content;
        width: max-content;
        font-size: 3.8rem;
        margin-top: 6.66667vw;
      }
    .aboutPage .message >p{
      font-size: 1.6rem;
      line-height: 2;
      max-width: 92.30769vw;
      margin: 5.38462vw auto 0;
    }
    .aboutPage .message .youtubeBox{
      max-width: 92.30769vw;
      margin: 6.41026vw auto 0;
    }
  .aboutPage .comapny{
    margin-top: 12.82051vw;
    background: #F3F3F3;
    padding: 17.94872vw 0 12.82051vw;
  }
    .aboutPage .comapny .comapnyDL{
      margin-top: 7.4359vw;
    }
    
    .aboutPage .comapny .profile{
      max-width: 92.30769vw;
      margin: 12.82051vw auto 0;
      padding: 10.76923vw 0 83.84615vw;
    }
      .aboutPage .comapny .profile .innerSec{
        margin-top: 5.64103vw;
      }
        .aboutPage .comapny .profile .innerSec >header{
          padding-left: 2.82051vw;
        }
        .aboutPage .comapny .profile .innerSec .name{
          margin-bottom: 3.84615vw;
          width: -moz-max-content;
          width: max-content;
        }
        .aboutPage .comapny .profile .innerSec >p{
          max-width: 84.61538vw;
          margin: 5.89744vw 0 0 2.82051vw;
          text-align: justify;
        }
        .aboutPage .comapny .profile .innerSec .ph{
          width: 92.30769vw;
          right: -4.35897vw;
        }
    .aboutPage .service .secTitle{
      grid-column: 1;
      margin-bottom: 53.33333vw;
    }
  .aboutPage .contactSec{
    margin-top: 12.82051vw;
    padding: 17.94872vw 0;
  }
    .aboutPage .contactSec .secTitle{
      margin-bottom: 12.5641vw;
    }
/* ==========================================================================
   お知らせ
========================================================================== */
  .newsArchive .newsRow{
    max-width: 92.30769vw;
    margin: 12.5641vw auto 0;
  }
    .newsArchive .newsBox .newsHeader{
      display: block;
      padding: 3.58974vw 5.12821vw;
      min-height: 28.20513vw;
      border-radius: 2.5641vw;
      margin-bottom: 7.69231vw;
    }
      .newsArchive .newsBox .newsHeader time{
        margin: 0 0 0.51282vw;
        line-height: 1.25;
      }
      .newsArchive .newsBox .newsHeader h2{
        line-height: 1.44;
      }
  .newsArchive .newsBox + .newsBox{
    margin-top: 12.5641vw;
  }
  .newsArchive .moreBtn{
    margin: 12.5641vw auto 0;
    max-width: 84.61538vw;
  }
    .newsArchive .moreBtn button{
      height: 19.23077vw;
      padding: 0 0 1.79487vw;
      font-size: 2rem;
    }
/* ==========================================================================
   プライバシーポリシー
========================================================================== */
  .privacy-policyPage .privacySec{
    max-width: 92.30769vw;
  }
    .privacy-policyPage .privacySec .secTitle{
      margin-bottom: 7.17949vw;
    }
    .privacy-policyPage .privacySec .pvInnerSec{
      margin-top: 7.4359vw;
    }
      .privacy-policyPage .privacySec .pvInnerSec >h2{
        min-height: 12.82051vw;
        border-radius: 2.5641vw;
        padding: 2.5641vw 5.12821vw;
        margin-bottom: 7.69231vw;
      }
        .privacy-policyPage .privacySec .pvInnerSec >h2::before{
          width: 6.41026vw;
          height: 6.41026vw;
          margin-right: 3.33333vw;
        }
      .privacy-policyPage .privacySec .pvInnerSec >* + *{
        margin-top: 3.58974vw;
      }
        .privacy-policyPage .privacySec .pvInnerSec ol .child{
          margin: 3.58974vw 0;
        }
/* ==========================================================================
   特定商取引法に基づく表記
========================================================================== */
  .lawPage .lawSec{
    max-width: 92.30769vw;
  }
    .lawPage .lawSec dl{
      margin-top: 7.17949vw;
      grid-template-columns: 29.23077vw 1fr;
      gap:4.87179vw;
    }
    .lawPage .lawSec dt{
      line-height: 1.6;
    }
/* ==========================================================================
   home
========================================================================== */
  .homePage .concept{
    margin-top: 17.94872vw;
  }
    .homePage .concept >h2{
      font-size: 4rem;
      margin-bottom: 4.87179vw;
    }
    .homePage .concept p{
      width: 92.30769vw;
      margin-inline:auto;
      font-size: 1.6rem;
      line-height: 2.1;
    }
    .homePage .concept .bigText{
      width: -moz-max-content;
      width: max-content;
      font-size: 3rem;
      line-height: 1.33;
    }
    .homePage .concept p + p{
      margin-top: 4.87179vw;
    }
    .homePage .concept .youtubeBox{
      margin-top: 8.20513vw;
    }
  .homePage .homeSecTitle{
    font-size: 2rem;
  }
    .homePage .homeSecTitle::before{
      font-size: 4rem;
      margin-bottom: 1.02564vw;
    }
  .homePage .service{
    padding:17.94872vw 0 12.82051vw;
  }
    .homePage .service .homeSecTitle{
      grid-column: 1;
      margin-bottom: 35.12821vw;
    }
      .homePage .service .serviceRow::before{
        width: 43.58974vw;
        height: 43.58974vw;
        top: 15.38462vw;
        z-index: 1;
      }
  .homePage .news{
    max-width: 92.30769vw;
    margin: 17.94872vw auto 0;
  }
    .homePage .news .homeSecTitle{
      margin-bottom: 12.82051vw;
    }
    .homePage .news .newsBox{
       background-image : linear-gradient(to right, #707070 0.51282vw, transparent 0.51282vw);
      background-size: 0.76923vw 0.25641vw;
    }
      .homePage .news .newsBox a{
        padding: 5.12821vw 0;
      }
      .homePage .news .newsBox time{
        margin-right: 10.25641vw;
      }
    .homePage .news .newsBox:nth-last-of-type(1){
      background-image : linear-gradient(to right, #707070 0.51282vw, transparent 0.51282vw),linear-gradient(to right, #707070 0.51282vw, transparent 0.51282vw);
      background-size: 0.76923vw 0.25641vw;
    }
    .homePage .news .more{
      margin: 12.82051vw auto 0;
      width: 66.66667vw;
      height: 16.66667vw;
      background: url('../../img/more_arrow.svg') no-repeat calc(100% - 5.89744vw) center / 2.5641vw auto;
      background-color: #EF0002;
      background-color: var(--red);
      border-radius: 15.38462vw;
      font-size: 1.8rem;
    }
  .homePage .company{
    margin-top: 17.94872vw;
  }
    .homePage .company .homeSecTitle{
      margin-bottom: 12.82051vw;
    }
  .homePage .ctaBox{
    margin-top: 15.38462vw;
  }
  .homePage .contactSec{
    margin-top: 12.82051vw;
    padding: 17.94872vw 0;
  }
    .homePage .contactSec .homeSecTitle{
      margin-bottom: 7.69231vw;
    }
/*end*/
}