@charset "utf-8";

@media screen and (max-width: 768px) {
   
	body {
    -webkit-text-size-adjust: none;		
  }
   
  br.sp {
    display: inline !important;
  }
  br.pc,img.pc,span.sp_non {
    display: none;
  }
	img.sp {
		display: inline-block;
	}
	
	.wp-block-embed iframe {
		width: 100%;
		height: 100%;
		aspect-ratio: 16 / 9;
	}
      
    
  .sa--left {
    transform: translate(10px, 0);
  }
  .sa--right {
    transform: translate(-10px, 0);
  }
  .sa--up {
    transform: translate(0, 10px);
  }
  .sa--down {
    transform: translate(0, -10px);
  }
	.sa--sp {
		transform: translate(0,10px) rotate(10deg);
	}
	
	
	/*===== header =====*/
	header {
		z-index: 50000;
	}
/*	header.mv {
		height: 70px;
		background-color: rgba(255,255,255,0.9);
	}*/
	
	h1 {
		left: 25px;
		top: 30px;
		width: 45px;		
	}
	header.mv h1 {
	
	}
	
	h1 a {
		opacity: 1;
		pointer-events: auto;
	}
/*	header.mv h1 a img {
		clip-path: inset(0 0 0 0);
	}*/

	
	.menu_btn {
		position: absolute;
		right: 25px;
		top: 30px;
		z-index: 10;
		font-size: 14px;
		line-height: 1em;
		width: 35px;
		height: 18px;		
		transition: all .4s;
	}	

	.menu-trigger,
	.menu-trigger div {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 100%;
		height: 100%;
		pointer-events: auto;
	}
	header.w .menu_btn .menu-trigger {
		color: #fff;
	}
	.menu-trigger::after {
		content: "menu";
		display: block;
		position: absolute;
		left: 0;
		bottom: -21px;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 0.05em;
		line-height: 1em;
		text-align: center;
		width: 100%;
	}	
	.menu-trigger:hover {
		opacity: 1;
	}
	.menu-trigger.active::after {
		content: "close";
		color: var(--key) !important;
	}
	
	.menu-trigger div {
		position: absolute;		
		width: 100%;
		height: 2px;
		background-color: var(--key);
		border-radius: 4px;
	}
	header.w .menu_btn .menu-trigger div {
		background-color: #fff;
	}

	.menu-trigger div:nth-of-type(1) {
		top: 0;
		right: 0;
	}
	.menu-trigger div:nth-of-type(2) {
		left: 0;
		top: 8px;
	}
	.menu-trigger div:nth-of-type(3) {
		left: 0;
		top: 16px;
	}
		
	.menu-trigger.active div {
		background-color: var(--key) !important;
	}
	.menu-trigger.active div:nth-of-type(1) {
		transform: translateY(8px) rotate(-35deg);
	}
	.menu-trigger.active div:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active div:nth-of-type(3) {
		transform: translateY(-8px) rotate(35deg);
	}

	/*----- menu -----*/
	#menu {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 40000;
		width: 100%;
		height: 100dvh;
		padding: 145px 0 0;
		overflow-y: scroll;		
		opacity: 0;
		transition: all .3s;
		pointer-events: none;
		background: url("../img/back01.png") repeat 50% 0;
	}
	#menu.open {		
		opacity: 1;
		pointer-events: auto;
	}
	
	#menu .box {
		position: relative;
		width: calc(100% - 204px);
		padding-left: 47px;
	}	
		
	#menu ul.list li {
		font-size: 17.5px;
		font-weight: 600;
		letter-spacing: 0.02em;
		line-height: 1em;
		margin-bottom: 25px;
	}
	#menu ul.list li:last-of-type {
		margin-bottom: 0;
	}
	
	#menu .sub {
		position: absolute;
		left: 47px;
		bottom: 0;
	}
	#menu .sub a {
		display: block;
		margin-right: 20px;
	}
	#menu .sub a img {
		width: auto;
		height: 23px;
	}
	
	#menu .img {
		width: 204px;
		height: 322px;
		background-color: #ffe;
	}
	
	#menu .bottom {
		width: calc(100% - 57px);
		padding: 34px 14px 25px;
		margin: 62px auto 0;
		border-top: 1px solid var(--key);
	}
	#menu .bottom p {
		font-size: 13px;
		font-weight: 500;
		letter-spacing: 0.14em;
		line-height: 1.42em;
	}
	#menu .bottom p:first-of-type {
		font-size: 14px;
		line-height: 1em;
		margin-bottom: 1em;
	}

	#menu .copy {
		font-size: 9px;
		font-weight: 600;
		letter-spacing: 0.01em;
		line-height: 1em;
		text-align: left;
		margin-top: 35px;
	}
	
	
	/*===== footer =====*/
	footer {
		padding: 55px 0 25px;
	}

	footer .inner {
		display: block !important;
		width: 100%;
	}

	footer .logo {
		width: 60px;
		margin: auto;
	}

	footer .cont {
		flex-direction: row-reverse;
		justify-content: space-between;
		position: relative;
		width: 100%;
	}
	footer .cont .text {
		width: 200px;
		margin: 35px auto 0;
	}
	footer .cont .text p {
		font-size: 14.3px;
		line-height: 1.42em;
	}
	footer .cont .text p:first-of-type {
		font-size: 15.81px;
		margin-bottom: 25px;
	}

	footer .cont ul.list {
		display: none;
	}

	footer .cont .sub {
		justify-content: center;
		margin-top: 40px;
	}
	footer .cont .sub a.ig {
		width: auto;
		margin-right: 20px;
	}
	footer .cont .sub a img {
		width: auto;
		height: 25px;
	}

	footer .totop {
		display: none;
	}

	footer .copy {
		font-size: 10px;
		text-align: center;
		padding-top: 0;
		margin-top: 60px;
		border-top: none;
	}
	
	
	/*===== common =====*/
	.page {
		padding-top: 123px;
	}

	h2.midashi {	
		color: var(--key);
		font-size: 18px;
		letter-spacing: 0.05em;
		text-decoration: underline;
		text-underline-offset: 10px;
		text-decoration-thickness: 1px;
		margin-bottom: 50px;
	}
	h2.top_midashi {
		font-size: 16px;
		letter-spacing: 0.05em;
		text-underline-offset: 7px;
	}
	
	/*----- movie -----*/
	.mv_box a img {
		width: 48px;
		height: 48px;
	}
	
	/*----- column -----*/
	.column {
		display: block !important;
		width: 100%;
		padding-top: 118px;
	}

	.category_list {
		width: 100%;
		padding: 0 25px;
	}
	.category_list .sticky {
		position: static;
		left: auto;
		top: auto;
	}
	.category_list h3 {
		display: none;
	}
	.category_list ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.category_list li {
		font-size: 13px;
		width: calc((100% - 15px) / 2);
		margin-bottom: 15px;
	}
	.category_list li:last-of-type {
		margin-bottom: 15px;
	}
	.category_list li a {
		display: block;
		text-align: center;
		padding: 13px 0;
		border: 1px solid var(--key);
	}
	.category_list li a::after {
		display: none;
	}
	.category_list li a.this,
	.category_list li a:hover {
		background-color: var(--key);
	}

	/*----- btn -----*/
	a.btn {
		font-size: 16px;
		letter-spacing: 0.1em;
		padding: 15px 45px 14px;
	}
	a.btn::after {
		right: 17px;
		top: 20px;
		width: 12px;
		height: 5px;
		background: url("../img/arrow_next01.png") no-repeat 0 0 / 12px 5px;
	}
	
	a.btn.t2 {
		font-size: 13px;
		letter-spacing: 0.14em;
		padding: 15px 45px 17px;
	}
	a.btn.t2::after {
		top: 18px;
	}

		
	
	/*===== Top page =====*/
	
	/*----- first_text -----*/
	#first_text {
		height: 100dvh;
	}
	#first_text img {
		width: 271.5px;
		height: auto;
	}
	
	/*----- movie -----*/
	#bk_mv {
		height: 100dvh;
	}
	
	/*----- fv -----*/
	#fv {
		height: 100dvh;
	}
	.scrolldown {
		bottom: 50px;
	}
	.scrolldown:before {
		animation:
		circlemove_sp 3.0s ease-in-out infinite,
		cirlemovehide 3.0s ease-out infinite;
	}
	.scrolldown:after {
		height: 55px;
	}
	.scrolldown .sc {
		bottom: -25px;
		font-size: 14px;
	}
	
	
	/*----- statement -----*/
	#statement {
		height: auto;		
	}
	#statement.top {
		padding: 100px 45px 95px;
	}
	#statement h2.top {
		left: 25px;
		top: 40px;
		transform: rotate(90deg) translate(-21px,0);
		font-size: 16px;
		font-weight: 600;
		letter-spacing: 0.05em;
		padding-bottom: 4px;
	}
	#statement .text p {
		font-size: 15px;
		letter-spacing: 0.1em;
		line-height: 2.03em;
		width: 100%;
		margin-bottom: 30px;
	}
	#statement .text p.first {
		font-size: 35px;
		letter-spacing: 0.12em;
		line-height: 1.42em;
		width: 100%;
		padding-left: 0;
		margin-bottom: 50px;
	}
	#statement .text p.first span {
		display: block;
		margin: 0 auto !important;
	}
	#statement .text p.first span:nth-of-type(1),
	#statement .text p.first span:nth-of-type(3) {
		padding-left: 0.8em;
	}
	#statement .text p.last,
	#statement .text p.last2 {
		font-size: 18.5px;
		letter-spacing: 0.12em;
	}
	#statement .text p.last2 {
		letter-spacing: 0.14em;
		line-height: 1.8em;
		margin: 50px auto 35px;
	}
	
	
	
	
	#statement.kai {
		height: 500vh;
	}
	#statement.kai h2 {
		left: 25px;
		top: 115px;
		transform: rotate(90deg) translate(-21px,0);
		font-size: 16px;
		font-weight: 600;
		letter-spacing: 0.05em;
		padding-bottom: 4px;
	}
	.sticky_wrap {  
		position: sticky;
		top: 0;
		height: 100vh;
		overflow: hidden;
	}

	.horizontal_scroll {
		display: flex;
		justify-content: space-between;
		position: absolute;
		top: 0;
		width: 500vw;
		height: 100%;  
		will-change: transform;  
	}

	.scroll_contents {	
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100vw;
		height: 100%;
	}

	#statement.kai p {
		font-size: 16px;
		letter-spacing: 0.1em;
		line-height: 2.03em;
		width: 100%;
		padding: 0 50px;
	}
	#statement.kai div.scroll_contents:nth-of-type(4) p {
		width: 100%;
	}
	#statement.kai p.first {
		font-size: 35px;
		letter-spacing: 0.18em;
		line-height: 1.42em;
		width: 100%;
		padding: 0;
	}
	#statement.kai p.first span:nth-of-type(1),
	#statement.kai p.first span:nth-of-type(3) {
		padding-left: 0.8em;
		margin-right: 0;
	}
	#statement.kai .last p {
		font-size: 20px;
		letter-spacing: 0.14em;
		padding: 0;
	}
	
	#statement .unit {
		background-color: rgba(151,155,158,0.9);
		margin-bottom: 350px;
	}
	
	#statement .unit .text p {
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 0.05em;
		line-height: 2.17em;
		margin-bottom: 1.2em;
	}
	#statement .unit .text p:last-of-type {
		margin-bottom: 0;
	}
	
	#statement .s01_sp,
	#statement .s05_sp {
		display: flex;
		align-items: center;
		height: 600px;
	}
	#statement .s05_sp {
		margin-bottom: 0;
	}	
		
	#statement .s01_sp .first {
		text-align: center;
		width: 100%;
	}
	#statement .s01_sp h2 {
		position: relative;
		font-size: 17px;
		font-weight: 600;
		letter-spacing: 0.05em;
		line-height: 1em;
		margin-bottom: 75px;
	}
	#statement .s01_sp h2::after {
		content: "";
		display: block;
		position: absolute;
		left: calc(50%);
		bottom: -15px;
		transform: translate(-50%,0);
		width: 27px;
		height: 1px;
		background-color: #fff;
	}
	#statement .s01_sp p {
		font-size: 30px;
		font-weight: 700;
		letter-spacing: 0.18em;
		line-height: 1.96em;
		text-align: center;
		width: 100%;
		overflow: hidden;
	}
	#statement .s01_sp p span {
		display: block;
	}
	#statement .s01_sp p span:first-of-type,
	#statement .s01_sp p span:last-of-type {
		margin-right: -1em;
	}
	
	#statement .s02_sp .text,
	#statement .s03_sp .text,
	#statement .s04_sp .text {
		padding: 50px 40px 40px;
	}

	#statement .s02_sp .i {
		width: 281px;
		height: calc(187px + 50px);
		padding-bottom: 50px;
		margin: 0 0 0 auto;
	}
	
	#statement .s03_sp .i {
		width: 325px;
		height: calc(204px + 50px);
		padding-bottom: 50px;
		margin: 0 auto 0 0;
	}

	#statement .s04_sp .i01 {
		width: 153px;
		height: 102px;
		margin: 15px auto 0 40px;
	}
	#statement .s04_sp .i02 {
		width: 222px;
		height: 148px;
		margin: 25px 0 0 auto;
	}
	
	#statement .s05_sp .last {
		width: 100%;
	}
	#statement .s05_sp p {
		font-size: 27px;
		font-weight: 700;
		letter-spacing: 0.18em;
		line-height: 2.03em;
		text-align: center;
		margin-left: 0.5em;
	}
	#statement .s05_sp p span:first-of-type {
		display: inline-block;
		margin: 0 -0.5em 0 -0.7em;
	}
	#statement .s05_sp p:last-of-type {
		font-size: 20px;
		letter-spacing: 0.14em;
		line-height: 1em;
		margin-top: 2.2em;
		margin-left: 0;
	}
	
	
		
	#is {		
		padding: 40px 0 60px;		
	}
	/*----- issue -----*/
	#is .issue {		
		width: 100%;
		margin-bottom: 60px;
	}

	#is .issue h2 {		
		right: 0;
		top: 0;
		transform-origin: left bottom;
    transform: rotate(90deg) translate(-16px, 0);
	}
	
	#is .issue .ct {
		left: 22px;
		top: 25px;
		width: 260px;
	}

	#is .issue .inner {
		display: block !important;
		padding-top: 115px;
	}
	#is .issue .inner .i {
		width: 338px;
		height: 232px;
		margin: 0 0 30px auto;
	}
	#is .issue .inner .text {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: 338px;
		margin: 0 0 0 auto;
	}
	#is .issue .inner .text p {
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 0.12em;
		line-height: 1.82em;
	}
	#is .issue .inner .text a.btn {
		margin: 0 25px 0 auto;
	}
	
	/*----- service -----*/
	#is .service {
		width: 100%;
		padding: 0 35px;
	}

	#is .service h2 {		
		margin-bottom: 40px;
	}
	
	#is .service .slide {
		width: 100%;
		height: auto;
	}
	#is .service .slide .slide-img {
		height: 445px;
	}

	#is .service .ct {		
		right: -15px;
		top: -35px;
		width: 72px;
	}
	
	#is .service .s_btn {
		right: 0;
		top: 430px;
		bottom: auto;
		width: 100%;
	}
	#is .service .s_btn a {
		font-size: 16px;
		letter-spacing: 0.12em;
		height: 75px;
		padding: 20px 0 0 17px;
		border-radius: 0;
	}
	#is .service .s_btn a::after {
		content: "";
		display: block;
		position: absolute;
		right: 17px;
		top: 50%;
		width: 38px;
		height: 38px;
		background: url("../img/arrow01.png") no-repeat 100% 50% / 38px 38px;
	}
	#is .service .s_btn a span {
		font-size: 11px;
		letter-spacing: 0.06em;
		margin-top: 10px;
	}

	#is .service .text {
		position: static;
		left: auto;
		bottom: auto;
		width: 100%;
		margin-top: 95px;
	}
	#is .service .text p {
		color: var(--key);
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.75em;
	}

	#ni {
		padding: 80px 0;		
	}
	/*----- news -----*/
	#ni .news {
		width: 100%;
		margin-bottom: 80px;
	}

	#ni .news h2 {
		position: static;
		left: auto;
		top: auto;
		font-size: 30px;	
		letter-spacing: 0;
		text-align: center;
		margin-bottom: 22px;
	}

	#ni .news .post_list {
		width: 100%;
		margin: 0 0 50px;
	}

	#ni .news .btn_box {
		position: static;
		left: auto;
		top: auto;
		text-align: center;
	}
	
	/*----- initiative -----*/
	#ni .initiative {
		width: 100%;
	}

	#ni .initiative .ct {
		position: static;
		left: auto;
		top: auto;
		width: 320px;
		margin: 0 auto 25px;
	}
	
	#ni .initiative .slide {
		position: relative;
		padding-top: 0;
	}
	#ni .initiative .slide .swiper-wrapper {
		flex-wrap: nowrap;
	}
	#ni .initiative .slide .swiper-slide {
		width: 100%;
		height: auto !important;
		overflow: hidden;
		padding: 0 37px;
		margin-bottom: 0;
	}
	#ni .initiative .slide div.swiper-slide:nth-of-type(2n) {
		margin: 0;
	}
	#ni .initiative .slide .swiper-slide a .i {
		height: 210px;
		overflow: hidden;
	}
	#ni .initiative .slide a .title {
		width: 100%;
		padding: 8px 18px;
		margin: 30px auto 25px;
	}
	#ni .initiative .slide a .title p {
		font-size: 14px;
		letter-spacing: 0.15em;
		line-height: 1.42em;
	}
	#ni .initiative .slide a .text {
		font-size: 13px;
		line-height: 1.5em;
		width: 100%;
		padding: 10px 0;
	}
	
	#ni .initiative .arrow {
		position: absolute;
		left: 0;
		top: 85px;
		z-index: 1000;
		text-align: center;
		width: 100%;
		height: 40px;
	}
	#ni .initiative .arrow > div {
		width: 40px !important;
		height: 40px;
		background-size: 40px;
	}
	#ni .initiative .arrow > div.swiper-button-prev {
		left: 17px;
		background-image: url("../img/arrow_prev03.png");
	}
	#ni .initiative .arrow > div.swiper-button-next {
		right: 17px;
		background-image: url("../img/arrow_next03.png");
	}
	#ni .initiative .arrow > div::after {
		text-indent: -999px;
	}
	
	#ni .initiative .slide .b_it {
		display: block;
		left: 0;
		bottom: -30px;
		font-size: 6px; /*位置がずれるのを解消*/
		width: 100%;
		height: 6px;
	}
	#ni .initiative .slide .swiper-pagination-bullet {
		width: 6px;
		height: 6px;
		background-color: var(--key);
		margin: 0 3px;
		opacity: 0.2;
	}
	#ni .initiative .slide .swiper-pagination-bullet-active {
		opacity: 1;
	}
	
	#ni .initiative .btn_box {
		text-align: center;
		margin-top: 60px;
	}
	
	
	/*----- h_slide -----*/
	.h_slide .swiper-slide {
		width: 512px !important;
		height: 229px !important;
	}
	
	/*----- Company -----*/
	#company {
		padding: 50px 25px;
	}

	#company .inner {
		width: 100%;
		padding: 35px 20px 20px;
		border-radius: 10px;
	}
	#company h2 {
		text-align: center;
		margin-bottom: 20px;
	}
	#company table,
	#company tbody,
	#company tr,
	#company td {
		display: block;
		width: 100% !important;
	}
	#company td {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.53em;
		overflow-wrap: anywhere;
		padding: 0 10px 20px;
		border-bottom: none;
	}
	#company td p {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.53em;
	}
	#company td p + p {
		margin-top: 1em;
	}
	#company tr td:first-of-type {
		font-size: 12px;
		letter-spacing: 0.15em;
		line-height: 1em;
		width: 100%;
		padding: 25px 10px 12px;
	}
	#company tr td:last-of-type {
		border-bottom: 1px solid var(--key);
	}
	#company tr:last-of-type td:last-of-type {
		border-bottom: none;
	}
	#company td dl {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.53em;
	}
	#company td dl dt {
		width: 75px;
		margin-bottom: 0.5em;
	}
	#company td dl dd {
		width: calc(100% - 75px);
		margin-bottom: 0.5em;
	}
	
	
	/*===== Issue =====*/
	#issue {
		padding-top: 118px;
	}
	
	#issue h2 {
		display: block;
		color: #fff;
		margin-bottom: 98px;
	}
	
	#issue .mv_box_wrap {
		margin-bottom: 70px;
	}
	#issue .mv_box_wrap .ct {
		left: 25px;
		right: auto;
		top: -50px;		
		width: 246px;
	}
	
	#issue .mv_box {
		width: 350px;
		height: 196px;
		border-radius: 10px 0 0 10px;	
	}
	
	#issue .inner {
		width: 100%;
		padding: 0 25px;
	}
	#issue .inner h3 {
		font-size: 15px;
		letter-spacing: 0.18em;
	}
	#issue .inner h3 span {
		font-size: 11px;
		letter-spacing: 0.01em;
		margin-top: 1em;
	}
	
	#issue .inner .box {
		padding: 40px 20px 45px;
		margin: 25px 0 125px;
		border-radius: 10px;		
	}
	
	#issue .inner .unit {
		display: block !important;
		position: relative;
		margin-bottom: 50px;
		border-bottom: 1px solid var(--key);
	}
	#issue .inner div.unit:last-of-type {
		margin-bottom: 0;
	}

	#issue .inner .unit .no {
		position: absolute;
		left: 0;
		top: 0;
		margin-bottom: 0;
	}
	#issue .inner .unit .no span {
		display: block;
		font-weight: 600;
		text-align: center
	}
	#issue .inner .unit .no span:first-of-type {
		font-size: 11px;
	}
	#issue .inner .unit .no span:last-of-type {
		font-size: 30px;
		letter-spacing: 0.07em;
	}
	
	#issue .inner .unit .title {
		padding-left: 45px;
		margin-bottom: 25px;
	}
	#issue .inner .unit .title div {		
		font-size: 16px;		
		letter-spacing: 0.1em;
		padding: 2px 3px 2px 5px;
	}
	#issue .inner .unit .title div + div {
		margin-top: 10px;
	}
	#issue .inner .unit .title div:nth-of-type(1) span::before {
		content: "";
		display: inline-block;
		width: 18px;
		height: 18px;
		margin-right: 3px;
		vertical-align: -2px;
		background: url("../img/check.png") no-repeat 0 0 / 18px 18px;
	}
	
	#issue .inner .unit .text p {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.857em;
		padding: 0 12px;
	}
	#issue .inner .unit .text p.s {
		font-size: 11px;
		letter-spacing: 0.1em;
		line-height: 1.59em;
		text-align: left;
		margin-top: 2em;
	}
	
	#issue .inner .unit .zu {
		padding: 0 7px;
		margin-top: 30px;
	}
	
	#issue .inner .unit .zu .moji {
		font-size: 13px;
		letter-spacing: 0.12em;
		line-height: 1.88em;
	}
	#issue .inner .unit .zu .moji2 {
		font-size: 11px;
		letter-spacing: 0.08em;
		line-height: 1.82em;
	}

	#issue .inner .unit .fuki {
		font-size: 12px;
		line-height: 1.33em;
		padding: 6px 0;
		border-radius: 6px;
	}
	#issue .inner .unit .fuki::after {
		bottom: -10px;
		border-right: 4px solid transparent;
		border-left: 4px solid transparent;
		border-top: 10px solid var(--key);
	}
	
	#issue .inner #i01 .flex {
		margin-bottom: 30px;
	}
	#issue .inner #i01 .flex > div {
		width: 130px;
	}
	#issue .inner #i01 .flex > div .i {
		width: 100px;
		margin-top: 23px;
	}
	#issue .inner #i01 .i03 {
		width: 260px;
		margin-top: 23px;
	}
	
	#issue .inner #i02 .f02 {
		margin-top: 30px;
	}
	#issue .inner #i02 .i {
		margin-top: 25px;
	}

	#issue .inner #i03 .i {
		padding: 0 10px;
		margin-bottom: 30px;
	}
	
	#issue .inner #i04 .flex {
		padding-left: 15px;
		margin-bottom: 40px;
	}
	#issue .inner #i04 .flex .i {
		width: 66px;
	}
	#issue .inner #i04 .f01 {
		font-size: 13px;
		padding-right: 25px;
	}
	#issue .inner #i04 .f01 > span {
		display: block;
		margin: 12px 0 10px;
	}
	#issue .inner #i04 .f01 > span::before {		
		bottom: -3px;
		width: 86px;
		height: 10px;
	}
	#issue .inner #i04 .f01 > span span {
		font-size: 27.995px;
	}
	#issue .inner #i04 .f02 {
		position: relative;
		margin: 0 -7px -60px auto;
		z-index: 10;
		font-size: 13px;
		letter-spacing: 0.14em;
		line-height: 1.44em;
		width: 76px;
		height: 76px;
		padding: 20px 0 0;
		border-radius: 50%;
	}
	#issue .inner #i04 .f02::after {
		display: none;
	}
	
	#issue .inner #i05 .flex {
		width: calc(100% + 30px);
		margin: 0 -15px 35px;
	}
	#issue .inner #i05 .flex > div {
		width: 150px;
	}
	#issue .inner #i05 .flex > div .i {
		width: 120px;
		margin: 0 auto 20px 10px;
	}
	#issue .inner #i05 .flex > div .i img {
		margin-right: -25px;
	}
	#issue .inner #i05 .i03 {
		margin: 25px auto 0;
	}


	#issue .inner .unit .link {
		position: relative;
		text-align: center;
		width: 100%;
		padding: 40px 0;
		margin: 0;
	}
	#issue .inner div.unit:nth-of-type(2n) .link {
		text-align: center;
	}
	#issue .inner .unit .link::after {
		display: none;
	}

	#issue .inner #i01 .text,
	#issue .inner #i02 .text,
	#issue .inner #i03 .text,
	#issue .inner #i04 .text,
	#issue .inner #i05 .text,
	#issue .inner #i01 .zu,
	#issue .inner #i02 .zu,
	#issue .inner #i03 .zu,
	#issue .inner #i04 .zu,
	#issue .inner #i05 .zu {
		width: 100%;
	}
	
	#issue .challenge {		
		padding: 135px 0 80px;
	}
	#issue .challenge .ct {
		left: 25px;
		top: -47px;
		width: 302px;
	}
	
	#issue .challenge .box {
		display: block !important;
		position: relative;
		width: 100%;
		overflow: hidden;
		padding: 0 25px;
		margin: auto;
	}
	#issue .challenge .box .i {
		width: 100%;
		margin-bottom: 40px;
	}
	#issue .challenge .box .text {
		width: 100%;
	}
	#issue .challenge .box .text p {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.857em;
	}
	#issue .challenge .box .text p:first-of-type {
		position: absolute;
		right: 25px;
		top: 0;
		font-size: 14px;
		line-height: 1.785em;
		margin-bottom: 0;
	}
	#issue .challenge .box .text .btn_box {
		text-align: center;
		margin-top: 40px;
	}
	
	
	/*===== Member =====*/
	#member {
		overflow: hidden;
	}
	#member h2 {
		margin-bottom: 80px;
	}
	#member .unit_c {
		display: block !important;
		position: relative;
		width: 100%;
		margin: 0 auto 105px;
	}
	#member .unit_c .h {
		width: 100%;
	}
	#member .unit_c .h h3.name {
		position: absolute;
		left: 25px;
		top: -28px;
		z-index: 10;
		width: 186px;
		margin-bottom: 0;
	}
	#member .second .unit_c .h h3.name {
		width: 146px;
		margin-bottom: 0;
	}
	#member .unit_c .h .photo {
		width: 276px;
		height: 362px;
		margin: 0 0 95px auto;
	}
	#member .unit_c .h .title {
		display: inline-block;
		right: auto;
		left: -75px;
		bottom: -60px;
		font-size: 13px;
		line-height: 1.42em;
		width: auto;
		height: 95px;
		padding: 10px 10px 0 14px;
		border-left: 1px solid var(--key);
	}
	#member .unit_c .t {
		width: 100%;
		padding: 0 25px;
	}
	#member .unit_c .t h4 {
		font-size: 16px;
		letter-spacing: 0.12em;
		padding-bottom: 10px;
		margin-bottom: 35px;
	}
	#member .unit_c .t h4 span {
		font-size: 12px;
		letter-spacing: 0.04;
	}
	#member .unit_c .t p {
		font-size: 14px;
		letter-spacing: 0;
		line-height: 1.85em;
		margin-bottom: 1.85em;
	}
	
	#member .second {
		padding: 160px 0 80px;
	}
	#member .second::after {
		top: -41px;
		width: 321px;
		height: 95px;
		background: url("../img/maemoatomo_sp.png") no-repeat 0 0 / 321px 95px;
	}

	#member .advisor {
		width: 100%;
		padding: 0 25px;
		margin: auto;
	}
	#member .advisor h3 {
		font-size: 15px;
		letter-spacing: 0.05em;
		margin-bottom: 20px;
	}
	#member .advisor .box {
		padding: 50px 32px 40px;
		border-radius: 10px;
	}
	#member .advisor .box::after {
		display: none;
	}
	#member .advisor .unit {
		position: relative;
		width: 366px;
	}
	#member .advisor .unit + div.unit {
		padding-top: 50px;
		border-top: 1px dashed var(--key);
		margin-top: 40px;
	}
	#member .advisor .unit .i {
		width: 149px;
		height: 149px;
		margin: 0 auto 25px;
	}
	#member .advisor .unit .post {
		position: static;
		left: auto;
		top: auto;
		font-size: 13px;
		letter-spacing: 0.17em;
		writing-mode: horizontal-tb;
		width: 125px;
		height: 30px;
		padding: 8px 0 0;
		margin: 0 auto 15px;
		border-radius: 15px;
	}
	#member .advisor .unit .name {
		font-size: 15px;
		letter-spacing: 0.12em;
		margin-bottom: 25px;
	}
	#member .advisor .unit .name span {
		font-size: 11px;
	}
	#member .advisor .unit .title {
		font-size: 13px;
		letter-spacing: 0.15em;
		line-height: 1.5em;
		padding: 10px 0;
		margin-bottom: 20px;
	}
	#member .advisor .unit p {
		font-size: 13px;
		letter-spacing: 0.1em;
		line-height: 1.88em;
	}


	/*===== Recruit =====*/
	#recruit .mv_box {
		width: calc(100% - 50px);
		height: 182px;
		border-radius: 10px;	
	}
	
	#recruit .msg {
		display: block !important;
		width: 100%;
		padding: 0 25px;
		margin: 45px auto 80px;
	}
	#recruit .msg .read {
		font-size: 18px;
		letter-spacing: 0.12em;
		line-height: 1.91em;
		width: 100%;
		margin-bottom: 40px;
	}
	#recruit .msg .read .sticky {
		position: static;
		left: auto;
		top: auto;
	}
	#recruit .msg .text {
		width: 100%;
		padding-top: 0;
	}
	#recruit .msg .text p {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.85em;
		margin-bottom: 1.85em;
	}
	#recruit .msg .text .box {
		padding: 45px 0;
		margin-top: 45px;
	}
	#recruit .msg .text .box h3 {
		font-size: 14px;
		letter-spacing: 0.12em;
		padding: 3px 3px 4px 4px;
		background-color: var(--mark);
		margin-bottom: 1em;	
	}
	#recruit .msg .text .box p + h3 {
		margin-top: 15px;
	}
	#recruit .msg .text .box p {
		letter-spacing: 0.04em;
		line-height: 1.85em;
	}
	#recruit .msg .text .box p.sub {
		margin: -0.8em 0 1em -0.5em;
	}
	#recruit .msg .text .att {
		margin-top: 25px;
	}
	#recruit .msg .text .att p {
		font-size: 10px;
		letter-spacing: 0.06em;
		line-height: 1.72em;
	}
	
	#recruit .link_btn {
		width: 100%;
		padding: 0 25px;
		border: none;
	}
	#recruit .link_btn ul {
		border: 1px solid #fff;
	}
	#recruit .link_btn ul li {
		height: 105px;
	}
	#recruit .link_btn ul li a {
		font-size: 14px;
		line-height: 1.42em;
	}
	#recruit .link_btn ul li a span {
		display: inline-block;
		text-align: left;
	}
	#recruit .link_btn ul li a::after {
		content: "";
		display: block;
		width: 35px;
		height: 35px;
		margin-left: 8px;
		background: url("../img/arrow01.png") no-repeat 0 0 / 35px 35px;
	}
	
	#recruit .staff_interview {
		padding: 90px 0 150px;
	}
	#recruit .staff_interview h3 {
		width: 245px;
		margin: 0 auto 25px;
	}
	#recruit .staff_interview .text {
		font-size: 13px;
		letter-spacing: 0.12em;
		line-height: 1.76em;
		text-align: justify;
		padding: 0 42px;
	}
	
	#recruit .staff_interview .slide {
		position: relative;
		width: 100%;
		margin: 26px auto 0;
	}
	#recruit .staff_interview .slide .swiper-container {
		overflow: hidden !important;
	}
	#recruit .staff_interview .slide .swiper-wrapper {
		flex-wrap: nowrap;	
	}
	#recruit .staff_interview .slide .swiper-slide {
		position: relative;
		color: var(--key);
		width: 100%;
		height: calc(438px + 54px) !important;
		padding: 54px 0 0;
		background-color: transparent;
		border-radius: 0;
	}
	#recruit .staff_interview .slide .swiper-slide .inner {
		width: 264px;
		height: 438px !important;
		padding: 35px 0 0;
		margin: auto;
		background-color: #fff;
		border-radius: 10px;
	}
	#recruit .staff_interview .slide .swiper-slide .look {
		display: block;
		position: absolute;
		right: 20px;
		top: 0;
		width: 106px;
		height: auto;
	}
	#recruit .staff_interview .slide .swiper-slide .i {
		width: 123px;
		height: 123px;
		margin: 0 auto 25px;
	}
	#recruit .staff_interview .slide .swiper-slide .name {
		font-size: 16px;
		letter-spacing: 0.12em;
		line-height: 1em;
	}
	#recruit .staff_interview .slide .swiper-slide .en {
		font-size: 12px;
		letter-spacing: 0.04em;
		margin: 10px 0 30px;
	}
	#recruit .staff_interview .slide .swiper-slide .post {
		font-size: 14px;
		line-height: 1.65em;
		width: 178px;
		padding: 20px 0 28px;
	}
	#recruit .staff_interview .slide .swiper-slide a.btn {
		padding: 13px 50px 16px;
	}
	
	#recruit .staff_interview .slide .arrow {
		position: absolute;
		left: 0;
		top: 250px;
		z-index: 1000;
		text-align: center;
		width: 100%;
		height: 40px;
	}
	#recruit .staff_interview .slide .arrow > div {
		width: 50px !important;
		height: 50px;
		background-size: 50px;
	}
	#recruit .staff_interview .slide .arrow > div.swiper-button-prev {
		left: 30px;
		background-image: url("../img/arrow_prev03.png");
	}
	#recruit .staff_interview .slide .arrow > div.swiper-button-next {
		right: 30px;
		background-image: url("../img/arrow_next03.png");
	}
	#recruit .staff_interview .slide .arrow > div::after {
		text-indent: -999px;
	}
	
	#recruit .staff_interview .slide .b_staff {
		display: flex;
		justify-content: space-between;
		left: 50%;
		bottom: -30px;
		transform: translate(-50%,0);
		font-size: 1px; /*位置がずれるのを解消*/
		width: 264px;
		height: 1px;
	}
	#recruit .staff_interview .swiper-pagination-bullet {
		width: calc((264px - 25px) / 3);
		height: 1px;
		background-color: #fff;
		margin: 0;
		border-radius: 0;
		opacity: 1;
	}
	#recruit .staff_interview .swiper-pagination-bullet-active {
		opacity: 1;
		background-color: var(--key);
	}
	
	
	/*===== News ======*/
	#news_list {
		padding-bottom: 80px;
	}
	#news_list h2 {
		text-align: center;
		margin-bottom: 50px;
	}
	.post_list {
		width: 100%;
		padding: 0 25px;
		margin-top: 25px;
	}
	.post_list ul {
		border-top: 1px solid var(--key);
	}		
	.post_list li.non {
		line-height: 1em;
		text-align: center;
		padding: 60px 0;
	}
	.post_list li a {
		padding: 28px 50px 25px 0;
		background: url("../img/arrow01.png") no-repeat 100% 50% / 35px 35px;
	}
	.post_list li a .sub {
		align-items: center;	
		margin-bottom: 12px;
	}
	.post_list li a .date {		
		font-size: 13px;
		padding-top: 2px;
		margin-right: 2em;
	}
	.post_list li a .date::after {
		right: -1em;
		top: 1px;
		width: 1px;
		height: 14px;
	}
	.post_list li a .cat {
		font-size: 13px;
		font-weight: 500;
	}
	.post_list li a .title {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		-webkit-line-clamp: 2;
	}
	.post_list li a .title p {		
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.57em;
		text-align: left;
	}

	/*----- pagenavi -----*/
	.pagenavi {
		text-align: center;
		margin-top: 40px;
	}
	.pagenavi .wp-pagenavi {
		height: 50px;
		padding: 12px 10px 0;
		border-radius: 25px;
	}
	.pagenavi span,
	.pagenavi a {
		font-size: 14px;
		width: 23px;
		height: 23px;
		padding: 6px 0 0 !important;
		margin: 0 5px !important;
	}
	.pagenavi .nextpostslink,
	.pagenavi .previouspostslink {
		background-position: 50% calc(50% - 1px);
	}
	
	
	/*----- Single -----*/
	#single {
		padding: 12px 0 65px;
		margin-bottom: 0;
	}
	#single article {
		width: 100%;
		padding: 0 25px;
	}

	#single article .h {
		padding-bottom: 25px;	
		margin-bottom: 40px;
	}
	#single article .h .sub {
		font-size: 13px;
	}
	#single article .h .date {
		font-weight: 500;
		padding-top: 3px;
		margin-right: 2em;
	}
	#single article .h .date::after {
		top: 1px;
		width: 1px;
		height: 14px;
	}
	#single article .h .cat {
		font-weight: 500;
		letter-spacing: 0.14em;
	}
	#single article .h h2 {
		font-size: 17px;
		letter-spacing: 0.12em;
		line-height: 1.52em;
	}
	#single article .h h2 span {
		font-size: 15px;
		line-height: 1.73em;
	}
	
	#single article .cont h3 {
		font-size: 15px;
		letter-spacing: 0.14em;
		line-height: 1.46em;
		padding: 15px 10px;
		margin: 60px 0 35px;
	}
	#single article .cont h4 {
		font-size: 14px;
		letter-spacing: 0.14em;
		line-height: 1.85em;
		margin: 0 0 1.85em;
	}	
	#single article .cont p {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.85em;
		margin-bottom: 1.85em;
	}
	#single article .cont strong {
		font-size: 14px;
	}
	#single article .cont .wp-block-image {
		margin-bottom: 35px;
	}
	#single article figure figcaption {
		font-size: 10px;
		line-height: 1.6em;
		margin: 1em 0 0 !important;
	}
	#single article .cont .wp-block-separator {	
		margin: 50px 0;
	}

	
	/*----- pager -----*/
	.pager {
		width: 100%;
		margin: 65px auto 50px;
	}
	.pager td {
		width: 30%;
		vertical-align: middle;
	}
	.pager td:nth-of-type(2) {
		width: 40%;
		text-align: center;
	}
	.pager td:nth-of-type(3) {
		text-align: right;
	}
	.pager td a {
		display: inline-block;
		color: var(--key);
		line-height: 1em;
	}
	.pager td:nth-of-type(1) a,
	.pager td:nth-of-type(3) a {
		font-size: 12px;
		min-height: 40px;
		padding-top: 15px;
	}
	.pager td:nth-of-type(1) a {
		padding-left: 50px;
		background-size: 40px 40px;
	}
	.pager td:nth-of-type(2) a {
		font-size: 13px;
		width: 135px;
		height: 40px;
		padding-top: 12px;
		border-radius: 20px;
	}
	.pager td:nth-of-type(3) a {
		padding-right: 50px;
		background-size: 40px 40px;
	}

	
	
	/*===== initiative =====*/
	#initiative {
		padding-bottom: 80px;
	}
	#initiative h2 {
		text-align: center;
		margin-bottom: 50px;
	}

	.initiative_list {
		width: 100%;
		padding: 0 25px;
	}
	.initiative_list ul {
		border-top: 1px solid var(--key);
		margin-top: 25px;
	}
	.initiative_list li {
		width: 100%;
		margin: 0;
		border-bottom: 1px solid var(--key);
	}

	.initiative_list li.non {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1em;
		padding: 50px 0;
		margin: 0;
	}
	.initiative_list li a {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 30px 0;
	}
	.initiative_list li a .i {
		position: relative;
		width: 120px;
		height: 85px;
		overflow: hidden;
		margin-bottom: 0;
	}
	.initiative_list li a .i::after {
		display: none;
	}
	.initiative_list li a .text {
		width: calc(100% - 120px - 20px);
	}
	.initiative_list li a .sub {
		align-items: center;	
		margin-bottom: 10px;
	}
	.initiative_list li a .date {
		font-size: 13px;
		font-weight: 500;
		letter-spacing: 0.08em;
		line-height: 1em;
		padding-top: 3px;
		margin-right: 2em;
	}
	.initiative_list li a .date::after {
		right: -1em;
		top: 1px;
		height: 14px;		
	}
	.initiative_list li a .cat {
		font-size: 13px;
	}
	.initiative_list li a .title {
		-webkit-line-clamp: 3;
	}
	.initiative_list li a .title p {
		font-size: 14px;
		letter-spacing: 0.12em;	
		line-height: 1.57em;
		text-align: left;
	}
	
	
	/*===== talk =====*/
	#talk {
		padding: 135px 0 80px;
	}

	#talk article {
		width: 100%;
		padding: 0 25px;
	}
	
	#talk .first {
		position: relative;
		height: calc(221px + 60px);
		padding-bottom: 60px;
		margin-bottom: 50px;
	}
	#talk .first .obi {
		width: 100%;
		height: 60px;
	}
	
	#talk .profile {
		padding: 38px 0 25px;
	}
	#talk .profile::before,
	#talk .profile::after {
		width: 128px;
	}
	#talk .profile h3 {
		top: -5px;
		font-size: 13px;
	}
	#talk .profile .photo {
		right: 10px;
		top: 38px;
		transform: translate(0,0);
		width: 95px;
		height: 95px;
	}
	#talk .profile .text {
		width: 100%;
	}
	#talk .profile .text .h {
		display: inline-block !important;
		text-align: center;
		margin-left: 10px;
	}
	#talk .profile .text .h .title {
		display: inline-block;
		font-size: 11px;		
		letter-spacing: 0.12em;
		line-height: 1.45em;
		height: auto;
		padding: 6px 30px;
		background-color: #fff;
		border-radius: 100vmax;
	}
	#talk .profile .text .h .title span {
		display: block;
	}
	#talk .profile .text .h .title span + span {
		margin-left: 0;
	}
	#talk .profile .text .h .name {
		display: block !important;
	}
	#talk .profile .text .h .name .j {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1em;
		margin: 20px 0 8px;
	}
	#talk .profile .text .h .name .j::after {
		display: none;
	}
	#talk .profile .text .h .name .e {
		font-size: 10px;
		padding-top: 0;
	}
	#talk .profile .text .ex {
		padding-top: 25px;
		margin-top: 30px;
	}
	#talk .profile .text .ex p {
		font-size: 13px;
		letter-spacing: 0.12em;
		line-height: 1.84em;
	}
	
	#talk .midashi_box {
		padding: 35px 0;
	}
	#talk .midashi_box .tsc {
		width: 100%;
		padding: 0 7px 28px 8px;
	}
	#talk .midashi_box ul {
		position: relative;
		width: 100%;
		padding: 0;
		border-left: none;
	}
	#talk .midashi_box ul::after {
		left: 43px;
		top: 12px;
		height: calc(100% - 24px);
	}
	#talk .midashi_box ul li::after {
		left: 40px;
		top: 9px;
		transform: translate(0,0);
		width: 7px;
		height: 7px;
	}
	#talk .midashi_box ul li {
		position: relative;
		margin-bottom: 25px;
	}
	#talk .midashi_box ul li a {
		align-items: flex-start;
	}
	#talk .midashi_box ul li span {
		font-size: 13px;
		letter-spacing: 0.12em;
		line-height: 1.84em;
		width: calc(100% - 70px);
	}
	#talk .midashi_box ul li span.e {
		font-size: 15px;
		padding-top: 7px;
		width: 70px;
	}
	
	#talk .theme {
		position: relative;
		margin: 55px 0 40px;
	}
	#talk .theme span {
		top: -6px;
		font-size: 13px;
	}
	#talk .theme h3 {
		font-size: 17px;
		letter-spacing: 0.12em;
		text-align: left;
		padding: 25px 17px;
		margin-bottom: 32px;
	}
	#talk .theme h3::before,
	#talk .theme h3::after {
		width: 17px;
		height: 17px;
	}
	#talk .theme h3::before,
	#talk .theme h3::after {
		border-width: 1px;
	}
	#talk .theme p {
		letter-spacing: 0.14em;
		line-height: 2em;
	}
	
	#talk .session h4 {
		align-items: flex-start;
		font-size: 15px;
		letter-spacing: 0.14em;
		line-height: 1.46em;
		margin-top: 45px;
	}
	#talk .session h4 div.e {
		font-size: 30px;
		width: 65px;
		padding-top: 3px;
	}
	#talk .session h4 div.m {
		width: calc(100% - 65px);
	}
	#talk .session .box {
		display: block !important;
		margin: 25px 0;
	}
	#talk .session .box .u {
		width: 100%;
	}
	#talk .session .box .c {
		width: 100%;
	}
	#talk .session .box figure {
		margin: 40px 0;
	}
	#talk .session .box figure figcaption {
		font-size: 10px;
		line-height: 1.6em;
		margin: 1em 0 0 !important;
	}
	#talk .session .box p {
		font-size: 14px;
		letter-spacing: 0.12em;
		line-height: 1.85em;
	}
	
	#talk .next {
		padding: 25px 0;
		margin-top: 35px;
	}
	#talk .next p {
		font-size: 15px;
		letter-spacing: 0.12em;
		text-align: left;
	}

	#talk .sanko {
		margin-top: 35px;
	}
	#talk .sanko p {
		font-size: 11px;
		letter-spacing: 0;
		line-height: 1.59em;
	}

	
	
	/*===== Contact =====*/
	#contact {
    width: 100%;
    padding: 118px 25px 75px;
  }
	
	#contact .inner {
		width: 100%;
		padding: 0;
		border-radius: 0;
		background-color: transparent;
	}

	#contact table,
	#contact table tbody,
	#contact table tr,
	#contact table td {
		display: block;
		width: 100% !important;
	}
	
	#contact table:first-of-type {  
		width: 100%;
		padding: 35px 25px 13px;
		margin-bottom: 12px;
		border-radius: 8px;
		background-color: #fff;
	}
	
	#contact td {
		vertical-align: top;
	}
	
	#contact .inq p.last {
    font-size: 13px;
		font-weight: 500;
		letter-spacing: 0.14em;
    line-height: 1.84em;
    margin-top: 40px;
  }
  
  #contact td p {
    font-size: 13px;
		letter-spacing: 0.14em;
  }
  #contact tr td:nth-of-type(1) {
    position: relative;
    padding: 0 0 15px 0;
  }
  #contact tr td:nth-of-type(2) {  
    padding-bottom: 27px;
  }
	
  #contact tr td:nth-of-type(2) div {
    min-height: 43px;
    padding: 13.5px 10px;
		border-radius: 9px;
  }

	/*---- check leyout -----*/
	#contact tr td:nth-of-type(2) div.ck {
		padding: 25px 20px 10px 20px;
	}
	#contact tr td:nth-of-type(2) div.ck .wpcf7-form-control .wpcf7-list-item {
		width: 100%;
		margin-bottom: 15px;
	}

	/*---- 送信確認 -----*/
  #contact tr.flex {
		display: block !important;
  }
  #contact tr.flex td:nth-of-type(2) {
    width: 100% !important;
  }
  #contact .ac {
    padding: 0 !important;
    background-color: transparent !important;
    margin: 10px 0 0;
  }
  #contact .ac .wpcf7-list-item-label {
    font-size: 15px !important;
		font-weight: 400;
  }
  #contact .ac .a {
    display: block;
    font-size: 12px;
		font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1em;
    padding-left: 0;
    margin: 15px 0 0 0;
  }
  #contact .ac label::before {
    top: 2px;
    width: 13px;
    height: 13px;
  }
  #contact .ac label input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
    top: 2px;
    width: 13px;
    height: 13px;
  }
  
	/*----- item -----*/
  input[type="text"],
  input[type="email"],
  textarea {
    font-size: 16px;
  }
  textarea {
    height: 220px;
  }

  /*----- その他テキスト -----*/
	.wpcf7-list-item.has-free-text input {
		width: 180px;
		margin-left: 0;
	}

	/*----- lable -----*/
  .inq label {
    font-size: 15px;
    letter-spacing: 0.14em;
    padding-left: 24px;
  }
  .inq .wpcf7-list-item-label {
    display: inline-block;
    font-size: 13px;
    letter-spacing: 0.14em;
  }
  .inq label::before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 1px;
    width: 15px;
    height: 15px;
  }
  .inq label input[type="radio"]:checked + .wpcf7-list-item-label::before,
  .inq label input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 1px;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
  }
	
	/*----- submit ------*/
  #contact .btn {
    width: 225px;
    margin: 25px auto 0;
  }
  #contact .btn p {
    height: 55px;
    overflow: hidden;
  }
  .wpcf7-submit {
    font-size: 16px;
    line-height: 1em;
    letter-spacing: 0.08em;
    height: 55px;
    border-radius: 4px;
  }
  
	/*----- 送信後 ------*/
  .transmission {
		padding: 114px 0 90px;
  }
	.transmission p {
		font-size: 13px !important;
		font-weight: 800;
	}
	
	/*----- エラー ------*/
	.wpcf7-not-valid-tip {
		display: block !important;
		bottom: -30px;
		font-size: 12px !important;
	}
	.ck .wpcf7-not-valid-tip {
		left: -20px;
		bottom: -25px;
		width: 250px; /* iOS用 幅をpxで明示しないと幅が0になるため */
	}
	textarea + .wpcf7-not-valid-tip {
		bottom: -30px;
	}
	
	
	/*----- reCAPTCHA ------*/
	.reCAPTCHA_text p {
		font-size: 11px;
		letter-spacing: 0.08em;
		line-height: 1.47em;
		text-align: center;
		margin-top: 25px;
	}
	
	
	/*===== Not found =====*/
	#not-found .flex {
		padding: 200px 0 150px;
	}
	#not-found .flex p {
		font-size: 13px;
		letter-spacing: 0.08em;
		line-height: 1.6em;
	}
  
}


@keyframes circlemove_sp {
  0% {bottom: 55px;}
  100% {bottom: -5px;}
}


@keyframes prog_sp {
	0% {
		width: 0;
	}
	100% {
		width: 40px;
	}
}