@charset "UTF-8";
/* **************ここはPC版********************** */
html {
   scroll-behavior: smooth;
}
body {
   -webkit-text-size-adjust: 100%;
   color: #414141;
   font-family: "Noto Sans JP", sans-serif;
   font-size: 16px;
   font-weight: 300;
   letter-spacing:0;
}
h3{
   font-size: 21px;
   font-weight: 500;
   line-height: 1.3;
   letter-spacing: 0;
}
p{
   line-height: 1.5;
   font-size: 19px;
}
a{
   font-size: 19px;
}
a.arrow{
   line-height: 2;
   font-size: 16px;
   letter-spacing: 0;
   text-decoration: underline;
}
a.arrow::after{
   content: url(../img/link.svg);
   padding-left: 5px;
   width: 20px;
   height: auto;
   display: inline-block;
}
figcaption{
   font-size: 16px;
   line-height: 1.8;
}
figcaption > span{
   display: block;
   font-weight: 500;
   margin-bottom: 5px;
}
h2 + p,
h3 + p{
   margin-top: 5px;
}
h3 + figure{
   margin-top: 10px;
   line-height: 1.1;
}
p + p{
   margin-top: 10px;
}
dt{
   font-weight: 400;
}
dd{
   font-size: 18px;
   font-weight: 400;
}
small{
   font-size: 75%;
}
details{
   line-height: 1.6;
   font-size: 14px;
   text-align: left;
}
summary{
   margin-block: 20px 10px;
   text-align: center;
   font-weight: 400;
   cursor: pointer;
}
button{
   box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
   padding-inline: 20px;
   margin-bottom: 3px;
}
button:hover{
   box-shadow: none;
   opacity: 0.8;
}
.font-size_small{
   font-size: 14px;
}
.font-size_medium{
   font-size: 28px;
   line-height: 1.4;
}
.font-size_large{
   font-size: 36px;
   line-height: 1.4;
}

.text-comment{
   position: relative;
   text-align: center;
   margin-block: 100px 50px;
   width: fit-content;
   margin-inline: auto;
   padding: 10px 40px;
}

.text-comment p::before,
.text-comment p::after{
	content: '';
	width: 30px;
	height: 30px;
	position: absolute;
}

.text-comment p::before{
	border-left: solid 2px #000000;
	border-top: solid 2px #000000;
	top: 0;
	left: 0;
}
.text-comment p::after{
	border-right: solid 2px #000000;
	border-bottom: solid 2px #000000;
	bottom: 0;
	right: 0;
}

.closed{
   font-size: 15px;
   font-weight: 500;
   letter-spacing: 0;
}

.open{
	font-size: 21px;
   font-weight: 500;
   color: #c03d3d;
}

.visually-hidden{
   clip: rect(0 0 0 0);
   clip-path: inset(50%);
   height: 1px;
   overflow: hidden;
   position: absolute;
   white-space: nowrap;
   width: 1px;
}
.all-wrap {
   background-image: url(../img/kv-img.jpg);
   background-size: cover;
   background-repeat: no-repeat;
   background-size: 100%;
   overflow: hidden;
   width: 100%;
   margin-top: -110px;
}
.all-wrap.no-bg{
   background-image:none;
   background-color: #fff;
}
.bg-video{
 right: 0;
 bottom: 0;
 min-width: 100%;
 min-height: 100%;
 width: auto;
 height: auto;
 z-index: -100;
 background-size: cover;
}

.section-inner {
   background-size: cover;
   margin-top: 150px;
   width: 100%;
   max-width: 1000px;
   margin-inline: auto;
   background-color: #fff;
   border-radius: 20px;   
}
.ttl {
   font-size: 46px;
   text-align: center;
}
.line-hight_2{
   line-height: 2;
}
.line-hight_3{
   line-height: 3;
   font-weight: 400;
}
/*width*/
.width-full{
   width: min(100% - 4rem);
   margin-inline:auto ;
   text-align: center;
}
.width-fitcontent{
   width: fit-content;
   margin-inline:auto ;
}
.width-large{
   margin-inline: auto;
   width: min(100%, 1200px);
}
.width-medium{
   margin-inline: auto;
   width: min(100%, 1000px);
}
.width-small{
   margin-inline: auto;
   width: min(100%, 800px);
}
/*スペース*/
img + figcaption{
   margin-top: 10px;
}
/*テキストデザイン*/
.text-align_center,
.text-align_center_repeat *{
   text-align: center;
}
.text-align_left_repeat *{
   text-align: left;
}
/* header style */
.header {
   align-items: center;
   background-color: #414141;
   box-shadow: 0px 3px 9px rgba(30, 30, 30, 0.3);
   display: flex;
   font-size: 14px;
   gap: 5rem;
   height: 60px;
   position: fixed;
   width: 100%;
   z-index: 998;
   position: relative;
}
.header button{
   box-shadow: none;
}
.header img {
    object-fit: cover;
    width: 100px;
    position: absolute;
    left: 20px;
    top: 15px;
}
.header-icon {
   margin-left: 25px;
   width: 100px;
}
.header-nav {
   margin-inline: auto;
   padding: 0 50px 0 0;
}
.header-list {
   color: #fff;
   display: flex;
   flex-direction: row;
   gap: 30px;
   justify-content: space-around;
   margin-left:100px;
}
.header-list a{
   font-size: 15px;
}
.header-item {
   transition: 0.5s;
}
.header-item:hover {
   color: #5c85aa;
   text-decoration: none;
}
 #header.fixed{
   position: fixed;
   z-index: 999;
   top:0;
   left:0;
 }
.sub-nav{
   height: 50px;
   padding-block: 11px;
   padding-inline: 10px;
   width: 100%;
   z-index: 100;
   position: relative;
}
.sub-nav .innerbox-sub{
  background-color: transparent;
  right: 20px;
  position:absolute;
}
.sub-nav figure{
   display: inline-block;
   width: 100px;
}
.sub-nav div{
   display: inline-flex;
   /* float: right; */
   gap: 20px;
}
.sub-nav div button{
   font-size: 13px;
   line-height: 1;
   padding-block: 8px;
   padding-inline: 20px;
   width: fit-content;
   border-radius: 10px;
   background-color: rgba(255, 255, 255, 1.0);
   color: rgb(0, 0, 0, 1.0);
   font-weight: 500;
}
.sub-nav div button:hover{
   background-color: rgba(255, 255, 255, 0.5);
   color: rgb(0, 0, 0, 1.0);
}


/* kv style */
.kv {
   height: 100vh;
   width: 100%;
   background-position-y: -100px;
}
.kv-section-wrap {
   height: 100vh;
   position: relative;
   width: 100%;
}
.kv-wrap {
   -ms-transform: translate(-50%, -50%);
   -webkit-transform: translate(-50%, -50%);
   align-items: center;
   display: flex;
   justify-content: center;
   left: 50%;
   position: absolute;
   top: 55%;
   transform: translate(-50%, -50%);
   width: 75%;
}
.kv-msg{
   color: #fff;
   font-size: 50px;
   font-weight: 200;
}

.kv-msg-sub {
   color: #5c85aa;
   font-size: 88px;
   font-weight: bolder;
}
.kv-msg-sub-white {
   color: #fff;
   font-size: 88px;
}
.name-wrap {
   margin: 30px;
   padding-top: 5%;
}
.kv-name {
   color: #fff;
   font-size: 160px;
   font-weight: lighter;
}
.kv-btn-wrap {
   display: grid;
   gap: 20px;
   grid-template-columns: 1fr 1fr;
   margin-inline: auto;
   width: min(100%, 600px);
}
.kv-btn-wrap button{
   border-radius: 10px;
   font-weight: 400;
   padding-block: 15px;
   text-align: center;
   width: 100%;
}
.kv-btn-wrap button:hover{
   box-shadow:none;
}
.kv-btn-wrap button:first-child{
   background-color: #5c85aa;
   color: #fff;
}
.kv-btn-wrap button:first-child:hover{
   background-color: rgba(92, 133, 170,0.6);
   color: #fff;
}
.kv-btn-wrap button:nth-child(2){
   background-color: #fff;
   color: #000;
}
.kv-btn-wrap button:nth-child(2):hover{
   background-color: rgb(255,255,255,0.5);
   color: #000;
}
.kv-btn {
   -ms-transform: translate(-50%, -50%);
   -webkit-transform: translate(-50%, -50%);
   background-color: #c9ff00;
   border-radius: 30rem;
   border: 1px solid #c9ff00;
   box-shadow: 0px 5px 12px rgba(30, 30, 30, 0.7);
   display: inline-block;
   font-weight: bold;
   left: 50%;
   padding: 16px 64px;
   position: absolute;
   top: 50%;
   transform: translate(-50%, -50%);
   transition: 0.3s;
}
.kv-btn::before {
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   transition: 0.3s;
   width: 0;
   z-index: 1;
}
.kv-btn:hover::before {
   width: 100%;
}
.kv-btn:hover {
   background-color: #5c85aa;
   border: 1px solid #5c85aa;
   color: #fff;
}
.kv-icon {
   height: auto;
   margin-inline: auto;
   width: 30vw;
}
.kv-text{
   color: #fff;
   line-height: 1.5;
   margin-top: 10px;
   text-align: center;
   white-space: nowrap;
   font-size: 24px;
   text-align: center;
}
.kv-notice{
   bottom: 4vh;
   color: rgba(255, 255, 255, 0.7);
   font-size: 13px;
   left: 50%;
   transform: translate(-50%, -50%);
   -webkit-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
   position: absolute;
   text-align: left;
   border-left: 1px solid rgba(255, 255, 255, 0.7);
   padding-inline: 20px;
   border-right: 1px solid rgba(255, 255, 255, 0.7);
}

/* km style */
.km-content-img-1 {
   filter: drop-shadow(2px 2px 10px #414141);
   height: 560px;
   object-fit: cover;
   object-position: 60% 45%;
   width: 100%;
}
.km-content-img-2 {
   filter: drop-shadow(2px 2px 10px #414141);
   height: 560px;
   margin-bottom: 60px;
   object-fit: cover;
   object-position: 0 100%;
   width: 100%;
}
.km-content {
   text-align: center;
}
.km-ttl {
   line-height: 1.4;
   margin-top: 60px;
   color: #000;
   width: fit-content;
   margin-inline: auto;
}
.km-ttl span{
   font-size: 60%;
   letter-spacing: 0;
}
.txt {
   line-height: 1.6;
   margin: 60px auto;
}

*[class*="subtext"]{
   position: relative;
}
*[class*="subtext"]:before{
   position: absolute;
   content: '（スコープエックス）';
   font-size: 33%;
   top: -14px;
}
.subtext01:before{
   left: 0;
}
.subtext02:before{
   left: 88px;
}


/* pd style */
.pd {
   background-size: cover;
   margin-block: 100px;
}
.breadcrumb + .pd{
   margin-top: 100px;
}

.pd-ttl {
   border-bottom: 1px solid #5c85aa;
   margin: 0 auto;
   padding-top: 40px;
   padding-bottom: 20px;
   width: fit-content;
   line-height: 1.4;
}

.pd .pd-ttl{
   padding-top: 0;
}
.pd-ttl span{
   font-size: 40%;
   letter-spacing: 0;
   font-weight: 400;
}
.pd-wrap {
   margin-top: 60px;
}
.pd-list {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-around;
   margin: 0 auto;
   width: 70%;
}
.pd-item {
   background: #fff;
   border: 1px solid #414141;
   box-sizing: content-box;
   height: 300px;
   margin-top: 30px;
   padding: 30px;
   text-align: center;
   width: 460px;
}
.pd-item-ttl {
   font-size: 32px;
   font-weight: bold;
   padding: 15px;
}
.pd-item-img {
   height: 80px;
   width: 100px;
}
.pd-item-txt {
   font-size: 16px;
   line-height: 30px;
   padding-top: 16px;
   text-align: left;
}
/* sd style */
.sd {
   color: #fff;
   margin: 0 auto;
}
.sd-all-wrap {
   margin-top: 120px;
   padding: 120px;
}
.sd-ttl {
   font-size: 50px;
   line-height: 100px;
   margin: 60px auto;
   padding: 0% auto;
   text-align: center;
}
.sd-txt {
   font-size: 24px;
   line-height: 72px;
   margin: 60px auto;
   text-align: center;
}
.sd-wrap {
   display: flex;
   justify-content: space-around;
   margin: 0 auto;
   text-align: center;
   width: 1200px;
}
.sd-item {
   background-color: #414141;
   border: 1px solid #414141;
   box-sizing: content-box;
   height: 650px;
   margin: 30px;
   width: 312px;
}
.sd-item-nb {
   color: #5c85aa;
   font-size: 228px;
   padding: 10% auto;
}
.sd-item-ttl {
   display: inline-block;
   font-size: 24px;
   line-height: 50px;
   margin: 30px;
   position: relative;
}
.sd-item-ttl:before {
   bottom: -15px;
   content: "";
   display: inline-block;
   height: 1px;
   left: 50%;
   position: absolute;
   transform: translate(-50%);
   width: 103px;
}
.sd-item-txt {
   font-size: 16px;
   line-height: 40px;
   margin: 30px;
}
/* sf style */
.sf {
   margin: 60px auto;
   position: relative;
}
.sf-ttl {
   border-bottom: 1px solid #5c85aa;
}
.sf-wrapper {
   display: flex;
   justify-content: space-around;
}
.sf-item {
   align-items: center;
   margin: 60px auto;
   text-align: center;
}
.sf-icon {
   height: 100px;
   width: 128px;
}
.sf-icon-wrapper {
   align-items: center;
   display: flex;
   justify-content: space-around;
   text-align: center;
}
.sf-txt span{
   color:#5c85aa;
   font-size: 21px;
   font-weight: 700;
}

.material-symbols-outlined {
   color: #5c85aa;
   font-variation-settings: "FILL"0, "wght"400, "GRAD"0, "opsz"48;
   font-weight: bold;
}
.sb-btn {
   background-color: #c9ff00;
   border-radius: 30rem;
   border: 1px solid #c9ff00;
   box-shadow: 1px 1px 2px #414141;
   box-shadow: 1px 1px 2px #fff;
   display: inline-block;
   font-weight: bold;
   left: 36%;
   margin: 30px auto;
   padding: 16px 64px;
   position: absolute;
   top: 90%;
   transition: 0.3s;
}
.sb-btn::before {
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   transition: 0.3s;
   width: 0;
   z-index: -1;
}
.sb-btn:hover::before {
   width: 100%;
}
.sb-btn:hover {
   background-color: #5c85aa;
   border: 1px solid #5c85aa;
   color: #fff;
}
/* pt style */
.pt {
   /* background-image: url(../img/pt-bg.svg); */
   background-size: cover;
   color: #fff;
   filter: drop-shadow(2px 2px 10px #414141);
   height: 1500px;
   padding: 240px;
   position: relative;
}
.pt-section-wrap {
   margin: 0 auto;
   padding-top: 240px;
   width: 100%;
}
.pt-ttl {
   border-bottom: 1px solid #5c85aa;
   font-size: 52px;
   margin: 0 auto;
   text-align: center;
   width: 30%;
}
.pt-item-wrapper {
   -ms-transform: translate(-50%, 0%);
   -webkit-transform: translate(-50%, 0%);
   bottom: 0%;
   display: flex;
   left: 50%;
   position: absolute;
   transform: translate(-50%, 0%);
}
.pt-item-ss, .pt-item-sd, .pt-item-ep {
   height: 780px;
   width: 320px;
}
.pt-item-ss {
   margin-top: 30px;
   z-index: 887;
}
.pt-pop-ss {
   background-color: transparent;
   border: 1px solid transparent;
   height: 48px;
   margin: 30px;
   text-align: center;
   width: 240px;
}
.pt-item-sd {
   z-index: 888;
}
.pt-pop-sd {
   background-color: #c9ff00;
   border: 1px solid #c9ff00;
   color: #414141;
   font-weight: bold;
   height: 48px;
   margin: 30px;
   text-align: center;
   width: 240px;
}
.pt-item-ep {
   margin-top: 30px;
   z-index: 1;
}
.pt-pop-ep {
   background-color: #c9ff00;
   border: 1px solid #c9ff00;
   color: #414141;
   font-weight: bold;
   height: 48px;
   margin: 30px;
   text-align: center;
   width: 240px;
}
.pt-pop-txt {
   padding: 5px;
}
.pt-item-wrap {
   position: relative;
}
.pt-item-ttl {
   background-color: #fff;
   border: 1px solid #fff;
   color: #5c85aa;
   font-weight: bold;
   padding: 5px;
   text-align: center;
}
.pt-triangle {
   border-bottom: 14px solid transparent;
   border-left: 14px solid transparent;
   border-right: 14px solid transparent;
   border-top: 14px solid #c9ff00;
   height: 0;
   margin: 0 auto;
   width: 0;
}
.pt-triangle-non {
   border-bottom: 14px solid transparent;
   border-left: 14px solid transparent;
   border-right: 14px solid transparent;
   border-top: 14px solid transparent;
   height: 0;
   margin: 0 auto;
   width: 0;
}
.pt-item-box {
   box-shadow: 5px 10px 10px 5px rgba(30, 30, 30, 0.3);
}
.pt-list {
   background-color: #5c85aa;
   height: 360px;
   padding: 15px;
}
.pt-list-item {
   display: flex;
   padding: 10px;
}
.pt-list-item-icon {
   height: 24px;
   width: 24px;
}
.pt-btn {
   background-color: #fff;
   border-radius: 30rem;
   border: 1px solid #fff;
   box-shadow: 1px 1px 2px #5c85aa;
   box-shadow: 1px 1px 2px #fff;
   color: #5c85aa;
   font-weight: bold;
   margin: 30px 0 0 30px;
   padding: 16px 64px;
   position: absolute;
   transition: 0.3s;
}
.pt-btn::before {
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   transition: 0.3s;
   width: 0;
}
.pt-btn:hover::before {
   width: 100%;
}
.pt-btn:hover {
   background-color: #5c85aa;
   border: 1px solid #5c85aa;
   color: #fff;
}
.pt-txt {
   font-size: 24px;
   line-height: 72px;
   padding: 10px;
   text-align: center;
}
/* mm style */
.mm {
   background-position: center;
   background-size: cover;
   background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 1)), url(../img/iStock-1195455865.jpg);
   height: 70vh;
   position: relative;
}
.mm-ttl-wrap {
   text-align: center;
}
.mm-ttl {
   color: #fff;
   font-size: 68px;
   left: 30%;
   position: absolute;
   text-shadow: 0 0 5px #414141;
   top: 50%;
   transform: translate(-30%, -50%);
   width: 100%;
}
/* mm-content  */
.mm-content {
   text-align: center;
   width: 80%;
   color: rgba(0, 0, 0, 1.0);
}
.logo {
   height: auto;
   margin-top: 60px;
   width: 180px;
}
/* ht style */
.ht-ttl {
   color: #5c85aa;
   font-size: 48px;
   margin: 30px;
   text-align: center;
}
/* article style */
.article {
   position: relative;
   width: 80%;
}
.article-info {
   display: flex;
   height: 200px;
   justify-content: space-between;
   margin-bottom: 30px;
   width: 1000px;
}
.article-img {
   width: 300px;
}
.article-txt {
   line-height: 32px;
   margin: 30px;
}
.article-date {
   font-size: 24px;
   font-weight: bold;
   position: absolute;
}
.article-content {
   bottom: 0;
   font-size: 16px;
}
.at-btn {
   background-color: #5c85aa;
   border-radius:10px;
   box-shadow: 1px 1px 2px #414141;
   color: #fff;
   display: block;
   left: 36%;
   margin: 0 auto;
   padding: 16px 64px;
   text-align: center;
   top: auto;
   transition: 0.3s;
   width: 50%;
}
.at-btn::before {
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   transition: 0.3s;
   width: 0;
   z-index: -1;
}
.at-btn:hover::before {
   width: 100%;
}
.at-btn:hover {
   background-color: #5c85aa;
   border: 1px solid #5c85aa;
   color: #fff;
}
/* footer margin */
footer {
   background-color: #414141;
   color: #fff;
   margin-top: 80px;
   padding:20px;
   width: 100%;
}
footer figure{
   width: 100px;
   margin-bottom: 20px;
   margin-inline: auto;
}
footer ul{
   width: fit-content;
   display: flex;
   gap: 30px;
   margin-inline: auto;
}
footer div{
   text-align: center;
   font-size: 13px;
   width: 100%;
   margin-top: 20px;
}
.footer-nav {
   width: 100%;
}
.footer-list {
   display: flex;
   justify-content: space-around;
   margin: 0 auto;
   width: 70%;
}
.footer-item {
   line-height: 50px;
   transition: 0.8s;
}
.header-item a{
   font-size: 15px;
}
.footer-item:hover {
   border-bottom: 0.1px solid #5c85aa;
   color: #5c85aa;
}

footer .header-item a{
   font-weight: 300;
   font-size: 14px;
}

.txt-link {
   display: flex;
   justify-content: space-around;
}
.txt-link-item {
   line-height: 50px;
   text-align: center;
   width: 15%;
}
.btm {
   display: flex;
   justify-content: space-between;
   padding: 10px;
   width: 100%;
}
.btm-icon {
   width: 100px;
}
.copyright {
   align-items: center;
   font-size: 10px;
}
/*flex*/
.flex-col5{
   display: flex;
   flex-shrink: 1;
   flex: 1 100px;
   gap: 30px;
   margin-inline: auto;
   width: 1000px;
}
.flex-col5 *{
   margin-bottom: 20px;
}
/*カラム*/
.col2{
   display: grid;
   gap: 100px 30px;
   grid-template-columns: 1fr 1fr;
   margin-top: 50px;
}
.col3{
   display: grid;
   gap: 50px;
   grid-template-columns: 1fr 1fr 1fr;
   margin-top: 50px;
}
.col5{
   display: grid;
   gap: 30px;
   grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
   margin-top: 50px;
}
.grid-revert figure{
   order:2
}
.ratio_46{
   grid-template-columns: 4fr 6fr;
}
.ratio_64{
   grid-template-columns: 6fr 4fr;
}
.youtube{
   width: 100%;
   aspect-ratio: 16 / 9;
}
/*ボタン*/
section button{
   background-color: #5c85aa;
   border-radius: 10px;
   color: #fff;
   display: block;
   margin-inline: auto;
   padding-block: 15px;
   text-align: center;
   font-weight: 400;
   width: 50%;
}
 /*Table*/
 table{
   border-collapse: collapse;
}
 th,td{
   border: 1px solid #ccc;
   text-align: center;
}
th,
tbody tr td:first-child{
   background-color: rgba(92, 133, 170, 0.7);
   border: 1px solid rgba(255, 255, 255, 1.0);
   color: #fff;
   padding-block: 20px;
   vertical-align: middle;
}
th span{
   display: block;
   font-weight: 300;
   margin-top: 5px;
}
td{
   padding-block: 20px;
   vertical-align: middle;
}
td span{
   display: block;
   font-size: 13px;
   font-weight: 300;
   margin-top: 5px;
}
/*NEWS*/
.block-news{
  margin: 0 auto;
  width: min(100%, 800px);
}
.block-news > div{
   display: grid;
   gap: 40px 60px;
   grid-template-columns: 1fr 9fr;
}
time{
   font-size: 14px;
   padding-top: 5px;
}
.br-pc{
   display: block;
}
.br-sp{
   display: none;
}

/*レコメンド*/
.position-center{
   display: flex;
   justify-content: center;
   align-items: center;
   height: auto;
   width: 100%;
   overflow: hidden;
   object-fit: cover;
   aspect-ratio: 1/1;
   margin-inline: auto;
   box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
   text-align: center;
   background-color: rgba(255, 255, 255, 1);
}
.recommend figure img{
    width: auto;
    max-height: 20px;
    margin-inline: auto;
    margin-bottom: 20px;
    box-sizing: border-box;
    height: auto;
    display: block;
    inset: auto;
    max-width: 180px;
}

.recommend .col5{
   width: 100%;
   margin-inline: auto;
   background-color: rgba(92, 133, 170,0.7);
   padding-inline: 5vw;
   padding-block: 5vw;
}

.recommend details{
   color: white;
}

.border-radius{
   border-radius:50%;
}

/***************ここからスマホ版************** */
@media screen and (max-width: 1100px) {
   p,a{
      font-size: 16px;
   }
   .all-wrap{
      margin-top: 0;
   }
   .all-wrap .section-inner{
      padding-inline: 20px;
   }
   .kv{
      background-position-y:0;
      height:calc(100vh) ;
   }
   .kv-section-wrap{
      height:calc(100vh) ;
   }
   .kv-btn-wrap button{
    padding-block: 0;
    font-size: 13px;
    line-height: 1;
    height: 40px;
   }
   .sub-nav{
      display: none;
   }
   .at-btn::before {
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   transition: 0.5s;
   width: 0;
   z-index: -1;
}
   .at-btn:hover {
   background-color: #5c85aa;
   border: 1px solid #5c85aa;
   color: #fff;
}
   .at-btn:hover::before {
   width: 100%;
}
   .btn-line::after {
   transform: translateY(8px);

    /* 下の線の位置 */
}
   .btn-line::before {
   transform: translateY(-8px);

    /* 上の線の位置 */
}
   .btn-line::before, .btn-line::after {
   background-color: #ffff;
   content: "";
   height: 100%;
   position: absolute;
   transition: .5s;
   width: 100%;

    /* 基準線と同じ大きさと色 */
}
   .footer-item:hover {
   color: #5c85aa;
   display: none;
}
   .header-item:hover {
   color: #333;
   cursor: pointer;
}
.header-item + .header-item{
   margin-top: 15px;
}
.header-item a{
   font-size: 16px;
   font-weight: 400;
}
   .kv-btn::before {
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   transition: 0.3s;
   width: 0;
   z-index: 1;
}
   .kv-btn:hover {
   background-color: #5c85aa;
   color: #fff;
}
   .kv-btn:hover::before {
   width: 100%;
}
   .kv-btn:open::after {
   transform: rotate(-45deg);

    /* 上の線を傾ける */
}
   .kv-btn:open::before {
   transform: rotate(45deg);

    /* 上の線を傾ける */
}
   open::before, .btn-line.open::after {
   background-color: #ffff;
   content: "";
   transition: transform .1s;
}
   .pt-btn::before {
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   transition: transform  0.3s;
   width: 0;
}
   .pt-btn:hover {
   background-color: #5c85aa;
   border: 1px solid #5c85aa;
   color: #fff;
}
   .pt-btn:hover::before {
   width: 100%;
}
   .sb-btn::before {
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   transition: transform  0.3s;
   width: 0;
   z-index: -1;
}
   .sb-btn:hover {
   background-color: #5c85aa;
   border: 1px solid #5c85aa;
   color: #fff;
}
   .sb-btn:hover::before {
   width: 100%;
}
.ttl {
   font-size: 31px;
   text-align: center;
}
.kv-btn-wrap button{
   margin-top: 0;
   width: 100%;
}
.header {
   width: 100%;
   position: fixed;
}
.col2.ratio-64.grid-revert{
   margin-bottom: 50px;
}
.kv-text{
   font-size: 16px;
}
    /**************** 以下、ハンバーガーボタンのスタイリング ****************/
	.btn {
		/* ボタンの配置位置  */
		position: fixed;
		top: 21px;
		right: 32px;
		z-index: 999;
		width: 32px;
		height: 16px;
	}
	/***** 真ん中のバーガー線 *****/
	.btn-line {
		display: block;
		/* バーガー線の位置基準として設定 */
		position: absolute;
		/* 線の長さと高さ */
		width: 92%;
		height: 2px;
		/* バーガー線の色 */
		background-color: #ffff;
		transition: transform  .2s;
	}
	/***** 上下のバーガー線 *****/
	.btn-line::before, .btn-line::after {
		content: "";
		/* 基準線と同じ大きさと色 */
		position: absolute;
		width: 100%;
		height: 100%;
		background-color: #ffff;
		transition: transform  .5s;
	}
	.btn-line::before {
		/* 上の線の位置 */
		transform: translateY(-8px);
	}
	.btn-line::after {
		/* 下の線の位置 */
		transform: translateY(8px);
	}
	/***** メニューオープン時 *****/
	.btn-line.open {
		/* 真ん中の線を透明に */
		background-color: transparent;
	}
	.btn-line.open::before, .btn-line.open::after {
		content: "";
		background-color: #ffff;
		transition: transform .2s;
	}
	.btn-line.open::before {
		/* 上の線を傾ける */
		transform: rotate(45deg);
	}
	.btn-line.open::after {
		/* 上の線を傾ける */
		transform: rotate(-45deg);
	}
    /**************** ここまで、ハンバーガーボタンのスタイリング ****************/
    .header-list {
     background-color: rgba(65, 65, 74, 0.95);
     color: #ffff;
     display: flex;
     flex-direction: column;
     height: 50vh;
     padding-block: 50vh;
     position: fixed;
     right: -100%;
     top: 0;
     transition: 0.5s;
     width: 100%;
   }
   .header-item {
      align-items: center;
      display: flex;
      justify-content: center;
      width: 100%;
   }

    /***** メニューオープン時位置0にして画面内に *****/
.header-list.open {
   position: absolute;
   right: 0;
}
    /* kv style*/
.kv-wrap{
   top: 50%;
}
.kv {
   background-image: url(../img/kv-img.jpg);
   background-size: cover;
   text-align: center;
   width: 100%;
   background-position-x: center;
   background-position-y: 30px;
}
.kv-wrap {
   display: block;
   width: 90%;
}
.kv-copy {
   line-height: 48px;
   text-align: center;
}
   .kv-msg {
   color: #fff;
   font-size: 24px;
   font-weight: lighter;
   line-height: 0rem;
}
    .kv-msg-sub {
   color: #fff;
   font-size: 50px;
   font-weight: bolder;
}
    .kv-msg-sub-white {
   color: #fff;
   font-size: 50px;
   font-weight: lighter;
}
    .kv-column-rev {
   position: relative;
}
    .name-wrap {
   align-items: center;
   flex-wrap: wrap;
   margin: 0 auto;
}
    .kv-name {
   color: #fff;
   font-size:50px;
   font-weight: lighter;
}
    .kv-btn {
   background-color: #c9ff00;
   border-radius: 4rem;
   border: 1px solid #c9ff00;
   box-shadow: 1px 1px 2px #fff;
   font-weight: bold;
   padding: 8px 6px;
   text-align: center;
   transition: 0.3s;
   width: 100%;
}
    .kv-btn-wrap{
   gap: 10px;
}
    .kv-icon {
   display: inline-block;
   height: auto;
   width: 100%;
}
    .kv-icon figure{
   margin-inline: auto;
   width: 100%;
}
    .kv-icon figure img{
     margin-inline: auto;
     width: 50%;
   }
    .kv-msg span{
     line-height: 1.2;
   }
   .kv-msg span::after{
   vertical-align: initial;
   margin-right: -40px;
   font-size: 32px;
   }
    .kv-btn-wrap{
   grid-template-columns: 1fr;
   width: 75%;
}
    /* km style */
.km {
   width: 100%;
}
.km-cloumn-rev {
   display: block;
   flex-wrap: wrap-reverse;
}
.section-inner{
   padding: 0;
}
.position-center{
margin-bottom: 0;
}
.recommend .col5{
   grid-template-columns: 1fr 1fr;
   padding-inline:20px;
   gap: 30px;
}
.recommend figure img{
   height: 16px;
}
.km-content-img {
   width: 100%;
}
.recommend{
   width: 100%;
   padding: 0;
}
.grid-revert figure{
   order: 1;
   display: contents;
}

.grid-revert div{
   order: 2;
   display: contents;
}

.km-content-img-1 {
   filter: drop-shadow(0 2px 10px #414141);
   height: auto;
   object-fit: cover;
   object-position: 60% 45%;
   width: 100%;
}
    .km-content-img-2 {
   filter: drop-shadow(2px 2px 10px #414141);
   height: auto;
   margin-bottom: 60px;
   object-fit: cover;
   object-position: 0 70%;
   width: 100%;
}
    .km-content {
   text-align: center;
}
    .km-ttl {
   border-bottom: 1px solid #5c85aa;
   margin-top: 60px;
   margin: 0 auto;
   width: 90%;
}
.txt {
   font-size: 11px;
   line-height: 2;
   margin: 30px auto;
   letter-spacing: 1px;
}
    /* pd style */
.pd {
   /* background-image: url(../img/sb-bg.svg); */
   background-size: cover;
   padding: 20px;
   width: 100%;
   margin-block: 50px 0;
}
.pd-ttl {
   border-bottom: 1px solid #5c85aa;
   letter-spacing: 0.1em;
   margin: 0 auto 30px;
   font-size: 32px;
}
.subtext02:before{
   left: 10px;
}
.pd-wrap {
   margin-top: 30px;
   width: 100%;
}
.col5{
   grid-template-columns: 1fr 1fr;
}
.pd-list {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-around;
   margin: 0 auto;
   width: 100%;
}
    .pd-item {
   background: #fff;
   border: 1px solid #414141;
   box-sizing: content-box;
   height: auto;
   margin-top: 16px;
   padding: 16px;
   text-align: center;
   width: 100%;
}
    .pd-item-ttl {
   font-size: 16px;
   font-weight: bold;
   padding: 8px;
}
    .pd-item-img {
   height: 80px;
   width: 100px;
}
    .pd-item-txt {
   font-size: 14px;
   line-height: 24px;
   padding-top: 8px;
   text-align: left;
}
    /* sd style */
    .sd {
   color: #fff;
   margin: 0 auto;
}
    .sd-all-wrap {
   margin-top: 30px;
   padding: 0;
}
    .sd-ttl {
   font-size: 27px;
   line-height: 62px;
   text-align: center;
}
    .sd-txt {
   font-size: 12px;
   line-height: 32px;
   text-align: center;
   width: 100%;
}
    .sd-wrap {
   display: flex;
   flex-direction: column;
   text-align: center;
   width: 100%;
}
    .sd-item {
   background-color: #414141;
   border: 1px solid #414141;
   box-sizing: content-box;
   height: 450px;
   margin: 0 0 20px 0;
   width: 312px;
}
    .sd-item-nb {
   color: #5c85aa;
   font-size: 160px;
   padding: 10% auto;
}
    .sd-item-ttl {
   display: inline-block;
   font-size: 24px;
   line-height: 36px;
   margin: 16px;
}
    .sd-item-txt {
   font-size: 14px;
   line-height: 36px;
   margin: 16px;
}
    /* sf style */
    .sf {
   background: #fff;
   margin: 100px auto 0;
}
    .sf-ttl {
   border-bottom: 1px solid #5c85aa;
   margin: 0 auto;
   width: 80%;
}
    .sf-block-wrap {
   display: flex;
}
    .sf-block {
   align-items: center;
   flex-wrap: wrap;
   margin: 0 auto;
}
    .sf-wrapper {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   margin: 0 auto;
   width: 92%;
}
    .sf-item {
   align-items: center;
   margin: 16px auto;
   text-align: center;
}
    .sf-icon {
   height: 64px;
   margin-bottom: 8px;
   width: 80px;
}
    .sf-txt {
   font-size: 12px;
}
    .sf-icon-wrapper {
   align-items: center;
   display: flex;
   justify-content: space-around;
   text-align: center;
}
    .material-symbols-outlined {
   color: #5c85aa;
   font-variation-settings: "FILL"0, "wght"400, "GRAD"0, "opsz"48;
   font-weight: bold;
}
    .sb-btn {
   background-color: #c9ff00;
   border-radius: 4rem;
   border: 1px solid #c9ff00;
   box-shadow: 1px 1px 2px #fff;
   font-weight: bold;
   left: 18%;
   padding: 8px 6px;
   text-align: center;
   top: 92%;
   transition: 0.3s;
   width: 64%;
}
    /* pt style */
    .pt {
   background-image: url(../img/pt-bg.svg);
   background-size: cover;
   color: #fff;
   filter: none;
   padding: 16px;
   width: 100%;
}
    .pt-section-wrap {
   margin-bottom: 50px;
   padding: 0;
   width: 100%;
}
    .pt-ttl {
   border-bottom: 1px solid #5c85aa;
   color: #5c85aa;
   font-size: 32px;
   margin-top: 10%;
   padding: 5px;
   text-align: center;
   width: 56%;
}
    .pt-txt {
   color: #5c85aa;
   font-size: 18px;
   line-height: 1.5rem;
   margin: 0 auto;
   padding: 8px;
   text-align: center;
   width: 80%;
}
    .pt-item-wrapper {
   align-items: center;
   display: flex;
   flex-direction: column;
   flex-wrap: wrap;
}
    .pt-item-ss, .pt-item-sd, .pt-item-ep {
   height: 100%;
   width: 320px;
}
    .pt-item-ss {
   z-index: 990;
}
    .pt-pop-ss {
   background-color: transparent;
   border: 1px solid transparent;
   height: 0;
   text-align: center;
   width: 0;
}
    .pt-item-ss, .pt-item-sd, .pt-item-ep {
   align-items: center;
   display: flex;
   flex-direction: column;
   margin-bottom: 50px;
   z-index: 991;
}
    .pt-pop-sd {
   background-color: #c9ff00;
   border: 1px solid #c9ff00;
   color: #414141;
   font-weight: bold;
   height: 48px;
   margin: 16px;
   text-align: center;
   width: 180px;
}
    .pt-item-ep {
   margin-top: 16px;
   z-index: 1;
}
    .pt-pop-ep {
   background-color: #c9ff00;
   border: 1px solid #c9ff00;
   color: #414141;
   font-weight: bold;
   height: 48px;
   margin: 16px;
   text-align: center;
   width: 240px;
}
    .pt-pop-txt {
   padding: 5px;
}
    .pt-item-wrap {
   display: block;
   width: 100%;
}
    .pt-item-ttl {
   background-color: #fff;
   border: 1px solid #fff;
   color: #5c85aa;
   font-weight: bold;
   padding: 5px;
   text-align: center;
}
    .pt-triangle {
   border-bottom: 14px solid transparent;
   border-left: 14px solid transparent;
   border-right: 14px solid transparent;
   border-top: 14px solid #c9ff00;
   height: 0;
   margin: 0 auto;
   width: 0;
}
    .pt-triangle-non {
   border-bottom: 14px solid transparent;
   border-left: 14px solid transparent;
   border-right: 14px solid transparent;
   border-top: 14px solid transparent;
   height: 0;
   margin: 0 auto;
   width: 0;
}
    .pt-item-box {
   width: 100%;
}
    .pt-list {
   background-color: #5c85aa;
   height: 100%;
   padding: 15px;
}
    .pt-list-item {
   display: flex;
   padding: 5px;
}
    .pt-list-item-icon {
   height: 15px;
   width: 16px;
}
    .pt-btn-wrap{
   margin-top: 15px;
   width: 100%;
}
    .pt-btn {
   background-color: #fff;
   border-radius: 4rem;
   border: 1px solid #fff;
   box-shadow: 1px 1px 2px #5c85aa;
   box-shadow: 1px 1px 2px #fff;
   color: #5c85aa;
   display: block;
   font-weight: bold;
   margin: 0 auto;
   padding: 8px 6px;
   position: unset;
   text-align: center;
   transition: 0.3s;
   width: 100%;
}
    /* mm style */
    .mm {
   background-position: center;
   background-size: cover;
   background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 1)), url(../img/iStock-1195455865.jpg);
   position: unset;
}
    .mm-ttl-wrap {
   text-align: center;
}
    .mm-ttl {
   color: #fff;
   font-size: 30px;
   padding-top: 50%;
   position: unset;
   text-shadow: 0 0 5px #414141;
   transform: none;
   width: 100%;
}
    /* mm-content  */
    .mm-content {
   margin: 0 auto;
   text-align: center;
   width: 100%;
}
.logo {
   height: auto;
   margin-top: 60px;
   width: 100px;
}
    /* ht style */
    .ht-ttl {
   color: #5c85aa;
   font-size: 29px;
   line-height: 50px;
   margin: 16px;
   text-align: center;
}
    /* article style */
    .article {
   position: none;
}
    .article-info {
   align-items: center;
   display: inline-block;
   margin: 0 auto;
   width: 100%;
}
    .article-img {
   margin: 30px 0;
}
    .article-txt {
   line-height: 24px;
   margin: 30px 0;
}
    .article-date {
   font-size: 24px;
   font-weight: bold;
}
    .article-content {
   font-size: 16px;
   height: 100%;
}
.at-btn {
   background-color: #5c85aa;
   border-radius: 10px;
   color: #fff;
   font-weight: bold;
   margin: 0 auto;
   text-align: center;
   transition: 0.3s;
   width: 75%;
   font-size: 13px;
   line-height: 1;
   padding: 13px;
   font-weight: 400;
}
figcaption > span{
   font-size: 14px;
   line-height: 1.5;
}
p.stroke{
   font-size: 38px;
}
p.stroke span{
   margin-left: -10px; 
   font-size: 18px;
   letter-spacing: 1px;
}
p.stroke span:nth-child(5){
   font-size: 64px;
}
p.stroke span:nth-child(7){
   font-size: 46px;
   display: block;
}
.kv-btn-wrap{
   margin-top: 20px;
}
.kv-notice{
   color: rgba(0, 0, 0, 1.0);
   bottom: 15vh;
   width: 100%;
}
img + figcaption{
   font-size: 14px;
}
th span{
   font-size: 13px;
}
p + p{
   margin-top: 10px;
}

footer{
   padding: 50px;
   margin-top: 30px;
}
    .footer {
   background-color: #414141;
   color: #fff;
   margin-top: 60px;
   padding: 5px;
   width: 100%;
}
    .footer-nav {
   width: 100%;
}
    .footer-list {
   display: none;
}
    .footer-item {
   display: none;
   line-height: 50px;
   transition: 0.8s;
}
   .txt-link {
   display: none;
}
   .txt-link-item {
   display: none;
}
    .btm {
   align-items: center;
   display: flex;
   justify-content: space-between;
   width: 100%;
   padding: 0;
   gap: 20px;
}
    .btm-icon {
   width: 100px;
}
    .copyright {
   align-items: center;
   font-size: 10px;
}
    .br-sp {
   display: block;
}
   .br-pc {
   display: none;
}
.col2{
   margin-top: 0;
   gap: 10px;
}
   .col2,.col3{
   grid-template-columns: 1fr;
}
   .block-news > div{
   gap: 10px 0;
   grid-template-columns: 1fr;
}
    .block-news > div >p{
   margin-bottom: 30px;
}

.seminor .col2 > figure:first-child{
   margin-top: 10px;
}

.seminor .col2 > figure{
   margin-top: 50px;
}

.seminor .kv-btn-wrap{
   margin-top: 10px;
}

small{
   font-size: 70%;
}
footer ul{
   display: block;
}
th{
   padding-inline: 10px;
   font-size: 13px;
}
td{
   font-size: 14px;
   letter-spacing: 0;
}
td span{
   font-size: 12px;
}
}


.masterhead{
   height: 35vh;
   width: 100%;
   background-color: #333;
   margin-top:110px;
   display: flex;
   justify-content: flex-start;
   align-items: center;
   overflow: hidden;
   object-fit: cover;
   z-index: 1;
   padding-left: 8vw;
}
.masterhead > div > header{
   float: left;
   width: 100%;
   color: rgba(255, 255, 255, 1);
   font-size: 52px;
   text-align: left;
   margin-bottom:20px
}
.masterhead > div > div{
   margin-top: 2rem;
   display: grid;
   grid-template-columns: 1fr 1fr;
   width: min(100%,600px);
   gap: 30px;
}
.masterhead > div > div > button{
   width: 100%;
   background-color: rgba(92, 133, 170,1.0);
   border: 1px solid rgba(92, 133, 170,1.0);
   box-shadow: 0 0 7px rgba(255, 255, 255, 0.7);
   font-size: 14px;
   z-index: 100;
}
.masterhead > div > div > button:nth-child(2){
   background-color: rgba(0, 0, 0, 1.0);
   border: 1px solid rgba(0, 0, 0, 1.0);
}

.bg-about{
   background-image: url(../img/about/bg-about.jpg);
   background-color: white;
   object-fit: cover;
   background-size: 100%;
   overflow: hidden;
   height: 40vh;
   background-repeat: no-repeat;
   width: 100%;
}
.bg-plan{
   background-color: white;
   object-fit: cover;
   background-size: 100%;
   overflow: hidden;
   height: 30vh;
   background-repeat: no-repeat;
   width: 100vw;
   background: radial-gradient(#252a2c,#1f1013);
   -webkit-overflow-Y: hidden;
   -moz-overflow-Y: hidden;
   -o-overflow-Y: hidden;
   overflow-y: hidden;
   -webkit-animation: fadeIn 1 1s ease-out;
   -moz-animation: fadeIn 1 1s ease-out;
   -o-animation: fadeIn 1 1s ease-out;
   animation: fadeIn 1 1s ease-out;
   font-weight: 100;
}
.bg-gradient_white{
   background: linear-gradient(rgba(255,255,255,0.8),rgba(255,255,255,0.6),rgba(255,255,255,0.6),rgba(255,255,255,0.0));
}

.bg-accent{
   background-color: #5C85AA;
}

@media screen and (max-width: 1100px) {
.masterhead{
   padding-left: 0;
   display: block;
   padding-top: 20px;
   margin-top: 60px;
}
.masterhead > div > div{
grid-template-columns:1fr;
gap: 10px;
}
.masterhead > div > div > button{
   width: 50%;
   margin-inline: auto;
}
.masterhead > div > header{
   text-align: center;
}
section button{
   padding-block: 10px;
   padding-inline: 20px;
}
.masterhead > div > header{
   font-size: 32px;
   text-align: center;
}
}

@media screen and (max-width: 375px) {

.kv-notice{
   color: rgba(0, 0, 0, 1.0);
   bottom: -3vh;
   width: 100%;
}
}

/*ページタイトルの背景アニメーション*/
.light {
   position: absolute;
   width: 0px;
   opacity: 0.75;
   background-color: white;
   box-shadow: #fff 0px 0px 10px 2px;
   opacity: 0;
   top: 100vh;
   bottom: 0px;
   left: 0px;
   right: 0px;
   margin: auto;
   object-fit: cover;
   overflow: hidden;
   z-index: 1;
   height: 20vh;
}
.light2 {
   position: absolute;
   width: 0;
   opacity: 0.75;
   background-color: white;
   box-shadow: #e9f1f1 0px 0px 10px 2px;
   opacity: 0;
   top:0;
   bottom: 0;
   right: 100vh;
   margin: auto;
   object-fit: cover;
   overflow: hidden;
}
.light3 {
   position: absolute;
   width: 50vw;
   height: 1px;
   opacity: 0.75;
   background-color: white;
   box-shadow: #e9f1f1 2px 0 2px 1px;
   opacity: 0;
   bottom: 0;
   right: 20vh;
   margin: auto;
   object-fit: cover;
   overflow: hidden;
}

.x1 {
  -webkit-animation: floatUp 4s infinite linear;
  -moz-animation: floatUp 4s infinite linear;
  -o-animation: floatUp 4s infinite linear;
  animation: floatUp 4s infinite linear;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
   overflow: hidden;
}

.x2 {
  -webkit-animation: floatUp 7s infinite linear;
  -moz-animation: floatUp 7s infinite linear;
  -o-animation: floatUp 7s infinite linear;
  animation: floatUp 7s infinite linear;
  -webkit-transform: scale(1.6);
  -moz-transform: scale(1.6);
  -o-transform: scale(1.6);
  transform: scale(1.6);
  left: 15%;
   overflow: hidden;
}

.x3 {
  -webkit-animation: floatDownp 2.5s infinite linear;
  -moz-animation: floatDown 2.5s infinite linear;
  -o-animation: floatDown 2.5s infinite linear;
  animation: floatDown 2.5s infinite linear;
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
  left: -10%;
   overflow: hidden;
}

.x4 {
   -webkit-animation: floatRight 6s infinite linear;
   -moz-animation: floatRight 6s infinite linear;
   -o-animation: floatRight 6s infinite linear;
   animation: floatRight 6s infinite linear;
   -webkit-transform: scale(2.8);
   -moz-transform: scale(2.8);
   -o-transform: scale(2.8);
   transform: scale(2.8);
   left: -90%;
   top: -32%;
   overflow: hidden;
}

.x5 {
  -webkit-animation: floatUp 8s infinite linear;
  -moz-animation: floatUp 8s infinite linear;
  -o-animation: floatUp 8s infinite linear;
  animation: floatUp 8s infinite linear;
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  left: -61%;
   overflow: hidden;
}

.x6 {
  -webkit-animation: floatDown 3s infinite linear;
  -moz-animation: floatDown 3s infinite linear;
  -o-animation: floatDown 3s infinite linear;
  animation: floatDown 3s infinite linear;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  left: -81%;
   overflow: hidden;
}

.x7 {
  -webkit-animation: floatDown 5.3s infinite linear;
  -moz-animation: floatDown 5.3s infinite linear;
  -o-animation: floatDown 5.3s infinite linear;
  animation: floatDown 5.3s infinite linear;
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  left: 37%;
   overflow: hidden;
}

.x8 {
  -webkit-animation: floatDown 4.7s infinite linear;
  -moz-animation: floatDown 4.7s infinite linear;
  -o-animation: floatDown 4.7s infinite linear;
  animation: floatDown 4.7s infinite linear;
  -webkit-transform: scale(1.7);
  -moz-transform: scale(1.7);
  -o-transform: scale(1.7);
  transform: scale(1.7);
  left: 71%;
   overflow: hidden;
}

.x9 {
   -webkit-animation: floatLeft 8.1s infinite linear;
   -moz-animation: floatLeft 8.1s infinite linear;
   -o-animation: floatLeft 8.1s infinite linear;
   animation: floatLeft 8.1s infinite linear;
   -webkit-transform: scale(0.9);
   -moz-transform: scale(0.9);
   -o-transform: scale(0.9);
   transform: scale(0.9);
   left: -100%;
   top: -55%;
   overflow: hidden;
}

@media screen and (max-width: 960px) {
   .x1{
   left: 83%;
   }
  .x2, .x3{
      display: none;
   }
   .x6{
    left: -91%;
   }
}


button:focus {
  outline: none;
}

@keyframes floatUp {
  0% {
    top: 100vh;
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  50% {
    top: 0vh;
    opacity: 0.8;
  }
  75% {
    opacity: 1;
  }
  100% {
    top: -100vh;
    opacity: 0;
  }
}

@keyframes floatDown {
  0% {
    top: -100vh;
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  50% {
    top: 0vh;
    opacity: 0.8;
  }
  75% {
    opacity: 1;
  }
  100% {
    top: 100vh;
    opacity: 0;
  }
}

@keyframes floatLeft {
  0% {
    left: 0;
    opacity: 0;
  }
  50% {
    opacity: 0.3;
  }
  75% {
    opacity: 0;
  }
}

@keyframes floatRight {
  0% {
    right: 100%;
    opacity: 0;
  }
  50% {
   opacity: 0.3;
   right: 30%;
  }
  60% {
    right: 15%;
    opacity: 0.1;
  }
  70% {
    right: 0;
    opacity: 0;
  }
}


@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-o-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}

@-moz-keyframes fadeOut {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}

@-o-keyframes fadeOut {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}

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

@-webkit-keyframes finalFade {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 1;
  }
}

@-moz-keyframes finalFade {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 1;
  }
}

@-o-keyframes finalFade {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 1;
  }
}

@keyframes finalFade {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 0.25;
  }
  80% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
  }
}

/*導入の流れ*/
.indroduction figure::after{
   content: "▼";
   font-size: 40px;
   margin-top: 40px;
   margin-left: 130px;
   width: 100%;
   display: block;
}
.indroduction div div:last-child figure::after{
   display: none;
}


.bg-color-blue{
   background: radial-gradient(#1895d3,#1f1013);
}
.bg-color-green{
   background: radial-gradient(#34ac54,#1f1013);
}
.bg-color-yellow{
   background: radial-gradient(#e1da5f,#1f1013);
}
.bg-color-orange{
background: radial-gradient(ellipse at top, #e26e4b, transparent),
            radial-gradient(ellipse at bottom, #000000, transparent),
            radial-gradient(ellipse at left, #e26e4b, transparent),
            radial-gradient(ellipse at right, #000000, transparent);
}
.bg-color-perple{
   background: radial-gradient(#9b41cf,#1f1013);
}
.bg-color-red{
   background: radial-gradient(#a03f3f,#1f1013);
}

.color-white,
.color-white > *{
   color: rgba(255, 255, 255, 1);
}

/*削減施策パートナー*/
.checklist{
   text-align: center;
   gap: 0;
   grid-template-columns: 1fr 1fr;
   margin-top: 50px;
}
.checklist h3{
   text-align: center;
   font-size: 30px;
   margin-bottom: 10px;
}

.checklist dt{
   font-size: 16px;
   text-align: left;
   line-height: 2;
   letter-spacing: 0;
}
.checklist dt::before{
   content: url('../img/partner/check.svg');
   padding-right: 10px;
   width: 25px;
   height: auto;
   display: inline-block;
}
.checklist{
   width: fit-content;
   margin-inline: auto;
}
.checklist div:nth-child(2){
   font-size: 120px;
   text-align: center;
   margin-inline: 20px;
   line-height: 1.6;
   padding: 0 20px;
}
.checklist div:nth-child(1),
.checklist div:nth-child(2){
   border: 1px solid #000;
   border-radius: 15px;
   padding: 30px;
}

/*パンくず*/
.breadcrumb{
background: #f5f5f5;
transition: all .3s ease;
padding: 10px 15px;
}
.breadcrumb>ol {
max-width: 1200px;
display: flex;
margin: 0 auto;
}
.breadcrumb>ol>li {
position: relative;
font-size: 13px;
line-height:1;
display: block;
letter-spacing: 0;
}
.breadcrumb>ol>li>a {
text-decoration: none;
font-size: 13px;
line-height:1;
letter-spacing: 0;
}
.breadcrumb>ol>li::after {
   position: relative;
   content: '>';
   padding-inline: 10px;
}
.breadcrumb>ol>li:last-child{
   margin-right: 0;
}
.breadcrumb>ol>li:last-child:after {
   display: none;
}


@media screen and (max-width: 960px) {
.indroduction figure::after{
   display: none;
}
.introduction-point::after{
   content: "▼";
   font-size: 40px;
   margin-top: 30px;
   margin-left: 45%;
   width: 100%;
   display: block;
   margin-bottom: 50px;
}
.checklist{
   grid-template-columns: 1fr;
}
.voice .col2 figure,
.voice .col2 .ratio-64.grid-revert{
width: 75%;
margin: 0 auto;
}
.margin-b50_sp{
   margin-bottom: 50px;
}
.text-comment{
   padding-inline: 0;
}
.checklist div:nth-child(1), .checklist div:nth-child(2){
   padding: 15px
}
.checklist div:nth-child(2){
   margin-inline: 0;
   margin-top: 50px;
}
}
/*タイムライン*/

.underline{
   text-decoration: underline;
   font-weight: 500;
}

.underline_news{
   text-decoration: underline;
}