/** Shopify CDN: Minification failed

Line 102:22 Expected ":"
Line 436:22 Expected ":"
Line 577:23 Expected ":"
Line 676:23 Expected ":"

**/
html { scroll-behavior: smooth;}
a {
	text-decoration:none;
	color: #000000;
}
.pc {
	display:flex;
}
.sp {
	display:none!important;
}
p a {
    text-decoration: underline;
    color: #666666;
}
.header {
    padding-top: 8px;
    padding-bottom: 8px;
}
.moca_sub_wrap {
	width:100%;
	border-bottom:none;
}
.moca_sub {
	width:100%;
	margin:0 auto;
	max-width:1200px;
	padding:0 50px;
	display:flex;
	flex-wrap: wrap;
  justify-content: center;
}
.moca_sub h2{
	width: auto;
    font-size: 2.6rem;
    font-weight:bold;
    color:#000000;
    margin: 0;
	padding:0 0 5px 0;
	text-align:center;
    border-bottom: 3px solid #ff0000;
}
.moca_sub .mini_title_wrap{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:0;
}
.moca_sub h3{
    font-size: 2.8rem;
    padding: 1rem 1rem;
    border-left: 4px solid #ff0000;
}
.moca_sub p{
	width:100%;
	text-align:left;
	font-size: 1.6rem;
    line-height: 180%;
	display: flex;
    flex-wrap: wrap;
	margin:0;
}
.moca_sub p.subtitle{
	width:100%;
	margin:0 0 0 0;
	text-align:left;
	font-size:1.2rem;
	font-family: "Abel", sans-serif;
    color:#ff0000;
	line-height:140%;
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.moca_sub img{
	width:100%;
	margin:60px 0;
}
.moca_sub a p.button01{
    width: fit-content;
    min-width: 250px;
	text-align:center;
	font-size:1.8rem;
	margin:60px auto;
	padding:8px 16px;
	border:#000000 1px solid;
	border-radius:30px;
	color:#000000;
    display: block;
}
.moca_sub a p.button01:hover{
	background:#000;
	color:#fff;
	transition : 0.6s;　/*ふわっとさせる指定*/
}
.moca_sub .bggray{
	width:100%;
	margin:0 auto;
	max-width:1200px;
	padding:20px 20px;
	display:flex;
	flex-wrap: wrap;
    background-color:#f5f5f5;
}
.moca_sub_book_wrap {
	width:100%;
	border-top: #000000 1px solid;
}
.moca_sub_book {
	width:100%;
	margin:0 auto;
	max-width:1200px;
	padding:60px 0;
	display:flex;
	flex-wrap: wrap;
}
.moca_sub_book h2 {
    width: 100%;
    font-size: 2.8rem;
    margin: 0 0 20px 20px;
    text-align: left;
}
.moca_sub_book p{
	width:100%;
	text-align:left;
	font-size:1.8rem;
	line-height:180%;
	display: flex;
}
.moca_sub_book p.submenu{
	width:100%;
	margin:20px 15% 50px 15%;
	text-align:centers;
	font-size:1.3rem;
	line-height:180%;
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.moca_sub_book ul {
	width:100%;
	padding:0;
	display:flex;
	align-items: flex-start;
	margin:40px 0 20px 0;
}
.moca_sub_book ul li{
	width:43%;
	text-align:left;
	margin:0 0 0 0;
	list-style:none;
}
.moca_sub_book ul li p.subtittle{
	margin:0 0 18px 0;
    font-size: 2.2rem;
	text-align:left;
	display: flex;
    justify-content: flex-start;
}

.moca_sub_book ul li:nth-child(2n){
	width:57%;
	text-align:right;
	padding:0 0 0 60px;
}
.moca_sub_book ul li img{
	width:86%;
	margin:0 0 0 20px;
	min-width:420px;
}
.moca_sub_member_wrap {
	width:100%;
	border-bottom:none;
}
.moca_sub_member {
	width:100%;
	margin:0 auto;
	max-width:1200px;
	padding:0 20px;
	display:flex;
	flex-wrap: wrap;
    align-items: flex-start;
}
.moca_sub_member h2{
	width:100%;
	font-size:3.4rem;
	margin:60px 0;
	padding:0 0 0 0;
	text-align:left;
}
.moca_sub_member h3{
	width:100%;
	font-size:2.8rem;
	margin:60px 0 32px 0;
	padding:0 0 10px 0;
	text-align:left;
}

.moca_sub_member .member01{
    width:50%;
    margin: 0 0 60px 0;
    padding: 0 40px 0 0;
    display:flex;
    flex-wrap: wrap;
}
.moca_sub_member .member01:nth-child(2n+1){
    width:50%;
    padding: 0 0 0 40px ;
    display:flex;
    flex-wrap: wrap;
}
.moca_sub_member .member01 .img01{
    width:50%;
    display:flex;
}
.moca_sub_member .member01 .img01 img{
    width:90%;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
    display:flex;
}
.moca_sub_member .member01 .intro{
    width:50%;
    display:flex;
    flex-wrap: wrap;
    align-content: center;
}
.moca_sub_member .member01 .intro p{
    width:100%;
    text-align: center;
    font-size: 1.6rem;
    display:flex;
    justify-content: center;
}
.moca_sub_member .member01 .intro p.ttl{
    font-weight: bold;
    margin: 0;
}
.moca_sub_member .member01 .sentence {
    width: 100%;
    padding: 20px 0 0 0;
}
.moca_sub_member .member01 .sentence p{
    width:100%;
    text-align: left;
    font-size: 1.6rem;
    line-height: 180%;
    display:flex;
    flex-wrap: wrap;
    margin:16px 0 0 0;
}
.moca_sub_member .member01 .link01 {
    width: 100%;
    padding: 0;
}
.moca_sub_member .member01 .link01 p{
    width:100%;
    text-align: left;
    font-size: 1.6rem;
    line-height: 180%;
    display:flex;
    flex-wrap: wrap;
}
.moca_sub_member .member01 .link01 p a{
    text-decoration: underline;
    color: #666666;
}
.moca_sub_partner_wrap {
	width:100%;
	border-bottom:none;
}
.moca_sub_partner {
	width:100%;
	margin:0 auto;
	max-width:1200px;
	padding:0 20px;
	display:flex;
	flex-wrap: wrap;
    align-items: flex-start;
}
.moca_sub_partner h2{
	width:100%;
	font-size:3.4rem;
	margin:0 0 0 0;
	padding:0 0 0 0;
	text-align:left;
}
.moca_sub_partner h3{
	width:100%;
	font-size:1.8rem;
	margin:60px 0 60px 0;
	padding:0 0 10px 0;
	text-align:left;
}

.moca_sub_partner .partner01{
    width:50%;
    margin: 0 0 60px 0;
    padding: 0 40px 0 0;
    display:flex;
    flex-wrap: wrap;
}
.moca_sub_partner .partner01:nth-child(2n){
    width:50%;
    padding: 0 0 0 40px ;
    display:flex;
    flex-wrap: wrap;
}
.moca_sub_partner .partner01 .img01{
    width:40%;
    display:flex;
    flex-wrap: wrap;
    align-content: center;
}
.moca_sub_partner .partner01 .img01 img{
    width:90%;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
    display:flex;
}
.moca_sub_partner .partner01 .info{
    width:60%;
    display:flex;
    flex-wrap: wrap;
    align-content: center;
}
.moca_sub_partner .partner01 .info .intro{
    width:100%;
    display:flex;
    flex-wrap: wrap;
    align-content: center;
}
.moca_sub_partner .partner01 .info .intro p{
    width:100%;
    text-align: left;
    font-size: 1.8rem;
    display:flex;
    justify-content: flex-start;
}
.moca_sub_partner .partner01 .info .intro p.ttl{
    font-weight: bold;
    margin: 0;
}
.moca_sub_partner .partner01 .info .sentence {
    width: 100%;
    padding: 0 0 0 0;
}
.moca_sub_partner .partner01 .info .sentence p{
    width:100%;
    text-align: left;
    font-size: 1.4rem;
    line-height: 180%;
    display:flex;
    flex-wrap: wrap;
    margin:14px 0 0 0;
}
.moca_sub_partner .partner01 .info .link01 {
    width: 100%;
    padding: 0;
}
.moca_sub_partner .partner01 .info .link01 p{
    width:100%;
    text-align: left;
    font-size: 1.6rem;
    line-height: 180%;
    display:flex;
    flex-wrap: wrap;
}
.moca_sub_partner .partner01 .info .link01 p a{
    text-decoration: underline;
    color: #666666;
}

.moca_sub_image_wrap{
	width:100%;
	background-color:#ffffff;
}
.moca_sub_image{
	width:100%;
	max-width:1200px;
    margin:0 auto;
}
h6 {
  margin: 20px auto;
}
h6 a {
  font-size: 1.8rem;
  padding: 8px 16px;
  border: #000 1px solid;
  border-radius: 30px;
  color: #000;
  text-decoration: none;
  font-weight: normal;
  transition: 0.6s;
}
h6:hover a {
  background: #000;
  color: #fff;
}
.subpage_button_wrap {
	width:100%;
}
.subpage_button {
	width:100%;
	max-width:1400px;	
	margin:0 auto;
	padding: 26px 0 46px 0;
}
.subpage_button p.button01 a{
	width: fit-content;
    min-width:250px;
    text-align: center;
    font-size: 1.8rem;
    margin: 0 auto;
    padding: 8px 16px;
    border: #000000 1px solid;
    border-radius: 30px;
    color: #000000;
    display: block;
    text-decoration:none;
    color:#000000;
}
.subpage_button p.button01 a:hover {
	background:#000;
	color:#fff;
	transition : 0.6s;　/*ふわっとさせる指定*/
}
.achievements_wrap {
	width:100%;
}
.achievements {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:0 30px;
}
.achievements .subsection01{
	width:100%;
	padding:0 20px;
	display: flex;
    align-items: center;
}
.achievements .subsection01{
	width:100%;
	padding:0 20px;
}
.achievements .subsection01 ul {
	width:100%;
	display:flex;
    flex-wrap: wrap;
    padding: 20px 0;
    margin: 0;
}
.achievements .subsection01 ul li{
	width:30.8%;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
	/*padding:0 1.25%;*/
	margin:0 1.25% 30px 1.25%;
	list-style:none;
}
.achievements .subsection01 ul li figure {
	padding-top: 66.666%; /* 画像の高さを幅の66.666%に固定する */
	position: relative;
	overflow: hidden;
	padding-top: 66.666%;
	margin: 0;
}
.achievements .subsection01 ul li figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.achievements .subsection01 ul li p{
	width:100%;
	font-size: 1.4rem;
	display:flex;
	margin:20px 0;
}
.achievements .subsection01 ul li:nth-child(3n+1){
	/*padding:0 2.5% 0 0;*/
	margin:0 2.5% 30px 0;	
	position: relative;
}
.achievements .subsection01 ul li:nth-child(3n+1) {
    position: relative;
}
.achievements .subsection01 ul li:nth-child(3n+1) img {
    transition: opacity 0.5s;
}

.achievements .subsection01 ul li:nth-child(3n){
	/*padding:0 0 0 2.5%;*/
	margin:0 0 30px 2.5%;
}

.achievements .subsection01 ul li.hover_image {
    position: relative;
}
.achievements .subsection01 ul li.hover_image img {
    transition: opacity 0.5s;
}
.achievements .subsection01 ul li img{
	width:100%;
}
.achievements .subsection01 ul li img:hover{
	opacity:0.5;
	transition : 0.7;
}

@media screen and (max-width: 749px) {
	.pc {
		display:none !important;
	}
	.sp {
		display:flex !important;
	} 
	.moca_sub {
		padding:0px 20px 0 20px;
		justify-content: center;
	}
	.moca_sub h2{
		width:auto;
		font-size:2.2rem;
		font-weight:bold;
		margin:0 auto;
		padding:0 0 3px 0;
		text-align:center;
	}
	.moca_sub p{
		width:100%;
		text-align:left;
		font-size:1.4rem;
		line-height:180%;
		display: flex;
	}
	.moca_sub p.subtitle{
		width:100%;
		margin:0 0 0px 0;
		text-align:center;
		font-size:1.4rem;
		line-height:100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.moca_sub a p.button01{
        width: fit-content;
        min-width: 250px;
		text-align:center;
		font-size:1.6rem;
		margin:40px auto;
		padding:8px 16px;
		border:#000000 1px solid;
		border-radius:30px;
		color:#000000;
		display: block;
	}
	.moca_sub a p.button01:hover{
		background:#000;
		color:#fff;
		transition : 0.6s;　/*ふわっとさせる指定*/
	}
	.moca_sub_book {
		padding:0 20px;
	}
	.moca_sub_book h2{
		width: 100%;
        font-size: 2.2rem;
        margin: 36px 0 38px 0;
        text-align: left;
    }
	.moca_sub_book p{
		width:100%;
		text-align:left;
		font-size:1.6rem;
		line-height:180%;
		display: flex;
		margin:0 auto 40px 0;
	}
	.moca_sub_book ul{
		flex-wrap: wrap;
		margin:0;
	}	
	.moca_sub_book ul li{
		width:100%;
		text-align:right;
		list-style:none;
	}
	.moca_sub_book ul li:nth-child(2n){
		width:100%;
		text-align:right;
		padding:0;
	}
	.moca_sub_book ul li img{
		width:100%;
		margin:0 0 0 auto;
		min-width:200px;
	}
	.moca_sub_book ul li p.subtittle{
		font-size: 1.9rem;
        margin: 32px 0;
        font-weight: normal;
        text-align: left;
        display: flex;
        justify-content: flex-start;
	}  
	.moca_sub_member {
		padding:0px 20px 0 20px;
		justify-content: center;
	}
	.moca_sub_member ul li{
		padding: 40px 0;
	}	
	.moca_sub_member h2{
		width: 100%;
        font-size: 2.6rem;
        margin: 40px 0;
        padding: 0;
        text-align: center;
	}
	.moca_sub_member h3{
		width:100%;
		font-size:2.2rem;
		font-weight:normal;
		margin:40px 0 40px 0;
		padding:0;
		text-align:left;
	}
	.moca_sub_member ul p{
		width:100%;
		text-align:left;
		font-size:1.6rem;
		line-height:180%;
		display: flex;
	}
	.moca_sub_member p.submenu{
		width:100%;
		margin:30px 0 20px 0;
		text-align:center;
		font-size:2rem;
		line-height:180%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.moca_sub_member a p.button01{
		width:250px;
		text-align:center;
		font-size:1.6rem;
		margin:40px auto;
		padding:8px 16px;
		border:#000000 1px solid;
		border-radius:30px;
		color:#000000;
		display: block;
	}
	.moca_sub_member a p.button01:hover{
		background:#000;
		color:#fff;
		transition : 0.6s;　/*ふわっとさせる指定*/
	}

    .moca_sub_member h1{
        width:100%;
        font-size:2.6rem;
        margin:40px 0;
        padding:0 0 0 0;
        text-align:center;
    }
    .moca_sub_member .member01{
        width:100%;
        padding: 0;
        margin: 0 0 40px 0;
        display:flex;
        flex-wrap: wrap;
    }

    .moca_sub_member .member01:nth-child(2n+1){
        width:100%;
        padding: 0;
    }
    .moca_sub_member .member01 .img01{
        width:100%;
        display:flex;
    }
    .moca_sub_member .member01 .img01 img{
        width:60%;
        margin: 0 auto;
        border-radius: 50%;
        overflow: hidden;
        display:flex;
    }
    .moca_sub_member .member01 .intro{
        width:100%;
        display:flex;
        flex-wrap: wrap;
        align-content: center;
        margin: 20px 0 0 0;
    }
    .moca_sub_member .member01 .intro p{
        width:100%;
        text-align: center;
        font-size: 1.6rem;
        margin: 0;
        display:flex;
        justify-content: center;
    }
    .moca_sub_member .member01 .intro p.ttl{
        font-weight: bold;
        margin: 8px 0;
    }
    .moca_sub_member .member01 .sentence {
        width: 100%;
        padding: 20px 0 0 0;
    }
    .moca_sub_member .member01 .sentence p{
        width:100%;
        text-align: left;
        font-size: 1.6rem;
        line-height: 180%;
        display:flex;
        margin:6px 0 0 0;
    }
    .moca_sub_member .member01 .link01 {
        width: 100%;
        padding: 0;
    }
    .moca_sub_member .member01 .link01 p{
        width:100%;
        text-align: left;
        font-size: 1.6rem;
        line-height: 180%;
        display:flex;
        flex-wrap: wrap;
    }
    .moca_sub_member .member01 .link01 p a{
        text-decoration: underline;
        color: #666666;
    }  
	.moca_sub_partner {
		padding:0px 20px 0 20px;
		justify-content: center;
	}
	.moca_sub_partner ul li{
		padding: 40px 0;
	}	
	.moca_sub_partner h2{
		width: 100%;
        font-size: 2.6rem;
        margin: 0 0 0 0;
        padding: 0;
        text-align: center;
	}
	.moca_sub_partner h3{
		width:100%;
		font-size:1.6rem;
		font-weight:normal;
		margin:40px 0 40px 0;
		padding:0;
		text-align:left;
	}
	.moca_sub_partner ul p{
		width:100%;
		text-align:left;
		font-size:1.6rem;
		line-height:180%;
		display: flex;
	}
	.moca_sub_partner p.submenu{
		width:100%;
		margin:30px 0 20px 0;
		text-align:center;
		font-size:2rem;
		line-height:180%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

    .moca_sub_partner .partner01{
        width:100%;
        padding: 0;
        margin: 0 0 40px 0;
        display:flex;
        flex-wrap: wrap;
    }
    .moca_sub_partner .partner01 .img01{
    width:100%;
    display:flex;
    flex-wrap: wrap;
    align-content: center;
    }
    .moca_sub_partner .partner01 .img01 img{
        width:60%;
        margin: 0 auto;
        border-radius: 50%;
        overflow: hidden;
        display:flex;
    }
    .moca_sub_partner .partner01:nth-child(2n){
        width:100%;
        padding: 0;
    }
    .moca_sub_partner .partner01 .info {
        width:100%;
    }
    .moca_sub_partner .partner01 .info .img01{
        width:100%;
        display:flex;
    }
    .moca_sub_partner .partner01 .info .img01 img{
        width:60%;
        margin: 0 auto;
        border-radius: 50%;
        overflow: hidden;
        display:flex;
    }
    .moca_sub_partner .partner01 .info .intro{
        width:100%;
        display:flex;
        flex-wrap: wrap;
        align-content: center;
        margin: 20px 0 0 0;
    }
    .moca_sub_partner .partner01 .info .intro p{
        width:100%;
        text-align: left;
        font-size: 1.6rem;
        margin: 0;
        display:flex;
        justify-content: center;
    }
    .moca_sub_partner .partner01 .info .intro p.ttl{
        font-weight: bold;
        margin: 8px 0;
        text-align: center;       
    }
    .moca_sub_partner .partner01 .info .sentence {
        width: 100%;
        padding: 0 0 0 0;
    }
    .moca_sub_partner .partner01 .info .sentence p{
        width:100%;
        text-align: left;
        font-size: 1.6rem;
        line-height: 180%;
        display:flex;
        margin:16px 0 0 0;
    }
    .moca_sub_partner .partner01 .info .link01 {
        width: 100%;
        padding: 0;
    }
    .moca_sub_partner .partner01 .info .link01 p{
        width:100%;
        text-align: left;
        font-size: 1.6rem;
        line-height: 180%;
        display:flex;
        flex-wrap: wrap;
    }
    .moca_sub_partner .partner01 .info .link01 p a{
        text-decoration: underline;
        color: #666666;
    }  
    h6 a {
      font-size: 1.6rem;
    }  
	.subpage_button {
		padding: 0 0 40px 0;
	}
	.subpage_button p{
		margin:0;
		padding:14px 0 0 0;
	}	
	.subpage_button p.button01 a{
    	width: fit-content;
        min-width:250px;
		text-align:center;
		font-size:1.6rem;
		margin:0 auto;
		padding:6px 8px;
		border:#000000 1px solid;
		border-radius:30px;
		color:#000000;
		display: block;
	}  
    .moca_sub h3{
        font-size: 1.8rem;
        padding: 1rem 1rem;
        border-left: 4px solid #ff0000;
    }  
    .moca_sub .mini_title_wrap{
        padding:0;
    }   
	.achievements .subsection01{
		width:100%;
		padding:0;
	}
	.achievements .subsection01 ul {
		width:100%;
		display:flex;
        flex-wrap: wrap;
		align-items: baseline;
		padding:0 ;
		margin:0 0 0 0 ;
	}
	.achievements .subsection01 ul li{
		width:100%;
		display:flex;
		flex-wrap: nowrap;
        margin: 0 0 20px 0;
		list-style:none;
	}
	.achievements .subsection01 ul li p{
		margin: 0 0 20px 0;
	}
	.achievements .subsection01 ul li:nth-child(3n+1){
        margin: 0 0 20px 0;
	}
	.achievements .subsection01 ul li:nth-child(3n){
        margin: 0 0 20px 0;
	}
	.achievements .subsection01 ul li img{
		width:100%;
	}
	.achievements .subsection01 ul li img {
		width:100%;
	}
}