@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');


/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,
b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	font-weight: normal;
}

body {
	line-height: 1
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display: block;
}

ul {
	list-style: none;
}

blockquote,q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

input,select {
	vertical-align: middle;
}

/*@font-face {
	font-family: 'zenkaku';
	src: url('../font/font.eot');
	src: url('../font/font.eot?#iefix') format('embedded-opentype'),
		url('../font/font.woff') format('woff'),
		url('../font/font.ttf') format('truetype');
}
*/

@font-face {
	font-family: 'outfit';
	src: url('../font/font2.eot');
	src: url('../font/font2.eot?#iefix') format('embedded-opentype'),
		url('../font/font2.woff') format('woff'),
		url('../font/font2.ttf') format('truetype');
}

.outfit {
	font-family: 'outfit';
}

@font-face {
	font-family: 'outfitR';
	src: url('../font/font3.eot');
	src: url('../font/font3.eot?#iefix') format('embedded-opentype'),
		url('../font/font3.woff') format('woff'),
		url('../font/font3.ttf') format('truetype');
}

.outfitR {
	font-family: 'outfitR';
}


/*================================================
 *  一般・共通設定
 ================================================*/
body {
	font-size: 16px;
	color: #333333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500!important;
	font-style: normal;
	line-height: 1.6;
	background: #fff;
	height: 100%;
}

html {
	height: 100%;
}


.inner {
	position: relative;
	width: 100%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	height: 130px;
	transition: all .3s ease;
}

header {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	background: #ffffff;
}

.p_none {
	display: none;
}

.red {
	color: #db0100;
}

.clear {
	clear: both;
}

/* For modern browsers */
.clearfix:before,
.clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

.mt30 {
	margin-top: 30px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb100 {
	margin-bottom: 100px;
}

.header_m {
	width: 100%;
	height: 85%;
	position: relative;
}

.box {
	z-index: 1;
	width: 100%;
	height: 93%;
	overflow: hidden;
	background: rgba(0, 0, 0, .3);
}

.loading {
	width: 100vw;
	height: 100vh;
	transition: all 1s;
	background-color: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	opacity: 1;
	visibility: visible;
}

.loading.is-active {
	opacity: 0;
	visibility: hidden;
}

.loading-animation {
	width: 100vw;
	height: 100vh;
	transition: all 1s;
	background-color: #ffffff;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	font-family: 'mp1b';
	font-size: 58px;
	font-weight: bold;
	color: #000;
}

.loading-animation.is-active {
	opacity: 1;
	visibility: visible;
}

.box h1 {
	font-family: 'mplus';
	border-bottom: none;
	position: absolute;
	top: 15%;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 1100px;
	height: 200px;
	z-index: 10;
	text-align: center;
	font-size: 46px;
	color: #ffffff;
	text-shadow:
		4px 4px 4px #000;
	/*text-shadow: 2px 1px 1px #fff,
               2px -1px 1px #fff,
               -2px 1px 1px #fff,
               -2px -1px 1px #fff,
			   4px 4px 4px #000;*/

}


#youtube iframe {
	width: 100%;
	height: 93%;
}

.movie {
	position: absolute;
	width: 100%;
	height: 93%;
	left: 0px;

	z-index: -1;
}


.large {
	font-size: 65px;
}

.small {
	position: relative;
	top: -20px;
	font-size: 36px;

}


.contents {
	width: 90%;
	max-width: 1400px;
	padding: 100px 0;
	margin: 0 auto;
}
.contents2{
	width: 90%;
    max-width: 1400px;
	margin: auto;
}

.contentsN {
	padding: 0 10px;
	margin-top: 30px;

}

.contents3 {
	width: 100%;
	margin-top: 50px;
}

.contentsK {
	width: 90%;
	max-width: 1400px;
	margin: 60px auto 0;
	padding-bottom: 100px;
}



.header_se {
	width: 96%;
	height: 340px;
	text-align: center;
	background: url("../img/mainK.jpg") no-repeat center;
	border-radius: 40px;
	margin:130px auto 0;
	display: flex;
	background-size: cover;
}

.header_se.mainK2{
	background: url("../img/mainK2.jpg") no-repeat center;
	background-size: cover;
}

.header_se.mainK3{
	background: url("../img/mainK3.jpg") no-repeat center;
	background-size: cover;
}

.header_se .titl{
	width: 90%;
    max-width: 1400px;
	margin: auto;
}

.header_se h1 {
	margin: auto;
	z-index: 10;
	text-align: left;
	font-size: min(7vw, 104px);
	color: #fff;
	font-family: 'outfit';
}

.header_se h1 span{
	font-size: 18px;
	font-weight:bold;
	margin: 30px 0 0;
	color: #fff;
}

.header_se h1 span::before{
	content: '';
}

.header_se a {
	display: block;
	height: 100%;
	width: 100%;
}

.header_se a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";

}


nav {
	width: 100%;
	background: #fff;

	⁄zoom: 1;
	z-index: 100;

}

nav:after {
	content: '';
	display: block;
	clear: both;
}

#contents {
	overflow: hidden;
	width: 1100px;
	margin: 20px auto;
	background: #fff;
}

#main {
	box-sizing: border-box;
	overflow: hidden;
	float: left;
	width: 68%;
}

#sub {
	box-sizing: border-box;
	overflow: hidden;
	float: right;
	width: 28%;
}

footer {

	width: 100%;
	margin: 0 auto;
}

a {
	color: #333;
	text-decoration: none;
	transition: all .3s ease;
}

a:hover {
	color: #258b81;
	text-decoration: none;
}

a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";

}

h1 {
	font-size:min(6vw,90px);
	color: #2f3f3c;
	font-family: 'outfit';
	line-height: 1em;
	margin-bottom: 10px;
}

h1 span{
	display: block;
	font-size: 19px;
	font-weight: bold;
	font-family: "Zen Kaku Gothic New", sans-serif;
	line-height: 1.2em;
	color: #2d2d2d;
}

h1 span::before{
	font-family: "Font Awesome 5 Free";
    content: '\f111';
    font-weight: 900;
    color: #258b81;
    font-size: 9px;
	position: relative;
	top: -3px;
	margin-right: 10px;
}

h2 {
	font-size: 30px;
	color: #000;
	text-align: center;
	font-weight: bold;
	margin: 100px 0 20px;
}

h2 span {
	font-size: 16px;
	display: block;
	color: #1098d2;
	font-family: 'outfit';
}

.cap {
	display: block;
	color: #005e91;
	font-size: 14px;
	text-align: center;
	font-family: 'Maven Pro', sans-serif;
	font-weight: bold;
}

.bor {
	display: flex;
	align-items: center;
}

.bor:before,
.bor:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #005e91;
	display: block;
}

.bor:before {
	margin-right: 30px;
}

.bor:after {
	margin-left: 30px;
}



h2.none {
	margin: 0;
}

h3 {
	font-size: 18px;
	color: #fff;
	margin-bottom: 15px;
}

h4 {
	font-size: 32px;
	font-weight: bold;
	color: #258b81;
	margin: 40px 0 20px;
}

h5 {
	font-size: 14px;
	font-weight: bold;
}


h6 {
	margin-bottom: 0.25em;
	color: #1098d2;
	font-size: 20px;
	font-weight: bold;
	font-family: 'mplus';
}

p {
	line-height: 1.8em;
}

img {
	vertical-align: bottom;
}

em {
	font-weight: bold;
}

strong {
	font-weight: bold;
}

pre {
	margin: 1em 0;
	padding: 1em;
}

blockquote {
	margin-bottom: 1em;
	padding: 1em;
	border: 1px dotted #ddd;
	border-left: 5px solid #ddd;
}


.rOver img:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";

}

.pp {
	margin-top: 30px;
}




/*下層*/

.mainC {
	overflow: hidden;
}


.title {
	display: flex;
	justify-content: center;
	height: 205px;
	padding-top: 95px;
}

.main h1 {

	margin: auto;
	text-align: center;
	font-size: 30px;
	color: #1098d2;
	font-family: 'mplus';
	border: none;
	/*animation: fadeIn 2s ease 0s 1 normal;*/
}

.main h1 span {
	font-size: 18px;
	display: block;
	font-family: 'outfit';
}

.titAnime {
	-webkit-animation-fill-mode: both;
	-ms-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-duration: 1.5s;
	-ms-animation-duration: 1.5s;
	animation-duration: 1.5s;
	-webkit-animation-name: titAnime;
	-ms-animation-name: titAnime;
	animation-name: titAnime;
	visibility: visible !important;
}

@-webkit-keyframes titAnime {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-20px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
	}
}

@keyframes titAnime {
	0% {
		opacity: 0;
		-webkit-transform: translateY(-20px);
		-ms-transform: translateY(-20px);
		transform: translateY(-20px);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
}


/*================================================
 *  ヘッダー
 ================================================*/
header {
	padding: 10px 10px;
}

.summary {
	position: absolute;
	top: 0;
	right: 10px;
	margin: 0;
}

.h_info {
	width: 170px;
	text-align: center;
	margin-top: 19px;
	margin-left: 15px;
}

.h_info p {
	font-size: 20px;
	font-weight: bold;
	line-height: 1em;
	color: #1098d2;
}

.h_info p::before {
	font-family: "Font Awesome 5 Free";
	content: '\f095';
	font-weight: 900;
	margin-right: 5px;
	color: #2ca6e0;
	font-size: 16px;
}

.h_info span {
	font-size: 12px;
	display: block;
	color: #000;
}

/*pankuzu*/

.pan {
	width: 90%;
    max-width: 1400px;
	margin: 30px auto 0;
	font-size: 16px;
	padding-top: 5px;
	color: #2d2d2d;
}

.pan ol li a {
	color: #2d2d2d;
}

.pan ol li {
	/* liを横並び＆ブレットを消す */
	display: inline;
	list-style-type: none;
	margin-left: 0;

}

.pan ol li:before {
	font-family: "Font Awesome 5 Free";
    content: '\f054';
    font-weight: 900;
    margin:0 10px;
    font-size: 12px;
    color: #258b81;
}

.pan ol li:first-child:before {
	content: none;
}

.pan ol li a:hover{
	color: #258b81;
}

/*================================================
 *  グローバルナビゲーション
 ================================================*/
.logo {
	width: auto;
	margin: auto auto auto 14px;

}

.logo img {
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}

@media print, screen and (min-width:1280px) {
	nav {
		background: #fff;
		/*border-bottom:5px solid #710000;
		box-shadow:0 1px 3px #999;*/
		position: fixed;
		top: 0;
		height: 130px;
		width: 100%;
		margin:  0;
	}
	
	
	.gnav {
		display: flex;
		margin-right: 130px;
		align-items: center
	}

	/* 共通 */
	nav ul {
		margin: 0;
		padding: 0;

	}

	nav ul li {
		position: relative;
		margin: 0;
		padding: 0;
		list-style: none;
		font-weight: bold;
	}

	nav ul li a {
		display: block;
		margin: 0;
		padding: 15px 20px ;
		font-size: 16px;
		line-height: 1;
		text-decoration: none;
		color: #2d2d2d;
		letter-spacing:1px;
	}

	.pd0 {
		padding: 0;
	}




	/* 1段目 */
	nav ul.gnav>li {
		position: relative;
		float: left;
		margin: 0;
		padding: 0;
		text-align: center;
		list-style: none;
	}

	nav ul li a::after {
		content: '';
		display: block;
		height: 1px;
		width: 0%;
		background: #258b81;
		position: absolute;
		bottom: 0;
		left: 10%;
		transition: .3s;
		top:39px;
	}

	nav ul li a:hover {
		color: #2d2d2d;
	}

	nav ul li a:hover::after {
		width: 80%;
	}

	nav ul.gnav>li.subnav {
		padding-right: 12px;
	}

	nav ul.gnav>li.subnav::after {
		position: absolute;
		display: inline-block;
		width: 0;
		height: 0;
		margin-left: 5px;
		font-family: "Font Awesome 5 Free";
        content: '\f111';
        font-weight: 900;
		color: #258b81;
		right: 25px;
		top:18px;
		font-size: 8px;
	}

	/* 2段目 */
	nav ul li ul {
		position: absolute;
		z-index: 3;
		left: -35px;
		margin: 10px 0 0;
		background: #258b81;
		border-radius: 12px;
		width: 195px;
		top: 36px;
	}
	
	nav ul li:nth-child(2) ul{
		left: -30px;
	}

	nav ul li ul li {
		overflow: hidden;
		height: 0;
		color: #fff;
		transition: .2s;
		
	}

	nav ul li ul li a {
		padding: 15px 15px;
		text-align: center;
		font-weight: bold;
		color: #fff;
		font-size: 15px;
	}
	
	nav ul li ul li a::after {
		height: 0;
	}

	nav ul li:hover>ul>li {
		overflow: visible;
		height: 45px;
	}
	
	nav ul li:hover>ul>li:first-child {
		padding: 15px 0 0;
	}
	nav ul li:hover>ul>li:last-child {
		padding: 0 0 15px;
	}

	nav ul li:hover ul li:last-child {
		border-bottom: none;
	}

	nav ul.gnav>li:last-child>ul {
		left: -50%;
	}

	nav ul li.link a::after{
		height: 0;
	}
	
	nav ul.gnav>li.link{
		color: #fff;
		margin-left: 14px;
		box-shadow: none;
	}	
	nav ul.gnav>li.link a{
		color: #fff;
		background: #7ba622;
		padding: 27px 69px 27px 49px ;
		border-radius: 100vh;
		border: 2px solid #7ba622;
	}
	
	nav ul.gnav>li.link a::before{
		position: absolute;
		display: inline-block;
		width: 0;
		height: 0;
		margin-left: 10px;
		font-family: "Font Awesome 5 Free";
        content: '\f08e';
        font-weight: 900;
		left: 100px;
		top:33px;
		font-size: 14px;
	}
	
	nav ul.gnav>li.link a:hover{
		background: #fff;
		color: #7ba622;
	}
	
	#spMenu {
		display: none;
	}

	.fixed {
		position: fixed;
		top: 0;
		height: 100px;
		
	}
	
	.fix{
		position: fixed!important;
		top: 13px!important;
	}
	
	.fixed .inner{
		height: 100px;
	
	}


	.fixed ul li a {
		padding: 15px 20px;

	}

	.fixed .h_info {
		margin-top: 11px;
	}

	.fixed img {
		transform: scale(80%);
		transform-origin: top left;
	}

	.fixed .logo {
		margin-top: 25px;

	}
}

@media (min-width: 1280px) and (max-width: 1339px) {
	nav ul.gnav>li:first-child{
		display: none;
	}
	
}


/*ハンバーガー*/
#nav-toggle {
	position: absolute;
	top: 30px;
	right: 35px;
	cursor: pointer;
	background: #258b81;
	padding: 35px;
	border-radius: 50%;
	border: 2px solid #258b81;
	box-sizing: border-box;
	transition: all .3s ease;
	position: fixed;
}
#nav-toggle > div {
	position: relative;
	margin: auto;
	top:-5px;
	left: -12px;
}
#nav-toggle span {
	width: 24px;
	height: 3px;
	display: block;
	background: #fff;
	position: absolute;
	transition: top .5s ease, -webkit-transform .6s ease-in-out;
	transition: transform .6s ease-in-out, top .5s ease;
	transition: transform .6s ease-in-out, top .5s ease, -webkit-transform .6s ease-in-out;
}
#nav-toggle span:nth-child(1) { top: 0; }
#nav-toggle span:nth-child(2) { top: 8px; }
@media (hover: hover) {
#nav-toggle:hover{
	background: #fff;
	border: 2px solid #258b81;
}

#nav-toggle:hover span{
	background:  #258b81;
}
}


.open #nav-toggle {
	background: #fff;
	border: 2px solid #fff;
}

.open #nav-toggle span { background: #258b81; }
.open #nav-toggle span:nth-child(1) {
	top: 5px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
	top: 5px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* z-index */
#nav-toggle { z-index: 1000; }

#container { z-index: 900; }

#gloval-nav {
	background:#258b80;
	color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 990;
	display: flex;
	visibility: hidden;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 29px;
	opacity: 0;
	transition: opacity .6s ease, visibility .6s ease;
	overflow-y:auto;
	overflow-x: hidden;
	
}

#gloval-nav div.menu{
	width: 55%;
	margin: 0 auto 0;
	display: flex;
	flex-wrap: wrap;
	gap:40px 5%;
}


#gloval-nav ul {
	list-style: none;
	display: flex;
	float: none;
	flex-direction: column;
	width: 30%;
	
}

#gloval-nav ul p{
	font-size: 21px;
	font-weight: bold;
	border-bottom: 1px solid #fff;
	padding-bottom: 10px;
	margin: 10px 0;
}

/*#gloval-nav ul:nth-child(4) p,#gloval-nav ul:nth-child(5) p{
	margin-top: 50px;
}*/

#gloval-nav ul li a {
	display: block;
	color: #fff;
	text-decoration: none;
	padding: 8px 0;
	transition: color .6s ease;
	font-size: 16px;
	font-weight: bold;
	transition: all .3s ease;
    -webkit-transition: all .3s ease;
}
#gloval-nav ul li a:hover {
	opacity: .6;
}


#gloval-nav ul li,#gloval-nav ul p {
	opacity: 0;
	-webkit-transform: translateX(200px);
	transform: translateX(200px);
	transition: opacity .2s ease, -webkit-transform .6s ease;
	transition: transform .6s ease, opacity .2s ease;
	transition: transform .6s ease, opacity .2s ease, -webkit-transform .6s ease;
	width: 100%;
}

#gloval-nav ul li a::before{
	font-family: "Font Awesome 5 Free";
    content: '\f054';
    font-weight: 900;
	margin-right:  10px;
	font-size: 12px;
}

#gloval-nav ul li:last-child,#gloval-nav ul p:last-child { margin-right: 0; }
#gloval-nav ul li:nth-child(2),#gloval-nav ul p:nth-child(2) { transition-delay: .15s; }
#gloval-nav ul li:nth-child(3),#gloval-nav ul p:nth-child(3) { transition-delay: .3s; }
#gloval-nav ul li:nth-child(4),#gloval-nav ul p:nth-child(4) { transition-delay: .45s; }
#gloval-nav ul li:nth-child(5),#gloval-nav ul p:nth-child(5) { transition-delay: .6s; }
#gloval-nav ul li:nth-child(6),#gloval-nav ul p:nth-child(6) { transition-delay: .75s; }
#gloval-nav ul li:nth-child(7),#gloval-nav ul p:nth-child(7) { transition-delay: .9s; }

/* open */
.open { overflow: hidden; }
.open #gloval-nav {
	visibility: visible;
	opacity: 1;
}
.open #gloval-nav li,.open #gloval-nav ul p {
	opacity: 1;
	-webkit-transform: translateX(0);
	transform: translateX(0);
	transition: opacity .9s ease, -webkit-transform 1s ease;
	transition: transform 1s ease, opacity .9s ease;
	transition: transform 1s ease, opacity .9s ease, -webkit-transform 1s ease;
}

#gloval-nav div.btn_area{
	width: 55%;
	margin: 50px auto 0;
	display: block;
	gap:0;
	
}

#gloval-nav div.btn_area2{
	width: 55%;
	margin: 30px auto 0;
	display: flex;
	gap:3%;
}

.menuBtn a {
	display: block;
	width: 330px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	border: #7ba622 2px solid;
	background: #7ba622;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 100vh;
	font-size: 20px;
	margin-left: 0;
	font-weight: bold;
	padding: 19px 0 20px;
	
}

.menuBtn a::after {
	margin-left: 10px;
    font-family: "Font Awesome 5 Free";
    content: '\f08e';
    font-weight: 900;
	font-size: 14px;
}

.menuBtn a:hover {
	color: #7ba622;
	background: #fff;
}

.menuN a {
	display: block;
	width: 330px;
	color: #2d2d2d;
	text-decoration: none;
	text-align: center;
	background: #fff;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 100vh;
	font-size: 20px;
	margin-left: 0;
	font-weight: bold;
	padding: 21px 0 22px;
}

.menuN a::before {
	margin-right: 10px;
    font-family: "Font Awesome 5 Free";
    content: '\f31c';
    font-weight: 900;
	font-size: 16px;
	color: #258b81;
}

.menuN a:hover {
	opacity: .6;
}

.menuN2 a {
	display: block;
	width: 330px;
	color: #2d2d2d;
	text-decoration: none;
	text-align: center;
	background: #fff;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 100vh;
	font-size: 20px;
	margin-left: 0;
	font-weight: bold;
	padding: 21px 0 22px;
}

.menuN2 a::before {
	margin-right: 10px;
    font-family: "Font Awesome 5 Free";
    content: '\f0e0';
    font-weight: 900;
	font-size: 16px;
	color: #e77200;
}

.menuN2 a:hover {
	opacity: .6;
}


/*================================================
 *  フッター
 ================================================*/
footer {
	clear: both;
}

.fg{
	background-color: #f6f8f8;
}

.footmenu {
	width: 100%;
	background: rgba(16, 152, 210, .2);
	height: 180px;
	margin-top: 150px;
	padding: 20px 0;
	box-sizing: border-box;
	text-align: center;
	position: relative;
}

.tp {
	position: absolute;
	right: 2%;
	bottom: 0;
}

.tp img {
	transition: all .3s ease;
}

.con {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 140px;
}

.foot_con {
	display: flex;
	justify-content: center;
	width:100%;
	margin:30px auto 0;
	gap:30px;
}

.footlogo {
	width: 100%;
	position: relative;
}

.footlogo::after {
    content: "";
    width: 38%;
    height: 100%;
    background-color: #fff;
    border-radius: 0 80px 0 0;
    position: absolute;
    top: 0;
    left: 0;
}

.foot_logo {
	width: 80%;
    max-width: 1200px;
    margin: auto;
	box-sizing: border-box;
	padding: 90px 0;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
	left: 0;
	right: 0;
}

.footL{
	width: 30%;
	
}

.footL p{
	font-weight: bold;
}

.footL p:last-of-type{
	margin-top: 1em;
}


.footL img{
	width: 300px;
}

.footR{
	width: 62%;
	display: flex;
	flex-wrap: wrap;
	gap:40px 5%;
	color: #2f3f3c;
}

.footR ul {
	list-style: none;
	display: flex;
	float: none;
	flex-direction: column;
	width: 30%;
}

.footR ul p{
	font-size: min(1.8vw, 21px);
	font-weight: bold;
	border-bottom: 1px solid #e1e1e1;
	padding-bottom: 10px;
	margin: 10px 0;
}


.footR ul li a {
	display: block;
	color: #2f3f3c;
	text-decoration: none;
	padding: 8px 0;
	font-size: min(1.5vw, 16px);
	font-weight: bold;
	transition: all .3s ease;
    -webkit-transition: all .3s ease;
}

.footR ul li a::before {
    font-family: "Font Awesome 5 Free";
    content: '\f054';
    font-weight: 900;
    margin-right: 10px;
    font-size: 12px;
	color: #258b81;
}

.footR ul li a:hover {
	opacity: .6;
}


.cp{
	background: #222222;
}

.cpD {
	width: 63%;
    max-width: 1200px;
    margin: auto;
	box-sizing: border-box;
	padding: 57px 0;
	display: flex;
	justify-content: space-between;
	color: #a9a9a9;
}

.cpDL{
	width: 50%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.cpDL ul{
	display: flex;
	font-size: 15px;
	/*margin-bottom: 20px;*/
}

.cpDL ul li{
	border-right: 1px solid #3d423c;
}

.cpDL ul li a{
	display: block;
	color: #a9a9a9;
	padding: 0 1em;
}

.cpDL ul li:first-child{
	border-left: 1px solid #3d423c;
}

.cpDL ul li:nth-child(3) a::after{
	font-family: "Font Awesome 5 Free";
	content: '\f08e';
	font-weight: 900;
	font-size: 10px;
	margin-left: 10px;
}

.cpDL ul li a:hover{
	opacity: .6;
}

.cpDL ul:nth-child(2) li{
	border: none;
}

.cpDL ul li a{
	display: block;
	color: #a9a9a9;
	padding: 0 1em;
}

.cpDL ul:nth-child(2) li a{
	background: #fff;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	padding: 0;
	text-align: center;
	line-height: 30px;
	color: #212121;
}

/*.cpDL ul:nth-child(2) li:first-child a::before{
	font-family: "Font Awesome 5 Brands";
    content: '\f16d';
    font-weight: 400;
	font-size: 16px;
}*/

.cpDL ul:nth-child(2) li:first-child a::before{
	font-family: "Font Awesome 5 Brands";
    content: '\f39e';
    font-weight: 400;
	font-size: 16px;
}
/*.cpDL ul:nth-child(2) li:nth-child(2) a::before{
	font-family: "Font Awesome 5 Brands";
    content: '\f39e';
    font-weight: 400;
	font-size: 16px;
}*/
/*.cpDL ul:nth-child(2) li:nth-child(2) a::before{
	font-family: "Font Awesome 5 Brands";
    content: '\f39e';
    font-weight: 400;
	font-size: 16px;
}*/

.cpDL ul:nth-child(2) li:last-child a::before{
	font-family: "Font Awesome 5 Brands";
    content: '\f167';
    font-weight: 400;
	font-size: 16px;
}

.cpDL ul:nth-child(2) li:last-child a::after{
    display: none;
}

.cpDL ul:nth-child(2) li:nth-child(2) a{
	margin: 0 15px;
}

.copyright {
	width: fit-content;
	font-size: 14px;
	font-weight: bold;
}



/*================================================
 *  ページトップへの戻り
 ================================================*/


.totop {

}

a.f_top {
    width: 65px;
	height: 65px;
	background: #fff;
	border-radius: 50%;
    position: fixed;
    bottom: 30px;
    right: 30px;
    padding: 10px;
    opacity: 1;
	text-align: center;
	box-sizing: border-box;
	border: 2px solid #258b81;
	z-index: 10;
}

a.f_top::after{
	content: 'TOP';
	color: #258b81;
	bottom:10px;
	position: absolute;
	left: 0;
	right: 0;
	font-family: 'outfitR';
	font-size: 17px;
}

a.f_top::before{
	content: '';
    width: 9px;
    height: 9px;
    border: 0;
    border-top: 2px solid #258b81;
    border-right: 2px solid #258b81;
    transform: rotate(315deg);
    position: absolute;
    top: 18px;
    bottom: 0;
    margin:0 auto;
    right: 0;
	left: 0;
}

a:hover.f_top{
	background: #258b81;
}

a:hover.f_top::after{
	color: #fff;
}

a:hover.f_top::before{
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}


/*================================================
 *  サイド追随ボタン
 ================================================*/

.side_b{
	position: fixed;
    right: 20px;
    top: 25%;
	z-index: 10;	
}


.join {
    background:#fff;
    width: 74px;
	height: 35%;
    max-height: 237px;
    color: #2d2d2d;
    font-size: min(3vh, 20px);
    display: flex;
    align-items: center;
    justify-content: center;
	webkit-writing-mode: vertical-rl; 
      -ms-writing-mode: tb-rl; 
          writing-mode: vertical-rl;
	text-decoration: none;
	border-radius: 100vh;
	font-weight: bold;
	box-shadow: 2px 0px 5px rgb(37 139 129 / 25%);
}

.join::before {
    font-family: "Font Awesome 5 Free";
    content: '\f31c';
    font-weight: 900;
    font-size: 18px;
    color: #258b81;
	margin-bottom: 15px;
	transition: all .3s ease;
}

.join:hover{
	background: #258b81;
	color: #fff;
}

.join:hover::before{
	color: #fff;
}

.cntct {
	margin-top: 20px;
    background:#fff;
    width: 74px;
    height: 35%;
    max-height: 237px;
    color: #2d2d2d;
    font-size: min(3vh, 20px);
    display: flex;
    align-items: center;
    justify-content: center;
	webkit-writing-mode: vertical-rl; 
      -ms-writing-mode: tb-rl; 
          writing-mode: vertical-rl;
	text-decoration: none;
	border-radius: 100vh;
	font-weight: bold;
	box-shadow: 2px 0px 5px rgb(37 139 129 / 25%);
}

.cntct::before {
    font-family: "Font Awesome 5 Free";
    content: '\f0e0';
    font-weight: 900;
    font-size: 18px;
    color: #e77200;
	margin-bottom: 10px;
	transition: all .3s ease;
}

.cntct:hover{
	background: #e77200;
	color: #fff;
}

.cntct:hover::before{
	color: #fff;
}

/*================================================
 *  ボタン類
 ================================================*/
.menuB a {
	display: block;
	width: 500px;
	color: #258b81;
	text-decoration: none;
	text-align: center;
	margin: 50px auto 0 auto;
	border: #258b81 2px solid;
	background: #fff;
	line-height: 32px;
	z-index: 1;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 100vh;
	overflow: hidden;
	position: relative;
	font-size: 18px;
	font-weight: bold;
	padding: 22px 0px;
}

.menuB a::before {
	content: '';
  width: 56px;
  height: 56px;
  background: #d4f0eb;
  border-radius: 50%;
  position: absolute;
  top: 0;
	bottom:0;
	margin: auto;
  right: 8px;
}

.menuB a::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: 2px solid #258b81;
  border-right: 2px solid #258b81;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
	bottom:0;
	margin: auto;
  right:33px;
}


.menuB a:hover {
	color: #fff;
	background: #258b81;
}

.menuBp a {
	display: block;
	width: 417px;
	color: #258b81;
	text-decoration: none;
	text-align: center;
	margin: 40px auto 0 0;
	border: #258b81 2px solid;
	background: #fff;
	line-height: 32px;
	z-index: 1;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 100vh;
	overflow: hidden;
	position: relative;
	font-size: 18px;
	font-weight: bold;
	padding: 22px 0px;
}

.menuBp a::before {
	content: '';
  width: 56px;
  height: 56px;
  background: #d4f0eb;
  border-radius: 50%;
  position: absolute;
  top: 0;
	bottom:0;
	margin: auto;
  right: 8px;
}

.menuBp a::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: 2px solid #258b81;
  border-right: 2px solid #258b81;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
	bottom:0;
	margin: auto;
  right:33px;
}


.menuBp a:hover {
	color: #fff;
	background: #258b81;
}

.menuBe a {
	display: block;
	width: 417px;
	color: #258b81;
	text-decoration: none;
	text-align: center;
	margin: 30px auto 0 ;
	border: #258b81 2px solid;
	background: #fff;
	line-height: 32px;
	z-index: 1;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 100vh;
	overflow: hidden;
	position: relative;
	font-size: 18px;
	font-weight: bold;
	padding: 22px 0px;
}

.menuBe a::before {
	content: '';
  width: 56px;
  height: 56px;
  background: #d4f0eb;
  border-radius: 50%;
  position: absolute;
  top: 0;
	bottom:0;
	margin: auto;
  right: 8px;
}

.menuBe a::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: 2px solid #258b81;
  border-right: 2px solid #258b81;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
	bottom:0;
	margin: auto;
  right:33px;
}


.menuBe a:hover {
	color: #fff;
	background: #258b81;
}

.menuF a {
	display: block;
	width: 240px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	margin: 50px auto 0 0 ;
	border: #e77200 2px solid;
	background: #e77200;
	line-height: 32px;
	z-index: 1;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 100vh;
	overflow: hidden;
	font-size: 16px;
	font-weight: bold;
	padding: 11.5px 0px;
}

.menuF a::before {
	font-family: "Font Awesome 5 Free";
    content: '\f0e0';
    font-weight: 900;
	margin-right: 10px;
}


.menuF a:hover {
	color: #e77200;
	background: #fff;
}


.menuB2 a {
	display: block;
	width: 180px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	margin: 0 auto 0 auto;
	border: #1098d2 1px solid;

	background: #1098d2;
	height: 35px;
	line-height: 32px;
	z-index: 1;
	transition: .3s;
	box-sizing: border-box;
	font-family: 'mplus';
	border-radius: 100vh;
	overflow: hidden;
	position: relative;
}

.menuB2 a::after {
	font-family: "Font Awesome 5 Free";
	content: '\f0a9';
	font-weight: 900;
	margin-left: 10px;
	font-size: 12px;
}

.menuB2 a:before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100px;
	height: 100px;
	background-color: #fff;
	border-radius: 50%;
	z-index: -1;
	transform: scale(0);
	transition: .3s;
}

.menuB2 a:hover {
	transition: .9s;
	color: #1098d2;
}

.menuB2 a:hover:before {
	transition: .9s;
	transform: scale(10);
}


.milB a {
	display: block;
	width: 500px;
	color: #2f3f3c;
	text-decoration: none;
	text-align: center;
	background: #fff;
	line-height: 32px;
	z-index: 1;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 100vh;
	overflow: hidden;
	position: relative;
	font-size: 21px;
	font-weight: bold;
	padding: 34px 0px;
	box-shadow: 0px 0px 20px rgba(178, 220, 207, 20%);
}

.milB a::after {
	content: '';
  width: 70px;
  height: 70px;
  background: #f8e5c8;
  border-radius: 50%;
  position: absolute;
	top: 0;
	left:10px;
	bottom: 0;
	margin: auto;
}

.milB a::before {
font-family: "Font Awesome 5 Free";
	content: '\f0e0';
	font-weight: 900;
	margin-right: 5px;
	font-size:25px;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	left: 32px;
	z-index: 1;
	height: 30px;
	color: #e77200;
}

.milB a:hover {
	background: #e77200;
	color: #fff;
}

.telB {
	display: block;
	width: 500px;
	color: #2f3f3c;
	text-decoration: none;
	text-align: center;
	background: #fff;
	line-height: 32px;
	z-index: 1;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 100vh;
	overflow: hidden;
	position: relative;
	font-size: 32px;
	font-weight: bold;
	padding: 20px 0px;
	font-family: 'outfitR';
	box-shadow: 0px 0px 50px rgba(29, 112, 104, 20%);
}

.telB::before {
	font-family: "Font Awesome 5 Free";
	content: '\f095';
	font-weight: 900;
	margin-right: 5px;
	font-size:25px;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	left: 32px;
	z-index: 1;
	height: 30px;
	color: #258b81;
}

.telB::after {
	content: '';
	width: 70px;
	height: 70px;
	background: #d4f0eb;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 10px;
	bottom: 0;
	margin: auto;
}

.menuM a {
	display: block;
	width: 60%;
	color: #258b81;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    background: #e4efee;
    box-sizing: border-box;
    border-radius: 100vh;
    height: 80px;
    line-height: 80px;
    position: relative;
	margin:30px auto 0;
}

.menuM a::after {
  content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #258b81;
    border-right: 2px solid #258b81;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 33px;
}


.menuM a:hover {
	opacity: .6;

}


.bg{
	background: #fafafa;
}

.bg2 {
	background: linear-gradient(180deg, #fafafa 0%, #fafafa 35%, #ffffff 35%, #ffffff 100%);
}

.bg3{
	background: #e4efee;
	padding: 100px 0;
}

.bg4{
	background: #f6f8f8;
}

.bg5{
	background: #fff;
	padding: 100px 0;
}

.bgK{
	background: #fafafa;
}

.bgK2{
	background: #f6f8f8;
}

.bgK3{
	background: #f6f8f8;
	padding: 50px 0 100px;
}

.bgN{
	background: #fff;
}


/*================================================
 *  トップページ
 ================================================*/

/*banner*/
.bnr{
	padding: 60px 0 0;
	text-align: center;
	width: 90%;
    max-width: 1344px;
	margin: auto;
}

.bnr img{
	transition: all .3s ease;
	width: 100%;
}


/*nayami*/
.worries{
	width: 94%;
	margin:0 auto;
	padding: 60px 0;
}

.w_dtl{
	background: #fff;
	border-radius: 40px;
	box-shadow: 0px 0px 40px rgba(247,247,247,20%);
	padding: 80px 10px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
}

.w_cont{
	display: flex;
	justify-content: center;
	gap:16px;
	width: 100%;
	flex-wrap: wrap;
}

.w_cont:nth-child(2){
	margin: 15px 0;
}

.w_contP{
	width: 30%;
	max-width:456px;
	height: 175px;
	border-radius: 24px;
	padding: 10px;
	box-sizing: border-box;
}

.w_contD{
	display: flex;
	justify-content: space-between;
}

.w_txt{
	width: 215px;
	height: 155px;
	background: #fff;
	border-radius: 77.5px 77.5px 0 77.5px;
	box-shadow: inset 0px 0px 20px rgba(220,226,226,.8);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: bold;
	transition: all .3s ease;
    -webkit-transition: all .3s ease;
	flex-wrap: wrap;
	flex-direction: column;
	text-align: center;
	position: relative;
}

.w_contP:nth-child(4) .w_txt,.w_contP:nth-child(6) .w_txt{
	border-radius: 77.5px 77.5px 77.5px 0px;
	order: 2;
}

.w_img{
	width: 44%;
	margin: auto;
}

.w_img img{
	width: 100%;
	height: auto;
}

.w_bl{
	background: #c5e3ee;
}
.w_pnk{
	background: #eed7c5;
}
.w_ylw{
	background: #eee7c5;
}
.w_grn{
	background: #d4eec5;
}

.nayami{
	width: 33%;
	max-width: 587px;
	height: 155px;
	padding: 10px;
	display: flex;
	align-content: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;

}

.keiei{
	font-size: 21px;
	color: #108c90;
	font-weight: bold;
	border: 2px solid #eeeeee;
	padding: 2px 20px;
	box-sizing: border-box;
	width: fit-content;
	margin: auto;
	border-radius: 100vh;
	
}

.com{
	color: #2f3f3c;
	font-size: min(2.2vw,42px);
	border-bottom: 1px solid #2f3f3c;
	font-weight: bold;
	letter-spacing: -2px;
	line-height: 1.5em;
}

.com ruby{
	font-size: min(3.1vw,62px);
}


a:hover .w_txt{
	color: #fff;
	background: #258b81;
	box-shadow: none;
}

a:hover .w_txt::after{
	font-family: "Font Awesome 5 Free";
    content: '\f101';
    font-weight: 900;
	position: absolute;
	bottom: 10%;
	font-size: 14px;
}


.w_contP .w_img img{
	
	transition: .3s;
}
.w_contP a:hover .w_img img{
	opacity: 1;
	transform: translateY(-10px);
}






/*会員紹介*/


.mmb_dtl{
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:40px 0;
}

.mmbD{
	width: 48.5%;
	background: #fff;
	border-radius: 24px;
	box-shadow: 0px 0px 20px rgba(178,220,207, 20%);
	padding: 50px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items:flex-start;
}


.mmbD h4{
	font-size: 20px;
	color: #258b81;
	font-weight: bold;
	margin-top: 20px;
}

.mmb_img{
	width: 72%;
}

.mmb_img img{
	width: 100%;
	border-radius: 20px;
	aspect-ratio: 16 / 10;
    object-fit: cover;
}

.mmb_txt{
	margin: 20px 0 0;
	display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
}

.mmb_name{
	width: 20%;
	border-left: 2px solid #e0e0e0;
	border-bottom: 2px solid #e0e0e0;
	border-bottom-left-radius: 20px;
	padding:0 30px 10px 30px;
	box-sizing: border-box;
	writing-mode: vertical-rl;
	text-orientation: upright;
	min-height: 200px;
	max-height: 350px;
	display:flex;
	flex-direction: column;
	justify-content: center;
}

.m_comp{
	font-size:min(1.3vw,16px);
	color: #848484;
	font-weight: bold;
}

.m_nm{
	font-size:min(1.8vw,28px);
	color: #2f3f3c;
	font-weight: bold;
}

/*例会*/
.evt{
	width: 90%;
    max-width: 1400px;
	margin: auto;
	display: flex;
	justify-content: space-between;
}

/*同友会について*/
.ab{
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
}

.ab_text{
	width: 42.5%;
}

.ab_mve{
	width: 48%;
}

.ab_tit{
	font-size: 32px;
	color: #258b81;
	font-weight: bold;
}

.ab_dit{
	margin-top: 30px;
}



.ab_btn1 a {
	display: block;
	width: 100%;
	color: #fff;
	text-decoration: none;
	margin: 50px auto 0 auto;
	background:url(../img/btn1.png) no-repeat 100% 20%;
	line-height: 32px;
	z-index: 1;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 12px;
	overflow: hidden;
	position: relative;
	font-size: 24px;
	font-weight: bold;
	padding: 32px 0px 32px 30px;
}

.ab_btn1 a::before {
	content: '';
  width: 56px;
  height: 56px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
  right: 20px;
}

.ab_btn1 a::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: 2px solid #258b81;
  border-right: 2px solid #258b81;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
	bottom: 0;
	margin: auto;
  right:45px;
}

.ab_btn1 a:hover {
	opacity: .6;
}


.ab_btn2 a {
	display: block;
	width: 100%;
	color: #fff;
	text-decoration: none;
	margin: 20px auto 0 auto;
	background:url(../img/btn2.png) no-repeat 100% 10%;
	line-height: 32px;
	z-index: 1;
	transition: .3s;
	box-sizing: border-box;
	border-radius: 12px;
	overflow: hidden;
	position: relative;
	font-size: 24px;
	font-weight: bold;
	padding: 32px 0px 32px 30px;
}

.ab_btn2 a::before {
	content: '';
  width: 56px;
  height: 56px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 0;
	bottom: 0;
	margin: auto;
  right: 20px;
}

.ab_btn2 a::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: 2px solid #258b81;
  border-right: 2px solid #258b81;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
	bottom: 0;
	margin: auto;
  right:45px;
}

.ab_btn2 a:hover {
	opacity: .6;
}

.ytb {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
	
}

.ytb iframe{
	border-radius: 30px;
}

.ab_Barea{
	display: flex;
	justify-content: space-between;
	margin-top: 60px;
	
}

.ab_Barea a{
	width: 32%;
	background: #e4efee;
	padding: 20px 30px 20px 20px;
	box-sizing: border-box;
	border-radius: 24px;
	transition: .3s;
	color: #2f3f3c;
}

.ab_Barea a:hover{
	background: #2f3f3c;
	color: #fff;
}


.ab_Barea a .ab_Bdtl{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.abB1{
	width: 6vw;
	max-width: 124px;
    background: #fff;
    border-radius: 20px;
    text-align: center;
    aspect-ratio: 1 / 1;
    display: flex;
}

.abB1 img{
	width: 60%;
	margin: auto;
}

.ab_Barea a:hover .abB1 img{
	opacity: 1!important;
}

.abB2{
	width: calc(100% - 10vw);
	font-size: min(1.8vw,21px);
	font-weight: bold;
}

.ab_Bdtl::after{
	font-family: "Font Awesome 5 Free";
    content: '\f138';
    font-weight: 900;
    font-size: 25px;
	
}


/*お知らせ*/
.news {
	display: flex;
	justify-content: space-between;
}

.news_tit {
	width: 25%;
}

.news_dit {
	width: 75%;
	background: #fff;
	padding: 68px 60px;
	border-radius: 24px;
	box-shadow: 0px 0px 20px rgba(178, 220, 207, 20%);
	box-sizing: border-box;
}


.sc {}

.sc dl {
	width: 100%;
	line-height: 1.8em;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	border-top: #ccc 1px solid;
	padding: 30px 0;
}


.sc dl dt {
	min-width: 28.9%;
	padding: 0 0 0 20px;
	font-family: 'outfitR';
	box-sizing: border-box;
	color: #848484;
	font-size:18px;
}

.sc dl dt span{
	width: 98px;
	display: inline-block;
}

.sc dl dd {
	width: 71.1%;
	padding: 0 20px;
	box-sizing: border-box;
	font-size: 16px;
	font-weight: bold;
}

@media print,screen and (max-width:1529px) {
	.sc dl dd {
	width: 100%;
}
	
}

.sc a:first-child dl{
	border-top: none;
}


.sc dl:hover{
	background: #f6f8f8;
	color: #258b81;
	transition: .3s;
}

.n_event::after {
    content: '\4F8B\4F1A\30FB\305D\306E\4ED6\884C\4E8B';
    background: #e4efee;
    color: #258b81;
    font-size: 13px;
    padding: 3px 15px 4px;
    text-align: center;
    margin-left: 10px;
	border-radius: 100vh;
	font-weight: bold;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.n_news::after {
    content: '\66F4\65B0\60C5\5831';
    background: #e4efee;
    color: #258b81;
    font-size: 13px;
    padding: 3px 41px 4px;
    text-align: center;
    margin-left: 10px;
	border-radius: 100vh;
	font-weight: bold;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.n_oshirase::after {
    content: '\304A\77E5\3089\305B';
    background: #e4efee;
    color: #258b81;
    font-size: 13px;
    padding: 3px 41px 4px;
    text-align: center;
    margin-left: 10px;
	border-radius: 100vh;
	font-weight: bold;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

/*お知らせ用タブ*/
.tab-wrapper{
   display: flex;
	flex-direction: column;
	margin-top: 50px;
}
.tab-panel{
    height: auto;
}

/*ラジオボタンを全て消す*/
input[name="tab-radio"] {
   display: none;
}
/*初期状態*/
.panel-b,.panel-c,.panel-d{
   display: none;
}
.tab-label {
   display: block;
}
.tab:nth-child(2){
   margin: 15px 0;
}
.tab:nth-child(3) {
   margin: 0 0 15px;
}



.tab-label-heading{
   margin:0!important;
   padding: 0!important;
   border-bottom: none!important;
   background-color: transparent!important;
	width: fit-content;
}
.tab-label{
   background-color: #fff!important;
   color: #222222!important;
   cursor: pointer!important;
   font-size: 15px!important;
   padding: 12px 25px!important;
   transition: .3s;
	border-radius: 100vh;
	text-align: center;
	font-weight: bold;
	box-shadow: 0px 0px 20px rgba(178, 220, 207, 20%);
}
@media (hover: hover) {
.selected>.tab-label:hover{
   opacity: .6!important;
}

.tab-label:hover{
   color: #fff!important;
   background-color: #258b81!important;
}
}

.selected>.tab-label{
   color: #fff!important;
   background-color: #258b81!important;
	
}
.tab-label-heading::after{
   content: none!important;
}

/*linkコンテンツ*/
.l_con {
    width: 94%;
    margin: 0 auto;
    padding: 80px 0 ;
}

.l_conD{
	display: flex;
	justify-content: space-between;
}

.l_conL{
	width: 32.5%;
}

.box{
	overflow: hidden;
	position: relative;
	width: 100%;
	cursor: pointer;
	border-radius: 24px;
}

.l_conL:first-child .box-bg{
	background: url('../img/linkB1.jpg') center center / cover no-repeat;
	width: 100%;
	height: 260px;
	position: relative;
	z-index: 0;
	transition: .3s ease-in-out;
}
.l_conL:nth-child(2) .box-bg{
	background: url('../img/linkB2.jpg') center center / cover no-repeat;
	width: 100%;
	height: 260px;
	position: relative;
	z-index: 0;
	transition: .3s ease-in-out;
}

.l_conL:nth-child(3) .box-bg{
	background: url('../img/linkB3.jpg') center center / cover no-repeat;
	width: 100%;
	height: 260px;
	position: relative;
	z-index: 0;
	transition: .3s ease-in-out;
}

.box-bg:hover{
	transform: scale(1.1);
}

.box-bg::before{
	background: rgba(24,48,43, 0.7) ;
	content: "";
	height: 100%;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.box-text{
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	pointer-events: none;
	width: 100%;
}

.box-text h2{
  color: #fff;
  font-size: min(2vw,40px);
  font-weight: bold;
	margin: auto;
}

.box-text h2 span{
	font-size: min(1.8vw,21px);
	color: #258b81;
	font-family: 'outfitR';
}

.box-text h2::after{
	font-family: "Font Awesome 5 Free";
    content: '\f138';
    font-weight: 900;
    color: #258b81;
    font-size: 1.8vw;
	position: absolute;
	right: 30px;
	top:25px;
}

/*お問い合わせ*/
.cnt_area{
	background: -webkit-linear-gradient(left, #258b81, 72%, #2fb7a9);
	background: -o-linear-gradient(left, #258b81, 72%, #2fb7a9);
	background: linear-gradient(to right, #258b81, 72%, #2fb7a9);
	position: relative;
	padding-bottom: 97px;
	/*margin-top: 80px;*/
}

.ccp{
	align-items: center;
	color: #fff;
	display: flex;
	overflow:hidden;
	width: 100%;
	white-space:nowrap;
	margin-top: 80px;
	line-height: 130px;
	position: absolute;
	bottom: 0;
}
.ccp ul {
	animation: flowing 300s linear infinite;
	transform:translateX(100%);
	margin: 0;
	padding: 0;
	font-weight: bold;
}
.ccp ul li{
	display: inline-block;
	padding-right: 0.5em;
}
@keyframes flowing {
  0% { transform:translateX(0); }
  100% { transform:translateX(-100%); }
}

.erode {
	filter: url(#erode);
}

.aa{
	font-family: 'outfitR';
	font-size: 180px;
	font-weight: bold;
	color: #fff;
}

.cnt_ccp{
	width: 90%;
    max-width: 1400px;
	margin: auto;
	text-align: center;
	position: relative;
}

.f_m img{
	margin-top: 50px;
	width: 100%;
	max-width:967px;
}

.ft1{
	width: 8.3vw;
	position: absolute;
	left: 0;
	top: -45px;
}

.ft2{
	width: 6.3vw;
	position: absolute;
	right: 0;
	top: -30px;
}


.cnt_btn{
	width: 90%;
    max-width: 1400px;
	margin: auto;
	text-align: center;
	right: 0;
	left: 0;
}

.cnt_txt{
	color: #2f3f3c;
	font-size: 23px;
	font-weight:bold;
}

.cnt_txt br{
	display: none;
}

.telB p{
	font-size: 16px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: bold;
}

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


/*会員紹介*/
.m_search{
	width: 90%;
    max-width: 1400px;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	margin:60px auto 0;
	padding: 20px 20px 40px;
	box-sizing: border-box;
}

.m_search h3 {
	font-size: 18px;
	color: #fff;
	background: #258b81;
	box-sizing: border-box;
	border-radius: 8px;
	padding: 12px 0 12px 20px;
	font-weight: bold;
}

.msd{
	width: 98%;
	margin: 30px auto 40px;
}

.msd ul{
	display: flex;
	flex-wrap: wrap;
	gap:20px 0;
	
}

.msd ul li{
	width:calc(100%/5); 
}

input[type=checkbox] {
       display: none; 
    }   

.checkboxC {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 0 0px 0 30px;
    position: relative;
    width: auto;
	font-weight: bold;
}
.checkboxC::before {
    background: #e5eff0;
    content: '';
    display: block;
    height: 20px;
    left: 5px;
    margin-top: -9px;
    position: absolute;
    top: 50%;
    width: 20px;
}
.checkboxC::after {
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    content: '';
    display: block;
    height: 8px;
    left: 12px;
    margin-top: -6px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 5px;
}

.msd ul li:nth-child(12) .checkboxC::before {
     top: 25%;
}

.msd ul li:nth-child(12) .checkboxC::after {
    top: 25%;
}

.msd ul li:nth-child(18) .checkboxC::before {
     top: 25%;
}

.msd ul li:nth-child(18) .checkboxC::after {
    top: 25%;
}



input[type=checkbox]:checked + .checkboxC::after {
    opacity: 1;
}
input[type=checkbox]:checked + .checkboxC::before {
    background: #258b81;
}

.b_a{
	text-align: center;
}

.formBtnS {
	width: 240px;
	height: 54px;
	background: #2f3f3c;
	color: #ffffff;
	border: #2f3f3c 2px solid;
	border-radius: 100vh;
	cursor: pointer;
	transition: .3s;
	box-sizing: border-box;
	font-size: 16px;
	font-weight: bold;
	font-family: "Zen Kaku Gothic New", sans-serif;
}


.formBtnS:hover {
	color: #2f3f3c;
	background: #fff;
}

.mmb_dtl2{
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:40px 0;
}

.mmbD2{
	width: 31%;
	background: #fff;
	border-radius: 24px;
	box-shadow: 0px 0px 20px rgba(178,220,207, 20%);
	padding: 50px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	position: relative;
}

.catg {
    display: block;
    width: calc(100% - 25px);
    margin-bottom: 0 !important;
	position: absolute;
	top: -2px;
	left: 25px;
}


.ctg1::before{
	content: '\8FB2\696D\3001\6797\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg2::before{
	content: '\6F01\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg3::before{
	content: '\9271\696D\3001\63A1\77F3\696D\3001\7802\5229\63A1\53D6\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}

.ctg4::before{
	content: '\5EFA\7BC9\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}

.ctg5::before{
	content: '\88FD\9020\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg6::before{
	content: '\96FB\6C17\30FB\30AC\30B9\30FB\71B1\4F9B\7D66\30FB\6C34\9053\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg7::before{
	content: '\60C5\5831\901A\4FE1\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg8::before{
	content: '\904B\8F38\696D\3001\90F5\4FBF\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg9::before{
	content: '\5378\58F2\696D\3001\5C0F\58F2\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg10::before{
	content: '\91D1\878D\696D\30FB\4FDD\967A\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg11::before{
	content: '\4E0D\52D5\7523\696D\3001\7269\54C1\8CC3\8CB8\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg12::before{
	content: '\5B66\8853\7814\7A76\3001\5C02\9580\30FB\6280\8853\30B5\30FC\30D3\30B9\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg13::before{
	content: '\5BBF\6CCA\696D\3001\98F2\98DF\30B5\30FC\30D3\30B9\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg14::before{
	content: '\751F\6D3B\95A2\9023\30B5\30FC\30D3\30B9\696D\3001\5A2F\697D\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg15::before{
	content: '\6559\80B2\3001\5B66\7FD2\652F\63F4\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg16::before{
	content: '\533B\7642\3001\798F\7949';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg17::before{
	content: '\8907\5408\30B5\30FC\30D3\30B9\4E8B\696D';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg18::before{
	content: '\30B5\30FC\30D3\30B9\696D\FF08\4ED6\306B\5206\985E\3055\308C\306A\3044\3082\306E\FF09';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg19::before{
	content: '\516C\52D9';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}
.ctg20::before{
	content: '\305D\306E\4ED6';
	background: #258b81;
	width:fit-content;
	border-radius: 0 0 8px 8px;
	color: #fff;
	padding: 0 20px;
	font-weight: bold;
	font-size: 14px;
	display: inline-block;
}

.mmb_dtl2::after {
    display: block;
    content: "";
    width: 31%;
}

.mmbD2 h4{
	font-size: 20px;
	color: #258b81;
	font-weight: bold;
	margin: 30px 0;
}

.mmb_img2{
	width: 100%;
}

.mmb_img2 img{
	width: 100%;
	border-radius: 20px;
	aspect-ratio: 16 / 10;
    object-fit: cover;
}

.mmb_txt2{
	margin: 0px 0 0;
}

.mmb_name2{
	border-left: 2px solid #e0e0e0;
	border-bottom: 2px solid #e0e0e0;
	border-bottom-left-radius: 20px;
	padding:0 30px 10px 30px;
	box-sizing: border-box;
	width: 100%;
	margin-top: 20px;
}

.m_comp2{
	font-size:min(1.3vw,16px);
	color: #848484;
	font-weight: bold;
}

.m_nm2{
	font-size:min(1.8vw,28px);
	color: #2f3f3c;
	font-weight: bold;
}

/*ページ内リンク*/
.p_link{
	background: #fff;
	margin: 50px 0 0;
	
	padding: 60px 0;
	box-sizing: border-box;
}

.p_link ul{
	display: flex;
	justify-content: center;
	gap:30px;
}

.p_link ul li {
    text-align: center;
	width: 417px;
    font-size: 18px;
}

.p_link ul li a{
	display: block;
    color: #258b81;
	font-weight: bold;
    text-decoration: none;
    text-align: center;
    background: #e4efee;
    box-sizing: border-box;
    border-radius: 100vh;
    height: 80px;
    line-height: 80px;
	position: relative;
}

.p_link ul li a::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #258b81;
    border-right: 2px solid #258b81;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 33px;
}

.p_link ul li a:hover{
	opacity: .6;
}


.p_link2 {
    background: #fff;
    padding: 75px 0 80px;
    box-sizing: border-box;
	width: 90%;
    max-width: 1400px;
	margin: auto;
}

.p_link2 ul{
	display: flex;
	justify-content: space-between;
}

.p_link2 ul li {
    text-align: center;
	/*width: 19%;*/
	width: 24%;
    font-size: 18px;
}

.p_link2 ul li a{
	display: block;
    color: #258b81;
	font-weight: bold;
    text-decoration: none;
    text-align: center;
    background: #e4efee;
    box-sizing: border-box;
    border-radius: 100vh;
    height: 80px;
    line-height: 80px;
	position: relative;
}

.p_link2 ul li a::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #258b81;
    border-right: 2px solid #258b81;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 33px;
}

.p_link2 ul li a:hover{
	opacity: .6;
}

.p_link3{
	background: #fff;
	margin: 50px 0 0;
	padding: 60px 0;
	box-sizing: border-box;
}

.p_link3 ul{
	display: flex;
	justify-content: center;
	gap:30px;
	width: 90%;
    max-width: 1400px;
	margin: auto;
}

.p_link3 ul li {
    text-align: center;
	width: 32%;
    font-size: 18px;
}

.p_link3 ul li a{
	display: block;
    color: #258b81;
	font-weight: bold;
    text-decoration: none;
    text-align: center;
    background: #e4efee;
    box-sizing: border-box;
    border-radius: 100vh;
    height: 80px;
    line-height: 80px;
	position: relative;
}

.p_link3 ul li a::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #258b81;
    border-right: 2px solid #258b81;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 33px;
}

.p_link3 ul li a:hover{
	opacity: .6;
}

.p_link4 {
    background: #fff;
    padding: 60px 0;
    box-sizing: border-box;
	width: 90%;
    max-width: 1400px;
	margin:50px auto 0;
}

.p_link4 ul{
	display: flex;
	flex-wrap: wrap;
	gap:15px 2%;
}

.p_link4 ul li {
    text-align: center;
	width: 15%;
    font-size: 18px;
}

.p_link4 ul li a{
	display: block;
    color: #258b81;
	font-weight: bold;
    text-decoration: none;
    text-align: center;
    background: #e4efee;
    box-sizing: border-box;
    border-radius: 100vh;
    height: 80px;
    line-height: 80px;
	position: relative;
}

.p_link4 ul li a::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #258b81;
    border-right: 2px solid #258b81;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 33px;
}

.p_link4 ul li a:hover{
	opacity: .6;
}

.p_link5 {
    background: #fff;
    padding: 60px 0;
    box-sizing: border-box;
	width: 90%;
    max-width: 1400px;
	margin:50px auto 0;
}

.p_link5 ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.p_link5 ul li {
    text-align: center;
	width: 24%;
    font-size: 18px;
}

.p_link5 ul li a{
	display: block;
    color: #258b81;
	font-weight: bold;
    text-decoration: none;
    text-align: center;
    background: #e4efee;
    box-sizing: border-box;
    border-radius: 100vh;
    height: 80px;
    line-height: 80px;
	position: relative;
	cursor: pointer;
}

.p_link5 ul li a::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #258b81;
    border-right: 2px solid #258b81;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 33px;
}

.p_link5 ul li a:hover{
	opacity: .6;
}

.p_link6 {
    background: #fff;
    padding: 60px 0;
    box-sizing: border-box;
	width: 90%;
    max-width: 1400px;
	margin:0px auto 0;
}

.p_link6 ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.p_link6 ul li {
    text-align: center;
	width: 32%;
    font-size: 18px;
}

.p_link6 ul li a{
	display: block;
    color: #258b81;
	font-weight: bold;
    text-decoration: none;
    text-align: center;
    background: #e4efee;
    box-sizing: border-box;
    border-radius: 100vh;
    height: 80px;
    line-height: 80px;
	position: relative;
}

.p_link6 ul li a::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #258b81;
    border-right: 2px solid #258b81;
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 33px;
}

.p_link6 ul li a:hover{
	opacity: .6;
}


/*活動紹介*/



.ac{
	background: #e4efee;
	border-radius: 24px;
	padding: 100px 100px 80px;
	box-sizing: border-box;
	margin-top: 120px;
	position: relative;
}

.ac:first-of-type{
	margin-top: 110px;
}

.ac::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 100vh;
  transform: rotate(45deg);
  left: 0;
	right: 0;
	margin: auto;
  top: -74px;
  border-left: 75px solid #e4efee;
  border-top: 75px solid #e4efee;
  border-right: 75px solid transparent;
  border-bottom: 75px solid transparent;
}

.ac::after{
	background: #fff;
	position: absolute;
  display: block;
	top: -60px;
	width: 120px;
	height: 120px;
	border-radius: 100vh;
	content:'';
	left: 0;
	right: 0;
	margin: auto;
}

.acI{
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: -53px;
	z-index: 1;
	width: 100px;
}

.ac h3 {
	color: #2f3f3c;
	font-weight: bold;
	font-size: min(3vw,36px);
	border-bottom: solid 2px #fff;
	position: relative;
	text-align: center;
	padding-bottom: 20px;
}

.ac h3 span{
	font-size: min(2.8vw,32px);
	margin-left: 1em;
	font-weight: bold;
}

.ac h3::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #258b81;
  bottom: -2px;
  width:150px;
	right: 0;
	left: 0;
	margin: auto;
}

.acD{
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}

.acDt{
	width: 59%;
}

.acDi{
	width: 35%;
	border-radius: 24px;
}

.acDi img{
	width: 100%;
	border-radius: 24px;
	aspect-ratio: 21 / 13;
    object-fit: cover;
}

.acDt ul{
	margin-top: 50px;
	
}

.acDt ul li{
	font-weight: bold;
	margin-bottom: 20px;
	text-indent: -1.5em;
    padding-left: 1.5em;
}

.acDt ul li::before{
	font-family: "Font Awesome 5 Free";
    content: '\f192';
    font-weight: 900;
	color: #258b81;
	margin-right: 10px;
	font-size: 14px;
}

.brc{
	background: #fff;
	border-radius: 24px;
	padding: 80px 100px;
	box-sizing: border-box;
	margin-top: 50px;
}

.brc h3 {
	color: #2f3f3c;
	font-weight: bold;
	font-size: min(3vw,36px);
	border-bottom: solid 2px #e1e1e1;
	position: relative;
	text-align: center;
	padding-bottom: 20px;
	margin-bottom: 50px;
}

.brc h3::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #258b81;
  bottom: -2px;
  width:150px;
	right: 0;
	left: 0;
	margin: auto;
}

.brcD{
	display: flex;
	justify-content: space-between;
	margin-top: 70px;
}

.brcDt{
	width: 41%;
}

.brcDI{
	width: 46%;
}

.brcDI img{
	width: 100%;
	border-radius: 12px;
}

.brc h5 {
	color: #2f3f3c;
	font-weight: bold;
	font-size: 21px;
	border-bottom: solid 1px #e1e1e1;
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 30px;
}

.brc h5::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 1px #258b81;
  bottom: -1px;
  width:60px;
	left: 0;
}


.brcDt h5:last-child{
	margin-bottom: 0;
}

.brcDt ul{
	margin-top: 30px;
	
}

.brcDt ul li{
	font-weight: bold;
	margin-bottom: 20px;
}

.brcDt ul li::before{
	font-family: "Font Awesome 5 Free";
    content: '\f192';
    font-weight: 900;
	color: #258b81;
	margin-right: 10px;
	font-size: 14px;
}


table.table_branch {
	width: 100%;
	border-collapse: collapse;
	margin: 50px 0 70px;
	line-height: 2em;

}

table.table_branch td {
	border-collapse: collapse;
	padding: 20px 30px;
	text-align: left;
	border: 1px solid #e0e0e0;
	box-sizing: border-box;
}

table.table_branch tr:nth-child(2n) td {
	background: #fafafa;
}

table.table_branch th {
	border-collapse: collapse;
	padding: 20px 10px 20px 30px;
	font-weight: bold;
	width: 20%;
	background: #7cb9b3;
	border: 1px solid #e0e0e0;
	text-align: left;
	color: #fff;
	box-sizing: border-box;
	vertical-align: middle;
}

.brcD2{
	display: flex;
	justify-content: space-between;
}

.brcDt2{
	width: 48%;
}

.brcDt2 img{
	width: 100%;
	border-radius: 12px;
	border: 1px solid #e1e1e1;
}

.brcDt2 p{
	font-weight: bold;
	margin-bottom: 15px;
}

.brcDt2 p::before{
	font-family: "Font Awesome 5 Free";
    content: '\f192';
    font-weight: 900;
	color: #258b81;
	margin-right: 10px;
	font-size: 14px;
}

/*同友会について*/

.aboutT{
	width: 100%;
    height: auto;
    margin-top: 100px;
    text-align: center;
    background: rgba(255,255,255,1);
    border-top-left-radius: 1400px 900px;
    border-top-right-radius: 1400px 900px;
	position: relative;
}

.ablogo {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -45px;
    z-index: 1;
    width: 90px;
}

.aboutD{
	width: 95%;
    max-width: 1800px;
	padding-top: 100px;
    margin: 0 auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.abT{
	width: 36%;
	text-align: center;
}

.abT p{
	font-weight: bold;
	font-size: 18px;
	line-height: 2em;
}

.abT h2{
	color: #258b81;
	font-weight: bold;
	font-size: min(4vw,46px);
	margin: 0 0 40px;
}

.abI{
	width: 29.5%;
	margin-top: 60px;
}

.abI img{
	width: 100%;
	border-radius: 24px;
	aspect-ratio: 529 / 417;
    object-fit: cover;
}


.ph{
	display: flex;
	justify-content: space-between;
}


.phT{
	width: 56%;
}

.phI{
	width: 36%;
}

.phI img{
	width: 100%;
	border-radius: 24px;
	aspect-ratio: 507 / 370;
    object-fit: cover;
}

.phl {
    background: #e4efee;
    border-radius: 24px;
    padding: 80px 100px 80px;
    box-sizing: border-box;
    margin: 80px 0 40px;
}

.phl2 {
    background: #e4efee url(../about/img/bg.png) no-repeat bottom right;
    border-radius: 24px;
    padding: 80px 100px 80px;
    box-sizing: border-box;
    margin: 0px 0 40px;
}

.phl:nth-child(3){
	margin-top: 0px;
}
.phl:last-child{
	margin: 0px;
}

.phl h3,.phl2 h3{
	color: #2f3f3c;
    font-weight: bold;
    font-size: min(3vw, 36px);
	margin-bottom: 30px;
}

.phl h3 span,.phl2 h3 span{
	display: block;
	font-size: 18px;
	font-weight: bold;
	font-family: 'outfit';
	line-height: 1.2em;
}

.phl h3 span::before,.phl2 h3 span::before{
	font-family: "Font Awesome 5 Free";
    content: '\f111';
    font-weight: 900;
    color: #258b81;
    font-size: 7px;
	position: relative;
	top: -3px;
	margin-right: 10px;
}

.phW{
	background: #fff;
	border-radius: 12px;
	display: flex;
	justify-content: space-between;
	padding: 20px 20px 20px 40px;
	box-sizing: border-box;
	margin-bottom: 20px;
}

.phWt{
	width: 68%;
	margin: auto 0;
}


.phWi{
	width: 23%;
	background: #e4efee;
	border-radius: 12px;
}

.phWi img{
	width: 100%;
}

.phW:first-of-type{
	margin-top: 50px;
}

.phW:last-of-type{
	margin-bottom: 0px;
}

.ptit1,.ptit2,.ptit3,.ptit4,.ptit5,.ptit6,.ptit7,.ptit8{
	font-size: 24px;
	color: #2f3f3c;
	font-weight: bold;
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.ptit1::before{
	content: '1.';
	font-size: 48px;
	font-family: 'outfit';
	border-right: 1px solid #258b81;
	color: #258b81;
	padding-right: 40px;
	margin-right: 30px;
	line-height: 1.1em;
	font-weight: normal;
}

.ptit2::before{
	content: '2.';
	font-size: 48px;
	font-family: 'outfit';
	border-right: 1px solid #258b81;
	color: #258b81;
	padding-right: 40px;
	margin-right: 30px;
	line-height: 1.1em;
	font-weight: normal;
}

.ptit3::before{
	content: '3.';
	font-size: 48px;
	font-family: 'outfit';
	border-right: 1px solid #258b81;
	color: #258b81;
	padding-right: 40px;
	margin-right: 30px;
	line-height: 1.1em;
	font-weight: normal;
}
.ptit4::before{
	content: '4.';
	font-size: 48px;
	font-family: 'outfit';
	border-right: 1px solid #258b81;
	color: #258b81;
	padding-right: 40px;
	margin-right: 30px;
	line-height: 1.1em;
	font-weight: normal;
}

.ptit5::before{
	content: '5.';
	font-size: 48px;
	font-family: 'outfit';
	border-right: 1px solid #258b81;
	color: #258b81;
	padding-right: 40px;
	margin-right: 30px;
	line-height: 1.1em;
	font-weight: normal;
}

.ptit6::before{
	content: '6.';
	font-size: 48px;
	font-family: 'outfit';
	border-right: 1px solid #258b81;
	color: #258b81;
	padding-right: 40px;
	margin-right: 30px;
	line-height: 1.1em;
	font-weight: normal;
}

.ptit7::before{
	content: '7.';
	font-size: 48px;
	font-family: 'outfit';
	border-right: 1px solid #258b81;
	color: #258b81;
	padding-right: 40px;
	margin-right: 30px;
	line-height: 1.1em;
	font-weight: normal;
}

.ptit8::before{
	content: '8.';
	font-size: 48px;
	font-family: 'outfit';
	border-right: 1px solid #258b81;
	color: #258b81;
	padding-right: 40px;
	margin-right: 30px;
	line-height: 1.1em;
	font-weight: normal;
}

.spirit{
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
}

.spD{
	background: #fff;
	border-radius: 24px;
	width: 32%;
	overflow: hidden;
}

.sptit{
	font-size: 30px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.spD:first-child .sptit{
	background: #4588af;
}

.spD:nth-child(2) .sptit{
	background: #e2a06b;
}

.spD:last-child .sptit{
	background: #709d63;
}

.spp{
	padding: 45px 30px 30px;
	box-sizing: border-box;
}

.spp ul{
	line-height: 1.8em;
}

.spp ul li::before{
	content: '・';
}

.spp ul li{
	list-style-position: inside;
	text-indent: -1em;
   padding-left: 1em;
}

.dyk{
	border: 2px solid #e0e0e0;
	padding: 40px 20px 30px;
	box-sizing: border-box;
	border-radius: 12px;
	position: relative;
}

.dyk::before{
	content: '\540C\53CB\4F1A';
	font-size: 18px;
	text-align: center;
	color: #fff;
	background: #258b81;
	border-radius: 100vh;
	position: absolute;
	width: 120px;
	height: 32px;
	right: 0;
	left: 0;
	margin: auto;
	top:-16px;
	font-weight: bold;
}


.cmp{
	border: 2px solid #e0e0e0;
	padding: 40px 20px 30px;
	box-sizing: border-box;
	border-radius: 12px;
	position: relative;
	margin-top: 45px;
}

.cmp::before{
	content: '\4F1A\793E';
	font-size: 18px;
	text-align: center;
	color: #fff;
	background: #258b81;
	border-radius: 100vh;
	position: absolute;
	width: 120px;
	height: 32px;
	right: 0;
	left: 0;
	margin: auto;
	top:-16px;
	font-weight: bold;
}

.mtt{
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;

}

.mttD{
	border: 1px solid #e0e0e0;
	width: calc(20% + 1px);
	margin-bottom: -1px;
	margin-right: -1px;
	box-sizing: border-box;
	background: #fff;
	padding: 20px;
	height: 210px;
	position:relative;
	overflow:hidden;
}

.mttD .caption {
	font-size:34px;
	color:#fff;
	padding:70px 0;
	font-weight: bold;
	text-align: center;
}
.mttD .mask {
	width:100%;
	height:100%;
	position:absolute;
	top:-100%;
	left:0;
	right: 0;
	margin: auto;
	background-color:#258b81;
	-webkit-transition:	all 0.6s ease;
	transition:		all 0.6s ease;
	z-index: 2;
}
.mttD:hover .mask {
	top:0;	
}

.mttD img{
	position: absolute;
	bottom: 20px;
	right: 20px;
}

.mttD p{
	font-size: 18px;
	font-weight: bold;
	position: absolute;
	z-index: 1;
	width: calc(100% - 40px);
}

.mttD p span{
	font-size: 20px;
	font-weight: bold;
	color: #e77200;
}

.p_chu{
	text-align: right;
}

.p_chu2{
	display: none;
}

/*沿革*/

.wrap{
	width: 100%;
}
h3.open_h3{
    background: #258b81;
    cursor: pointer;
    margin: 50px 0 20px;
	border-radius: 12px;
	text-align: center;
	font-weight: bold;
	font-size: 21px;
	padding: 23px 0;
	position: relative;
	box-sizing: border-box;
}
.open_h3:after, 
.open_h3.active:after {
    font-size: 30px;
    right: 30px;
	position: absolute;
	top:14px;
	bottom: 0;
}
.open_h3.active::after {
     font-family: "Font Awesome 5 Free";
    content: '\f068';
    font-weight: 900;
}
.open_h3::after {
    font-family: "Font Awesome 5 Free";
    content: '\2b';
    font-weight: 900;
}
.his{
    background: #fafafa;
	border: 1px solid #e0e0e0;
	border-radius: 12px;
	padding: 60px 100px;
	color: #2f3f3c;
}

.hisG{
	display: flex;
    width: 100%;
    padding: 0px 0 80px 0;
    position: relative;
}

.hisG::before{
	content: "";
    display: block;
	border-bottom: 1px solid #ccc;
	width: 100%;
	position: absolute;
	bottom: 35px;
}

.hisG:last-child{
	padding: 0;
}

.hisG:last-child::before{
	display: none;
}

.hisY{
	width: 255px;
    position: relative;
}

.hisY::after {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: #258b81;
    border-radius: 100vh;
    position: absolute;
    top: 15px;
    right: 75px;
    z-index: 2;
    box-sizing: border-box;
}

.hisG::after{
    content: "";
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    top: 25px;
    left: 172px;
    border-left: 2px solid #258b81;
    z-index: 1;
}


.hisG:last-child::after{
	display: none;
}

.h_year{
	font-size: 26px;
}

.h_date{
	font-size: 18px;
	font-weight: bold;
}

.hisD{
	margin-top: 5px;
	width: calc(100% - 255px);
}

.hisD p{
	margin-bottom: 30px;
}

.hisD p:last-child{
	margin-bottom: 0;
}

.disp{
	position: relative;
	margin-bottom: 30px;
}

.disp::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: #258b81;
    border-radius: 100vh;
    position: absolute;
    left: -89px;
	top: 10px;
    z-index: 2;
    box-sizing: border-box;
}

.org{
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 16px;
	padding: 60px;
	text-align: center;
	margin-top: 50px;
}

.org_s{
	display: none;
}


/*新着-お知らせ*/
.news_dit2 {
	width: 100%;
	background: #fff;
	padding: 68px 60px;
	border-radius: 24px;
	box-shadow: 0px 0px 20px rgba(178, 220, 207, 20%);
	box-sizing: border-box;
	margin-bottom: 70px;
}


.date {
	font-family: 'outfit';
}

.i_date {
	font-family: 'outfit';
	text-align: center;
}

.news_dtl {
	display: flex;
	justify-content: space-between;
}

.news_txt {
	width: 48%;
}

.news_img {
	width: 50%;
	margin: 0px auto 30px;
}

.news_img img {
	width: 100%;
	border-radius: 24px;
}

.news_dtl2 {}

.news_txt2 {
	width: 100%;
}

.news_img2 ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
	margin-top: 1%;
	flex-wrap: wrap;
}

.news_img2 ul::after {
	display: block;
	content: "";
	width: 24.5%;
}

.news_img2 ul li {
	width: 24.5%;
}

.news_img2 ul li img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 20px;
	transition-duration: 0.3s;
}

.news_img2 ul li img:hover {

	border-radius: 0px;
}

.news_dit3 {
	width: 100%;
	background: #fff;
	padding: 80px 100px;
	border-radius: 24px;
	box-shadow: 0px 0px 20px rgba(178, 220, 207, 20%);
	box-sizing: border-box;
}

.news_dit3 h3 {
    color: #2f3f3c;
    font-weight: bold;
    font-size: min(3vw, 36px);
    border-bottom: solid 2px #e1e1e1;
    position: relative;
    text-align: center;
    padding-bottom: 20px;
    margin-bottom: 30px;
}

.news_dit3 h3::after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #258b81;
    bottom: -2px;
    width: 150px;
    right: 0;
    left: 0;
    margin: auto;
}

.dateD{
	color: #848484;
	font-family: 'outfitR';
	font-size: 18px;
	text-align: right;
	margin-bottom: 30px;
}


/*PDF*/
.pdf::before {
	content: '';
    background-image: url(../membership/img/pdf.svg);
    background-size: contain;
    vertical-align: middle;
    width: 20px;
    height: 20px;
	display: inline-block;
	margin-right: 10px;
}

.pdf {
	margin-top: 30px;
}


/*ページ送り*/
.page {
	margin-top: 30px;
}

.page ul {
	display: flex;
	justify-content: center;
}

.page ul li {
	text-align: center;
	margin-right: 7px;
	width: 80px;
	border-radius: 100vh;
}

.page ul li:last-child {
	margin-right: 0;
}


.active_pg {
	background: #258b81 !important;
	border: #258b81 2px solid;
	box-sizing: border-box;
	height: 80px;
	color: #fff;
	line-height: 70px;
	font-size: 26px;
	font-weight: bold;
}

.page ul li a,
.page ul li.active a {
	display: block;
	color: #258b81;
	height: 80px;
	background: #fff;
	text-decoration: none;
	border-radius: 100vh;
	border: #258b81 2px solid;
	box-sizing: border-box;
	line-height: 70px;
	font-size: 26px;
	font-weight: bold;
}


.page ul li a:hover {
	background: #258b81;
	color: #fff;
}


.page ul li.active a {
	color: #fff;
	background: #258b81;
}

.page ul li:first-child a,.page ul li:last-child a{
	font-size: 20px;
	line-height: 75px;
}

.pagination {
	display: flex;
	justify-content: right;
	align-items: right;
	font-family: 'outfit';
}

.pagination a {
	margin: 5px;
}

.pagination a.iconWrapper {
	width: 25px;
	height: 25px;
	border: 1px solid #1098d2;
	border-radius: 100vh;
	align-items: center;
	justify-content: center;
	color: #fff;
	align-items: center;
	text-align: center;
	background: #1098d2;
}

.pagination a.iconWrapperActive {
	width: 25px;
	height: 25px;
	border: 1px solid #1098d2;
	border-radius: 100vh;
	align-items: center;
	color: #000;
	align-items: center;
	text-align: center;
	background: #ffffff;
}

.pagination a.arrow {
	width: 25px;
	height: 25px;
	border: 1px solid #1098d2;
	border-radius: 100vh;
	align-items: center;
	color: #fff;
	align-items: center;
	text-align: center;
	background: #1098d2;
}

.pagination a:hover:not(.iconWrapperActive),
.pagination a.arrow:hover {
	background: #fff;
	color: #1098d2;
	border-radius: 100vh;
}


/*例会*/

.meet{
	margin-top: 50px;
}

.mtng{
	background: #e4efee;
	border-radius: 24px;
	padding: 50px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	transition: .3s;
	position: relative;
	/*box-shadow: 0px 0px 20px rgba(178, 220, 207, 20%);*/
	margin-bottom: 50px;
	align-items: flex-start;
}
.mtng:last-child {
	margin-bottom: 0;
}

.mtng:nth-child(2n){
	background: #fff;
}

 a:hover .mtng{
	opacity: .6;
}

.mtI{
	width: 18%;
	position: relative;
	
}

.mtI::before{
	content: '';
	position: absolute;
	z-index: 1;
	bottom: 5px;
	right: 5px;
	margin: auto;
	transition: .3s;
    background-image: url("../event/img/expansion.svg");
    background-size: contain;
    width: 40px;
    height: 40px;
}

.mtI img{
	width: 100%;
	aspect-ratio: 1 / 1.414;
	object-fit: cover;
	border-radius: 12px;
	transition: .3s;
	border: 1px solid #e0e0e0;
}

.mtI a{
	cursor: pointer;
}

.mtI:hover::before{
	opacity: .6;
}

.mtD{
	width: 77%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.mtD dl {
	width: 100%;
	line-height: 1.8em;
	display: flex;
	flex-wrap: wrap;
	transition: .3s;
}


.mtD dl dt {
	width: 90px;
	box-sizing: border-box;
	font-weight: bold;
}

.mtD dl dd {
	width: calc(100% - 90px);
	box-sizing: border-box;
}

.m-date {
    font-size: 24px;
    line-height: 1;
    display: block;
    color: #848484;
    font-family: 'outfitR';
}

.m-title {
    font-size: 26px;
    margin: 10px 0 0;
    text-align: left;
    color: #222222;
    font-weight: bold;
}

.m-theme {
    font-size: 22px;
    margin: 0 0 20px;
    text-align: left;
    color: #222222;
    font-weight: bold;
}

.dat::before{
	content: '\958B\50AC\65E5\FF1A';
}

.plc::before{
	content: '\4F1A\3000\5834\FF1A';
}

a:hover .mtD dl {
	color: #333!important;
}

.event {
    background: #fff;
    border-radius: 24px;
    padding: 80px;
    box-sizing: border-box;
    margin-top: 50px;
}

.event iframe{
	margin-top: 30px;
	width: 100%;
	height: 500px;
}

/*バックナンバー*/


.bn_body{
	width: 100%;
	background: #f6f8f8;
}

.bn_body:nth-child(2n){
	background: #e4efee;

}

.bcn {
    background: #e4efee;
    border-radius: 24px;
    padding: 80px 100px;
    box-sizing: border-box;
}

.bn_body:nth-child(2n) .bcn {
    background: #fff;
}

.bcn h3 {
    color: #2f3f3c;
    font-weight: bold;
    font-size: min(3vw, 36px);
    border-bottom: solid 2px #fff;
    position: relative;
    text-align: center;
    padding-bottom: 20px;
}

.bcn h3::after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #258b81;
    bottom: -2px;
    width: 150px;
    right: 0;
    left: 0;
    margin: auto;
}

.bn_body:nth-child(2n) .bcn h3 {
    color: #2f3f3c;
    font-weight: bold;
    font-size: min(3vw, 36px);
    border-bottom: solid 2px #e1e1e1;
    position: relative;
    text-align: center;
    padding-bottom: 20px;
    margin-bottom: 50px;
}

.bn_body:nth-child(2n) .bnc h3::after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #258b81;
    bottom: -2px;
    width: 150px;
    right: 0;
    left: 0;
    margin: auto;
}

.bcnB ul{
	display: flex;
	flex-wrap: wrap;
	gap:20px 2%;
	margin-top: 50px;
}


.bcnB ul li{
	width: 15%;
	text-align: center;
	border-radius: 24px;
	box-sizing: border-box;
}

.bcnB ul li p{
	font-weight: bold;
	font-size: 18px;
}

.bcnB ul li img {
    width: 100%;
    aspect-ratio: 1 / 1.414;
    object-fit: cover;
    border-radius: 12px;
    transition: .3s;
	margin-bottom: 5px;
	box-shadow: 0px 0px 20px rgba(178, 220, 207, 20%);
}


/*会社の課題は*/

.keiei2{
	font-size: 21px;
	color: #108c90;
	font-weight: bold;
	border: 2px solid #eeeeee;
	padding: 2px 20px;
	box-sizing: border-box;
	width: fit-content;
	margin: auto;
	border-radius: 100vh;
	position: absolute;
    left: 0;
    right: 0;
    top: -20px;
    z-index: 1;
	background: #fff;
}

.probT {
    width: 100%;
    height: 530px;
    margin-top: 80px;
    background: rgba(255, 255, 255, 1);
    border-top-left-radius: 2000px 1000px;
    border-top-right-radius: 2000px 1000px;
    position: relative;
}

.probBG{
	width: 90%;
    max-width: 1400px;
    padding: 30px 0 0;
    margin: 0 auto;
	background: url("../problems/img/k_bg.png") no-repeat center bottom;
	height: 500px;
}

.p_com {
    color: #2f3f3c;
    font-size: min(3vw, 42px);
    border-bottom: 1px solid #2f3f3c;
    line-height: 1.5em;
	margin: auto auto 40px;
	width: fit-content;
	font-weight: bold;
	text-align: center;
}

.p_com br{
	display: none;
}

.probD{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.probDt{
	width: 35%;
	max-width: 488px;
	display: flex;
	justify-content: space-between;
}

.probDt ul{
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.probDt:nth-child(3),.probDt:nth-child(4){
	margin-top: 42px;
}

.probDt ul li{
	width: 47%;
	max-width: 229px;
	height: 120px;
	background: #fff;
    border-radius: 16px;
    box-shadow: inset 0px 0px 20px rgba(220, 226, 226, .8);
    transition: all .3s ease;
    -webkit-transition: all .3s ease;
    position: relative;
	box-sizing: border-box;
	text-align: center
}

.probDt ul li:nth-child(2n){
	margin-top: 20px;
}

.probDt ul li a{
	display: block;
    height: 100%;
    width: 100%;
	border-radius: 16px;
	padding-top: 20px;
	box-sizing: border-box;
}

.probDt p{
	font-weight: bold;
	font-size: 18px;
}

.probDt p::after{
	font-family: "Font Awesome 5 Free";
    content: '\f103';
    font-weight: 900;
	position: absolute;
	bottom: 6%;
	font-size: 15px;
	right: 0;
	left: 0;
	color: #258b81;
}

.probDt.rgt ul li::before {  
  content: "";
  position: absolute;
  left: 85px;
  width: 12px;
  height: 12px;
  bottom: -43px;
  background: #fff;
  border-radius: 50%;
	box-shadow: inset 0px 0px 20px rgba(220, 226, 226, .8);
	transition: .3s;
}

.probDt.rgt ul li::after {
  content: "";
  position: absolute;
  left: 56px;
  width: 23px;
  height: 23px;
  bottom: -33px;
  background: #fff;
  border-radius: 50%;
	box-shadow: inset 0px 0px 20px rgba(220, 226, 226, .8);
	transition: .3s;
}

.probDt.lft ul li::before {  
  content: "";
  position: absolute;
  right: 85px;
  width: 12px;
  height: 12px;
  bottom: -43px;
  background: #fff;
  border-radius: 50%;
	box-shadow: inset 0px 0px 20px rgba(220, 226, 226, .8);
	transition: .3s;
}

.probDt.lft ul li::after {
  content: "";
  position: absolute;
  right: 56px;
  width: 23px;
  height: 23px;
  bottom: -33px;
  background: #fff;
  border-radius: 50%;
	box-shadow: inset 0px 0px 20px rgba(220, 226, 226, .8);
	transition: .3s;
}

.probDt ul li a:hover{
	background: #258b81;
	box-shadow: none;
	color: #fff;
}

.probDt ul li:hover::before,.probDt ul li:hover::after{
	background: #258b81;
	box-shadow: none;
}

.probDt ul li a:hover p::after{
	color: #fff;
}

.problem{
	background: #e4efee;
	border-radius: 24px;
	padding: 80px 100px;
	box-sizing: border-box;
	
	margin-bottom: 50px;
}

.problem:nth-child(2n){
	background: #fff;
}

.problem:last-child{
	margin-bottom: 0;
}

.proF{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.problem:nth-child(2n) .proT{
	order: 2;
}

.proT{
	width: 51%;
	font-size: 18px;
}

.proT .ptit1,.proT .ptit2{
	margin-bottom: 40px;
}

.proI{
	width: 42.2%;
	border-radius: 24px;
	aspect-ratio: 4 / 2.9;
	display: flex;
	align-items: center;
	justify-content: center;
}


.proT .mk{
	font-weight: bold;
	color: #258b81;
	background: linear-gradient(transparent 60%, #fff 40%);
}

.problem:nth-child(2n) .proT .mk{
	font-weight: bold;
	color: #258b81;
	background: linear-gradient(transparent 60%, #e4efee 40%);
}

.proT .udL{
	border-bottom: double 4px #333333;
	
}

.proL ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 60px 0 40px;
}

.proL ul::after {
    display: block;
    content: "";
    width: 32%;
	max-width: 380px;
}

.proL ul li{
	max-width: 380px;
	height: 80px;
	background: #e4efee;
	display: block;
	border-radius: 100vh;
	text-align: center;
	color: #258b81;
	font-size: 17px;
	font-weight: bold;
	padding: 26px 0;
	box-sizing: border-box;
	position: relative;
	cursor: pointer;
	transition: .3s ;
	width: 32%;
}

.problem:nth-child(2n+1) .proL ul{
	gap:30px 0;
}

.problem:nth-child(2n+1) .proL ul li {
	max-width: 380px;
	height: 80px;
	background: #fff;
	display: block;
	border-radius: 100vh;
	text-align: center;
	color: #258b81;
	font-size: 17px;
	font-weight: bold;
	padding: 26px 0;
	box-sizing: border-box;
	position: relative;
	cursor: pointer;
	transition: .3s ;
	width: 32%;
}

.proL ul li::after{
	content: '';
	position: absolute;
	right: 30px;
	top: 30px;
	background-image: url("../problems/img/search.svg");
	background-size: contain;
	vertical-align: middle;
	width: 20px;
	height: 20px;
}

.proL ul li:hover{
	opacity: .6;
}

.mdl{
	display: flex;
	justify-content: space-between;
	height: 100%;
	overflow-y: auto;
}

.mdlI{
	width:25%;
}

.mdl img{
	width: 100%;
	border: 1px solid #aaa;
}

.mdlT{
	width: 70%;

}

.mdtit{
	color: #258b81;
	font-size: 22px;
	border-bottom: 5px solid #e4efee;
	font-weight: bold;
	margin-bottom: 20px;
}

.mdtit span{
	font-size: 18px;
	display: block;
	font-weight: bold;
}

.sml{
	font-size: 15px;
	margin-top: 1em;
}

.sml2{
	font-size: 16px;
	margin-top: 1em;
}

.mgn{
	margin: 1em 0;
}

.ikasu ol{
	counter-reset: original-counter;
	list-style: none; 
	margin-top: 30px;
}

.ikasu ol li {
  padding-left: 30px;
  margin-bottom: 5px;
  position: relative;
}

.ikasu ol li::before{
	content: counter(original-counter);
  counter-increment: original-counter;
  background-color: #258b81;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 22px;
  width: 22px;
  color: #ffffff;
  font-size: 85%;
  line-height: 1.3;
  position: absolute;
  top:5px;
  left: 0;
}

/*よくある質問*/
.faqB{
	display: flex;
	justify-content: space-between;
	gap:40px 0;
	flex-wrap: wrap;
}


.faq{
	width: 48.5%;
	background: #fff;
	border-radius: 24px;
	padding: 50px;
	box-sizing: border-box;
	box-shadow: 0px 0px 20px rgba(178, 220, 207, 20%);
}

.q{
	font-size: 26px;
	font-weight: bold;
	display: flex;
	margin-top: 20px;
	align-items: flex-start;
}

.q::before{
	content: 'Q';
	background: #258b81;
	color: #fff;
	border-radius: 50%;
	margin-right: 20px;
	padding: 0 8.5px 0;
	font-family: 'outfit';
	border: 2px solid #258b81;
	font-size: 24px;
	line-height: 1.5em;
}

.ans{
	display: flex;
	margin-top: 20px;
	align-items: flex-start;
	font-size: 18px;
}

.ans::before{
	content: 'A';
	background: #fff;
	color: #258b81;
	border-radius: 50%;
	margin-right: 20px;
	padding: 2px 10px 3px;
	font-family: 'outfit';
	border: 2px solid #258b81;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3em;
}

/*りんく*/
.link {
    background: #fff;
    border-radius: 24px;
    padding: 80px 100px;
    box-sizing: border-box;
	margin-bottom: 50px;
	box-shadow: 0px 0px 20px rgba(178, 220, 207, 20%);
}

.link:last-child{
	margin-bottom: 0;
}

.link h3 {
    color: #2f3f3c;
    font-weight: bold;
    font-size: min(3vw, 36px);
    border-bottom: solid 2px #e1e1e1;
    position: relative;
    text-align: center;
    padding-bottom: 20px;
    margin-bottom: 50px;
}

.link h3::after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 2px #258b81;
    bottom: -2px;
    width: 150px;
    right: 0;
    left: 0;
    margin: auto;
}

.link ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.link ul li {
    font-weight: bold;
    margin-bottom: 20px;
	width: 32%;
	display: flex;
}

.link ul li::before {
    font-family: "Font Awesome 5 Free";
    content: '\f192';
    font-weight: 900;
    color: #258b81;
    margin-right: 10px;
    font-size: 14px;
	line-height: 2em;
}

/*入会案内*/

.memS{
	width: 100%;
    height: auto;
    margin-top: 80px;
    background: rgba(255,255,255,1);
    border-top-left-radius: 2000px 1000px;
    border-top-right-radius: 2000px 1000px;
}

.memD{
	width: 90%;
    max-width: 1400px;
	padding-top: 50px;
    margin: 0 auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}

.memT{
	width: 56%;
}

.memT p{
	font-weight: bold;
	font-size: 18px;
}


.memT h2{
	color: #258b81;
	font-weight: bold;
	font-size: min(4vw,46px);
	margin: 0 0 40px;
}

.memI{
	width:36%;
}

.memI img{
	width: 100%;
	border-radius: 24px;
	aspect-ratio: 4 / 3;
    object-fit: cover;
}

.memSi{
	background: #e4efee;
    border-radius: 24px;
    padding: 80px 100px 80px;
    box-sizing: border-box;
    margin: 50px 0 0;
}

.memSi2{
	background: #fff;
    border-radius: 24px;
    padding: 80px 100px 80px;
    box-sizing: border-box;
    margin: 50px 0 0;
}

.memSi3{
	background: #fff;
    border-radius: 24px;
    padding: 80px 100px 80px;
    box-sizing: border-box;
    margin: 50px 0 0;
	border: 1px solid #e0e0e0;
}

.memSi h3 {
    color: #2f3f3c;
    font-weight: bold;
    font-size: min(3vw, 36px);
    margin-bottom: 30px;
}

.memSi h3 span{
	display: block;
    font-size: 18px;
    font-weight: bold;
    font-family: 'outfit';
    line-height: 1.2em;
}

.memSi h3 span::before{
	font-family: "Font Awesome 5 Free";
    content: '\f111';
    font-weight: 900;
    color: #258b81;
    font-size: 7px;
    position: relative;
    top: -3px;
    margin-right: 10px;
}

.memSi ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 60px 0 0;
}

.memSi ul::after {
    display: block;
    content: "";
    width: 380px;
}

.memSi ul li{
	width: 380px;
	height: 80px;
	background: #fff;
	display: block;
	border-radius: 100vh;
	text-align: center;
	font-size: 17px;
	font-weight: bold;
	box-sizing: border-box;
	position: relative;
	cursor: pointer;
	transition: .3s ;
}

.memSi ul li a{
	color: #258b81;
	padding: 26px 0;
	display: block;
}
.memSi ul li.pdfF::after{
	content: '';
	position: absolute;
	right: 30px;
	top: 30px;
	background-image: url("../membership/img/pdf.svg");
	background-size: contain;
	vertical-align: middle;
	width: 20px;
	height: 20px;
}

.memSi ul li.exeF::after{
	content: '';
	position: absolute;
	right: 30px;
	top: 30px;
	background-image: url("../membership/img/excel.svg");
	background-size: contain;
	vertical-align: middle;
	width: 20px;
	height: 20px;
}

.memSi ul li:hover{
	opacity: .6;
}

.memSi2 ul{
	margin-top: 50px;
}

.memSi2 ul li{
	font-weight: bold;
	margin-bottom: 20px;
	display: flex;
}

.memSi2 ul li::before{
	font-family: "Font Awesome 5 Free";
    content: '\f192';
    font-weight: 900;
	color: #258b81;
	margin-right: 10px;
	font-size: 14px;
	line-height: 2em;
}

.memSi3 ul{
}

.memSi3 ul li{
	font-weight: bold;
	margin-bottom: 20px;
	align-items: center;
	display: flex;
}

.memSi3 ul li::before{
    content: '';
    background-image: url(../membership/img/pdf.svg);
    background-size: contain;
    vertical-align: middle;
    width: 20px;
    height: 20px;
	margin-right: 10px;
	display: inline-block;
}

table.table_mem {
	width: 100%;
	border-collapse: collapse;
	margin: 50px 0 0;
	line-height: 2em;

}

table.table_mem td {
	border-collapse: collapse;
	padding: 20px 30px;
	text-align: left;
	border: 1px solid #e0e0e0;
	box-sizing: border-box;
	background: #fff;
}


table.table_mem th {
	border-collapse: collapse;
	padding: 20px 10px 20px 30px;
	font-weight: bold;
	width: 20%;
	background: #7cb9b3;
	border: 1px solid #e0e0e0;
	text-align: left;
	color: #fff;
	box-sizing: border-box;
	vertical-align: middle;
}

/*事務局案内*/

.offc1{
	background: #e4efee;
    border-radius: 24px;
    padding: 80px 100px 80px;
    box-sizing: border-box;
    margin: 50px 0 0;
}

.offc2{
	background: #fff;
    border-radius: 24px;
    padding: 80px 100px 80px;
    box-sizing: border-box;
    margin: 50px 0 0;
}

.offc3{
	background: #e4efee;
    border-radius: 24px;
    padding: 80px 100px 80px;
    box-sizing: border-box;
    margin: 50px 0 0;
}

.offc1 h3 {
    color: #2f3f3c;
    font-weight: bold;
    font-size: min(3vw, 36px);
    margin-bottom: 30px;
}

.offc1 h3 span{
	display: block;
    font-size: 18px;
    font-weight: bold;
    font-family: 'outfit';
    line-height: 1.2em;
}

.offc1 h3 span::before{
	font-family: "Font Awesome 5 Free";
    content: '\f111';
    font-weight: 900;
    color: #258b81;
    font-size: 7px;
    position: relative;
    top: -3px;
    margin-right: 10px;
}

.offc1 h3 br{
	display: none;
}

.offW {
    background: #fff;
    border-radius: 12px;
    padding: 20px 40px;
    box-sizing: border-box;
    margin-bottom: 20px;
	}

.off_tit{
	font-size: 32px;
    font-weight: bold;
    color: #258b81;
}

.offWt {
    width: 68%;
    margin: auto 0;
}

.offc1:last-child{
	margin-top: 40px;
}

.offc1 .ikasu ol{
	counter-reset: original-counter;
	list-style: none; 
	margin: 10px 0;
}

.loca{
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.locaT{
	width: 51%;
}

.locaI{
	width: 42.2%;
}

.locaI img{
	width: 100%;
	border-radius: 24px;
}

/*地図*/
.map {
	position: relative;
    width: 100%;
    height: 450px;
    margin: 50px 0 0;
    border-radius: 24px;
}

.mapicon{
	display: flex;
	justify-content: space-between;
	width: 300px;
}

.mapimg{
	width: 50%;
}

.mapimg img{
	width: 100%;
}

.mapad{
	width: 48%;
}

/* お問い合わせ
	* --------------------------------------- */

.bwg{
	color: #258b81;
    font-weight: bold;
    font-size: min(3vw, 42px);
    margin: 0 0 30px;
	text-align: center;
}

.bwg br{
	display: none;
}

.inq{
	background: rgb(255, 255, 255);
    border-radius: 24px;
    padding: 80px 100px;
    box-sizing: border-box;
}

.info dl {
	display: flex;
	flex-wrap: wrap;

}

.info dt {
	width: 20%;
	padding-left: 4%;
	height: 32px;
	/*vertical-align:middle;*/
	font-weight: bold!important;
}

.info dt label{
	font-weight: bold!important;
}

.info dd {
	margin-bottom: 20px;
	width: 76%;
}



.info {
	margin-top: 30px;
}

input.infoInput {
	height: 25px;
	margin: 0 0 10px 0;
	padding: 5px;
	border: #CCCCCC 1px solid;

	font-size: 15px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.infosize {
	width: 790px;
}

.infoselect {
	height: 35px;
	padding: 5px;
	border: #CCCCCC 1px solid;
	font-size: 15px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	margin-bottom: 10px;
}

textarea.infocomment {
	margin: 0 0 10px 0;
	padding: 5px;
	border: #CCCCCC 1px solid;
	font-size: 15px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.formBtn {
	display: flex;
	align-items: center;
	gap: 50px;
	margin-top: 30px;
	flex-direction: column
}

.formBtn1 {
	width: 417px;
	height: 80px;
	background: #fff;
	color: #258b81;
	border: #258b81 2px solid;
	border-radius: 100vh;
	cursor: pointer;
	transition: .3s;
	box-sizing: border-box;
	font-size: 18px;
	position: relative;
	font-weight: bold;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.formBtn1::before {
    content: '';
    width: 56px;
    height: 56px;
    background: #d4f0eb;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
	right: 8px;
}

.formBtn1::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: 2px solid #258b81;
    border-right: 2px solid #258b81;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 33px;
}


.formBtn1:hover {
	color: #fff;
	background: #258b81;
}

.formBtn2 {
	width: 240px;
	height: 54px;
	background: #222222;
	color: #fff;
	border: #222222 2px solid;
	border-radius: 100vh;
	cursor: pointer;
	transition: .3s;
	box-sizing: border-box;
	font-size: 16px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: bold;
}

.formBtn2:hover {
	transition: .3s;
	color: #222222;
	background: #fff;
}


.delBtn {
	width: 20px;
	height: 20px;
	background: #808080;
	border: #808080 1px solid;
	border-radius: 100vh;
	cursor: pointer;
	transition: .3s;
	box-sizing: border-box;
	margin-right: 10px;
	padding: 0;
}

.delBtn:before {
	content: "\f00d";
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	text-decoration: inherit;
	color: #fff;
	font-size: 10px;
	position: relative;
}

.file_close {
	display: flex;
	align-items: center;
}

/* .delBtn:hover {
	transition: .3s;
	color: #808080;
	background: #fff;
} */

.inq ul{
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px;
}

.inq ul li {
    margin-bottom: 10px;
	display: flex;
	width: 100%;
}

.inq ul li::before {
    font-family: "Font Awesome 5 Free";
    content: '\f192';
    font-weight: 900;
    color: #258b81;
    margin-right: 10px;
    font-size: 14px;
	line-height: 2em;
}

.mt50{
	margin-top: 50px;
}

.ti{
	text-indent: -1em;
	padding-left: 1em;
}

/*景況調査*/

.edor{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:40px 0;
}

.edor::after {
    display: block;
    content: "";
    width: 31%;
}

.edor a{
	width: 31%;
	background: #fff;
    border-radius: 24px;
    box-shadow: 0px 0px 20px rgba(178, 220, 207, 20%);
    padding: 50px;
    box-sizing: border-box;
}

.kai{
	color: #848484;
}

.kai::before{
	content: '\7B2C';
}

.kai::after{
	content: '\56DE\666F\6CC1\8ABF\67FB';
}

.e_tit {
    font-size: 20px;
    color: #2f3f3c;
    font-weight: bold;
	margin: 5px 0
}

.ki{
	text-align: center;
}

.edor a:hover{
	opacity: .6;
}

.edor a:hover .ki{
	color: #333;
}
@media screen and (max-width:1366px) {
.msd ul li:nth-child(6) .checkboxC::before {
     top: 25%;
}

.msd ul li:nth-child(6) .checkboxC::after {
    top: 25%;
}	
	.msd ul li:nth-child(14) .checkboxC::before {
     top: 25%;
}

.msd ul li:nth-child(14) .checkboxC::after {
    top: 25%;
}	
}	

/*================================================
 *  タブレット向けデザイン
 ================================================*/
@media screen and (max-width:1279px) {
	
	.p_none {
		display: block;
	}

	.pa_none {
		display: none;
	}

	img {
		max-width: 100%;
		height: auto;
		width
		/***/
		: auto;
	}

	.inner {
		width: 100%;
		height: 90px;
	}

	#contents {
		box-sizing: border-box;
		width: 100%;
		padding: 0 10px;
	}

	footer {
		width: 100%;
	}

	#slideshow {
		position: relative;
		width: 100%;
		height: 70%;

	}

	#slideshow h1 {
		position: absolute;

		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;

		height: auto;
		z-index: 2;
		text-align: center;
		font-size: 42px;
	}

	.bnr{
		width: 94%;
		margin: auto;
	}
	
	.active>a:before {
		margin-top: 0;
	}

	.active>a:after {
		margin-top: 5px;
	}

	.gnav {
		display: none;
	}

	#spMenu {
		display: block;
		z-index: 99;
		position: fixed;
		top: 12px;
		right: 10px;
	}

	#spMenu:hover {
		cursor: pointer;
	}

	#navBtn {
		display: inline-block;
		position: relative;
		width: 50px;
		height: 40px;
		border-radius: 5%;

	}

	#navBtnIcon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 20px;
		height: 2px;
		margin: -1px 0 0 -7px;
		background: #1098d2;
		transition: .2s;
	}

	#navBtnIcon:before,
	#navBtnIcon:after {
		display: block;
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		width: 20px;
		height: 2px;
		background: #1098d2;
		transition: 0.3s;
	}

	#navBtnIcon:before {
		margin-top: -6px;
	}

	#navBtnIcon:after {
		margin-top: 4px;
	}

	#navBtn .close {
		background: transparent;
	}

	#navBtn .close:before,
	#navBtn .close:after {
		margin-top: 0;
	}

	#navBtn .close:before {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}

	#navBtn .close:after {
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}

	header {
		z-index: 10;
		box-sizing: border-box;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		padding: 0 0px 0 10px;
		background: #fafafa;
	}

	.h_logo img {
		width: 80%;
		vertical-align: middle;
		margin: auto 0;
	}

	header h1 {
		display: flex;
		align-items: center;
		
	}
	
	#nav-toggle{
		top:8px;
		right: 15px;
		position: fixed;
	}


	.header_se {
		margin-top: 0;
		height: 250px;

	}



	.main {
		height: 200px;
	}

	.title {
		height: 200px;
		padding: 0;
	}


	.contents {
		box-sizing: border-box;
		width: 95%;
		margin: auto;
	}

	.contents2 {
		box-sizing: border-box;
		width: 95%;
		margin: auto;
	}

	.contents3 {
		box-sizing: border-box;
		width: 95%;
		padding: 0;
		margin: 50px auto 0;
	}

	.threeCol2Inner div {
		width: 30.3%;
	}



	.new {
		padding: 0;
		width: 100%;
	}


	.new3 {
		width: 45%;
		float: left;
	}

	.sc {}

	.sc dl {
		width: 95%;
		line-height: 1.8em;

	}



	.footmenu {
		height: auto;
	}
	
	.cp{
		padding-bottom: 75px;
	}

	.footlogo {
		height: auto;
	}

	.foot_logo,.cpD {
		width: 90%;
	}

	/* お問い合わせ
	* --------------------------------------- */

	.info dl {}

	.info dt {
		float: none;
		margin-left: 2%;
		padding-left: 0;

	}


	.info {
		width: 98%;
	}

	input.infoInput {
		height: 25px;
		margin: 0 0 10px 0;
		padding: 5px;
		font-size: 15px;
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	}

	.infosize {
		width: 100%;
	}

	.rinen {
		width: 100%;
	}
	
	.totop{
		display: none;
	}
	
	/*追随ボタン*/
	
	.side_b{
		top: auto;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 100%;
		display: flex;
		right: 0;
		background: rgba(37,139,128,.8);
		justify-content: center;
		gap:5%;
	}
	
	.join{
		width: 40%;
		writing-mode:horizontal-tb;	
		height: 47px;
		margin: 14px 0;
	}
	
	.cntct{
		width: 40%;
		margin-top: 0;
		writing-mode:horizontal-tb;	
		height: 47px;
		margin: 14px 0;
	}
	
	.join::before,.cntct::before{
		margin: 0 15px 0 0;
		line-height: 18px;
	}
	
	/*トップページ*/
	
	.evt{
		width: 95%;
	}
	
	.sc dl dd {
		width: 100%;
	}
	
	.l_conL:first-child .box-bg,.l_conL:nth-child(2) .box-bg,.l_conL:nth-child(3) .box-bg {
		aspect-ratio: 16 / 9;
		height: auto;
	}
	
	.telB,.milB a{
		width: 450px;
	}
	
	
	.ab_Barea a{
		padding: 15px 20px 15px 15px;
	}
	
	.box-text h2::after {
    	right: 20px;
	}
	
	/*menu*/
	#gloval-nav div.menu,#gloval-nav div.btn_area {
		width: 70%;
		gap:20px 5%;
	}
	
	#gloval-nav div.btn_area2{
		width: 70%;

	}
	
	.pan{
		margin-top: 10px;
	}
	
	.m_search{
		width: 95%;
	}
	.contentsK{
		width: 95%;
	}
	
	
	.msd ul li br{
		display: none;
	}
	
	@media screen and (max-width:1180px) {
	.msd ul li {
    width: calc(100% / 4);
	}
		.msd ul li:nth-child(6) .checkboxC::before,.msd ul li:nth-child(14) .checkboxC::before {
     top: 50%;
}

.msd ul li:nth-child(6) .checkboxC::after,.msd ul li:nth-child(14) .checkboxC::after {
    top: 50%;
}	
		
	}
	@media screen and (max-width:1024px) {
.msd ul li:nth-child(6) .checkboxC::before,.msd ul li:nth-child(14) .checkboxC::before {
     top: 25%;
}

.msd ul li:nth-child(6) .checkboxC::after,.msd ul li:nth-child(14) .checkboxC::after {
    top: 25%;
}	
}	
	

	
	/*活動紹介*/
	
	.ac{
		padding: 100px 50px 80px;
	}
	
	.brc{
		padding: 80px 50px;
	}
	
	table.table_branch th{
		width: 23%;
	}
	
	table.table_branch tr:nth-child(8) td br{
		display: none;
	}
	
	/*同友会について*/
	.phl,.phl2{
		padding: 80px 50px;
	}
	
	.mttD{
		height: 250px;
	}
	
	.mttD p br{
		display: none;
	}
	
	.mttD .caption{
		padding: 98px 0
	}
	
	.p_chu{
		display: none;
	}
	
	.p_chu2{
		display: block;
		text-align: right;
	}

	
	.abT h2{
		font-size: min(3vw,36px);
	}
	
	.abT p{
		font-size: 16px;
	}
	
	.abT p br{
		display: none;
	}
	
	.p_link2{
		width: 95%;
	}
	
	.p_link4{
		width: 95%;
	}
	
	/*.p_link2 ul li{
		font-size: 16px;
	}*/
	
	.p_link2 ul li a::after{
		right: 15px
	}
	
	.p_link4 ul li a::after{
		right: 15px
	}
	
	.p_link5,.p_link6{
		width: 95%;
	}
	
	/*新着-お知らせ*/
	.news_dit2 .sc dl{
		width: 100%;
	}
	
	.news_dit3{
		padding: 80px 50px;
	}
	
	.event{
		padding: 80px 50px;
	}
	
	/*課題*/
	.probBG{
		width: 95%;
	}
	
	.probDt{
		width: 40%;
	}
	
	.problem{
		padding: 80px 50px;
	}
	
	.proL ul{
		justify-content: center;
		gap:30px 1.7%;
	}
	
	.problem:last-child .proL ul{
		justify-content: flex-start;
	}
	
	@media screen and (max-width:1347px) {
		.problem:last-child .proL ul{
		justify-content: center;
	}
		
		.problem:nth-child(2) .proL ul,.problem:nth-child(6) .proL ul{
			gap:0 1.7%;
		}
		
		.problem:nth-child(3) .proL ul::after{
			display: none;
		}
	
	}
	
	.proL ul li,.problem:nth-child(2n+1) .proL ul li {
		width: 380px;
	}
	
	.problem:nth-child(2n+1) .proL ul {
    gap: 30px 1.7%;
}
	
	.proL ul::after {
    width: 380px;
}
	
	/*よくある質問*/
	/*.faq{
		padding: 80px 50px;
	}
	*/
	
	/*会員紹介*/
	.mmbD2,.edor a{
		padding: 50px 25px;
	}
	
	
	/*会報誌*/
	.bcn {
    	padding: 80px 50px;
	}
	
	/*りんく*/
	.link {
    	padding: 80px 50px;
    	box-sizing: border-box;
	}
	
	.inq{
    	padding: 80px 50px;
	}
	
	.memSi,.memSi2,.memSi3{
		padding: 80px 50px;
	}
	
	.memSi ul {
        justify-content: center;
        gap: 0 1.7%;
    }
	
	 .memT h2 {
        font-size: min(3vw, 36px);
    }
	
	.offc1,.offc2{
		padding: 80px 50px;
	}
	
	@media screen and (max-width: 1034px) {
    .foot_con {
        flex-direction: column;
        gap: 20px;
		align-items: center
    }
	}
	
	.menuM a{
		width: 80%;
	}
}


/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:640px) {
	img {
		max-width: 100%;
		height: auto;
		width
		/***/
		: auto;
	}

	.lock {
		overflow: hidden;
	}
	
	.pan{
		font-size: 14px;
	}

	header {
		z-index: 10;
		box-sizing: border-box;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		padding: 0 0px 0 10px;
	}

	.p_none {
		display: block;
	}

	.pa_none {
		display: block;
	}

	.s_none {
		display: none;
	}

	h1 img {
		width: 40%;
		margin: auto 0;
	}

	h1 {
		font-size: min(12vw, 38px);
	}
	
	h1 span{
		font-size: 16px;
	}
	
	h4{
		font-size: min(5.5vw, 30px);
	}

	.header_se h1 {
		font-size: min(12vw, 38px);
	}
	
	.header_se h1 span {
		font-size: 14px;
		margin: 10px 0 0;
	}


	#slideshow h1 {
		position: absolute;
		/*padding-top: 10%;*/
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		top: 40%;
		z-index: 2;
		text-align: center;
		font-size: 30px;
	}

	.large {
		font-size: 38px;
	}

	.small {
		font-size: 25px;
		top: -10px;
	}

	.summary {
		position: relative;
		top: auto;
		right: auto;
		margin-top: 15px;
	}

	#main {
		float: none;
		width: 100%;
	}

	#sub {
		float: none;
		width: 100%;
	}
	
	.gnav {
		display: none;
	}

	#spMenu {
		display: block;
		z-index: 99;
		position: fixed;
		top: 13px;
		right: 10px;
	}

	#spMenu:hover {
		cursor: pointer;
	}

	#navBtn {
		display: inline-block;
		position: relative;
		width: 40px;
		height: 30px;
		border-radius: 5%;
	}

	#navBtnIcon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 20px;
		height: 2px;
		margin: -1px 0 0 -10px;
		background: #1098d2;
		transition: .2s;
	}

	#navBtnIcon:before,
	#navBtnIcon:after {
		display: block;
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		width: 20px;
		height: 2px;
		background: #1098d2;
		transition: 0.3s;
	}

	#navBtnIcon:before {
		margin-top: -6px;
	}

	#navBtnIcon:after {
		margin-top: 4px;
	}

	#navBtn .close {
		background: transparent;
	}

	#navBtn .close:before,
	#navBtn .close:after {
		margin-top: 0;
	}

	#navBtn .close:before {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}

	#navBtn .close:after {
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}

	.col_two_one ul {
		margin-right: 0;
	}

	.col_two_one li {
		width: 100%;
	}

	.col_two_one li:nth-child(2n+1) {
		clear: both;
	}

	.contents {
		box-sizing: border-box;
		width: 90%;
		margin: 0 auto;
	}

	.contents2 {
		box-sizing: border-box;
		width: 90%;
		margin: 0 auto;
	}

	.contents3 {
		margin: 30px auto 0;
	}

	.threeCol2 {
		margin-bottom: 30px;
	}

	.threeCol2Inner {
		margin-right: 0;
	}

	.threeCol2Inner div {
		float: none;
		width: 100%;
	}

	.threeCol2Inner img {
		width: 100%;
		margin-bottom: 0;

	}

	.fiveCol {
		margin-bottom: 80px;
	}

	.fiveColInner {
		margin-right: 0;
	}

	.fiveColInner div {
		float: left;
		width: 50%;
	}

	.fiveCol2 {
		margin-bottom: 50px;
	}

	.fiveCol2Inner div:nth-child(5n+1) {
		clear: none;

	}

	.fiveCol2Inner {
		margin-right: 0;
	}

	.fiveCol2Inner div {
		float: left;
		width: 50%;
	}

	.photoText2 p {
		margin-bottom: 5px;
	}



	.con {
		height: auto;
	}

	.foot_con {
		flex-direction: column;
		width: 100%;
		gap: 20px;
	}


	.tp {
		position: absolute;
		right: 2%;
		bottom: 0;
		width: 23%;
	}
	
	/*ふったー*/

	.foot_logo {
		flex-wrap: wrap;
		padding: 0 0;
	}
	
	.footlogo::after{
		width: 100%;
		height: 416px;
	}
	
	.footL{
		/*width: 100%;*/
		margin: 60px auto;
		width: fit-content
	}

	.footR {
		width: 100%;
		margin: 50px 0;
		display: none;
	}
	
	.footR ul{
		width: 100%;
	}
	
	.cpD{
		flex-wrap: wrap;
	}
	
	.cpDL{
		width: 100%;
	}
	
	.cpDL ul{
		margin-bottom: 20px;
	}
	
	.cpDL ul:first-child{
		flex-direction: column;
		gap:10px;
	}
	
	.cpDL ul li,.cpDL ul li:first-child{
		border: none;
	}
	
	.copyright{
		font-size: 3.3vw;
	}
	
	.menuF a {
		margin: 50px auto 0;
	}

	.btnH {

		margin-top: 0px;
		margin-bottom: 0px;
	}

	.h_tel {
		float: right;
		margin-right: 60px;
	}

	.h_tel a {
		display: block;
		background: #1098d2;
		width: 60px;
		text-align: center;
		padding: 17px 0;
		text-decoration: none;
		color: #fff;
		font-size: 20px;
		height: 60px;
		box-sizing: border-box;
	}
	
	.aa{
		font-size: 90px;
	}


	h3 {
		font-size: 22px;
	}

	/*top*/
	
	.bnr{
		width: 90%;
		padding: 30px 0;
	}
	
	.top_text {
		width: 100%;
		height: auto;
		margin: 0 0 30px;
	}

	.ab_bg {
		flex-wrap: wrap;
	}

	.top_img {
		width: 100%;

	}


	.se_dt {
		flex-wrap: wrap;

	}

	.se_dt a {
		width: 100%;
		margin-bottom: 4%;
	}

	.se_dt a:last-child {
		margin-bottom: 0%;
	}

	.rec_dt {
		width: 90%;
		height: auto;
	}

	
	
	.h_logo img{
		width: 60%;
	}
	

	/*nav*/
	
	#nav-toggle{
		padding: 26px;
		top:17px;
	}
	
	#gloval-nav div.btn_area{
		width: 90%;
	}
	
	#gloval-nav div.btn_area2{
		width: 90%;
		flex-direction: column;
		gap:30px;
		margin-bottom: 100px;
	}
	
	.menuN a,.menuN2 a{
		margin: auto;
	}
	
	
	.menuBtn a{
		margin: auto;
	}

	/*追随ボタン*/
	.join,.cntct{
		font-size: 14px;
	}
	
	.join::before,.cntct::before{
		font-size: 15px;
		margin-right: 10px;
	}
	
	/*トップページ*/
	
	.worries {
    width: 100%;
    margin: 0 auto;
		padding: 0;
	}
	
	.w_dtl{
		border-radius: 0;
		padding: 40px 6%;
	}
	
	.nayami{
		width: 100%;
		height: auto;
		padding: 0;
		order: 1;
		margin-bottom: 30px;
	}
	
	.com{
		font-size: 6vw;
	}
	
	.com ruby{
		font-size: 9vw;
	}
	
	.keiei{
		font-size: 4vw;
	}
	
	.w_cont{
		flex-wrap: wrap;
		gap:10px;
		justify-content: space-between;
	}
	
	.w_contP{
		width: 48%;
		height: auto;
		padding: 7px;
		order: 2;
	}
	
	.w_contD{
		flex-direction: column;
	}
	
	.w_txt{
		width: 100%;
		height: auto;
		font-size: min(4vw,16px);
		border-radius: 100vh!important;
		padding: 25px 0;
	}
	
	.w_img{
		order: 2;
		width: 100%;
		margin-top: 10px;
	}
	
	.mmbD{
		width: 100%;
		padding: 25px;
	}
	
	.m_comp{
		font-size: 12px;
	}
	
	.m_nm{
		font-size: 22px;
	}
	
	.mmbD:nth-last-child(2) {
    margin-bottom: 3%;
	}
	
	.evt{
		width: 93%;
		display: block;
	}
	
	.ab,.ab_Barea{
		flex-wrap: wrap;
		flex-direction: column;
	}
	
	.ab_text{
		width: 100%;
	}
	.ab_mve{
		width: 100%;
		margin-top: 50px;
	}
	
	.ab_Barea a{
		width: 100%;
		padding: 10px 20px 10px 10px;
	}
	
	.abB1{
		width: 65px;
	}
	
	.abB2{
		width: calc(100% - 120px);
		font-size: 5.3vw;
	}
	
	.ab_Barea a:nth-child(2){
		margin: 20px 0;
	}
	
	
	.news {
		flex-direction: column;
	}


	.news_tit {
		width: 100%;
	}
	
	.news_dit {
		width: 100%;
		padding: 10px 15px;
	}
	
	.tab:first-child{
		width: 100%;
	}
	
	
	.tab-wrapper{
		gap:15px 10px;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.tab-label{
		font-size: 3.4vw!important;
		padding: 12px 15px!important;

	}
	
	.tab:not(:first-child) {
		margin:  0 0 30px 0;
	}
	
	.tab {
		margin:0;
	}

	.sc {}

	.sc dl {
		width: 100%;
	}

	.sc dl dt {
		width: 100%;
		padding: 0 0 0 2%;
	}

	.sc dl dd {
		width: 100%;
		border: none;
		padding: 0 2% 0;
	}
	
	.l_conD{
		flex-wrap: wrap;
	}
	
	.l_conL{
		width: 100%;
	}
	
	.box-text h2{
		font-size: 6vw;
	}
	
	.box-text h2 span {
		font-size: min(4vw, 14px);
	}
	
	.box-text h2::after {
		font-size: 6vw;
		top:2vh;
	}
	
	.f_m img{
		margin-top: 50px;
		width: 100%;
		max-width:967px;
	}

	.ft1{
		width: 18vw;
		position: absolute;
		left: 0;
		top: -50px;
	}

	.ft2{
		width: 15vw;
		position: absolute;
		right: 0;
		top: -35px;
	}
	
	.cnt_txt br{
		display: block;
	}
	
	.cnt_ccp,.cnt_btn{
		width: 94%;
	}

	
	/*ボタン*/
	
	.menuB a {
	width: 330px;
	font-size: min(4vw,16px);
	padding: 10px 0px;
}

.menuB a::before {
	content: '';
  width: 35px;
  height: 35px;
  background: #d4f0eb;
  border-radius: 50%;
  position: absolute;
  top: 0;
	bottom:0;
	margin: auto;
  right: 8px;
}

.menuB a::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: 2px solid #258b81;
  border-right: 2px solid #258b81;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
	bottom:0;
	margin: auto;
  right:23px;
}
	
	.ac .menuB a{
		width: 100%;
	}
	
	
	.telB,.milB a{
		width: 100%;
		padding-left: 70px;
	}
	
	.milB{
		width: 100%;
	}
	
	
	.telB a span {
		color: #2f3f3c;
	}
	
	.telB p{
		font-size: 3.8vw;
	}

	/*menu*/
	
	#gloval-nav{
		justify-content: flex-start;
	}
	
	#gloval-nav div.menu {
		flex-direction: column;
		padding-top: 100px;
	}
	
	#gloval-nav ul{
		width: 100%;
	}
	
	#gloval-nav ul:nth-child(4) p, #gloval-nav ul:nth-child(5) p {
    margin-top: 20px;
	}
	#gloval-nav ul p {
    margin-top: 20px;
	}
	
	
.selected>.tab-label:hover{
   opacity: 1!important;
	
}
		#nav-toggle:hover{
	background: #258b81;
}

#nav-toggle:hover span{
	background:  #fff;
}
.open #nav-toggle {
    background: #fff!important;
}
	.open #nav-toggle span {
    background: #258b81!important;
}
	
	/*下層*/
	
	.header_se{
		height: 120px;
		border-radius: 20px;
		width: 95%;
	}
	
	/*会員紹介*/
	
	.m_search{
		width: 93%;
	}
	
	.contentsK{
		width: 93%;
	}
	
	.msd ul li {
        width: 50%;
		font-size: 14px;
    }
	
	.msd ul li:nth-child(3) .checkboxC::before,.msd ul li:nth-child(13) .checkboxC::before {
     top: 25%;
}

.msd ul li:nth-child(3) .checkboxC::after,.msd ul li:nth-child(13) .checkboxC::after {
    top: 25%;
}	
	
	@media screen and (max-width:418px) {
.msd ul li:nth-child(11) .checkboxC::before {
     top: 25%;
}

.msd ul li:nth-child(11) .checkboxC::after {
    top: 25%;
}	
}	
	
	.mmbD2{
		width: 100%;
		padding:50px 25px 25px;
	}
	
	.m_comp2{
		font-size: min(4vw,16px)
	}
	
	.m_nm2 {
		font-size: min(6vw,28px);
	}
	
	.page{
		width: 100%;
	}
	
	.page ul li{
		width: 40px;
	}
	
	.active_pg{
		height: 40px;
		line-height: 35px;
		font-size: 20px;
	}
	
	.page ul li a{
		height: 40px;
		line-height: 35px;
		font-size: 20px;
	}
	
	.page ul li:first-child a, .page ul li:last-child a {
		font-size: 20px;
		line-height: 35px;
	}
	
	/*ページ内リンク*/
	
	.p_link ul {
		width: 90%;
		margin: auto;
		gap: 0;
        justify-content: space-between;
	}
	
	.p_link ul li{
		width: 48%;
		font-size:min(3.5vw,14px) ;
	}
	
	.p_link ul li a{
		height: 55px;
		line-height: 55px;
	}
	
	.p_link ul li a::after {
    content: '';
    width: 5px;
    height: 5px;
    border: 0;
    border-top: 1px solid #258b81;
    border-right: 1px solid #258b81;
	right: 10px;
}
	.p_link2{
		order: 3;
		width: 100%;
		padding: 50px 0;
	}
	
	.p_link2 ul{
		width: 90%;
		margin: auto;
		flex-wrap: wrap;
		gap:15px 0;
	}
	
	.p_link2 ul li{
		width: 48%;
		font-size:min(3.5vw,14px)
	}
	
	.p_link2 ul li a{
		height: 55px;
        line-height: 55px;
	}
	
	.p_link2 ul li a::after {
        content: '';
        width: 5px;
        height: 5px;
        border: 0;
        border-top: 1px solid #258b81;
        border-right: 1px solid #258b81;
        right: 10px;
    }
	
	.p_link3 ul{
		width: 90%;
		margin: auto;
		flex-wrap: wrap;
		gap:15px 3%;
		justify-content: center;
	}
	
	.p_link3 ul li{
		width: 48%;
		font-size: 14px;
	}
	
	.p_link3 ul li a{
		height: 55px;
        line-height: 55px;
	}
	
	.p_link3 ul li a::after {
        content: '';
        width: 5px;
        height: 5px;
        border: 0;
        border-top: 1px solid #258b81;
        border-right: 1px solid #258b81;
        right: 10px;
    }
	
	.p_link4{
		width: 90%;
	}
	
	.p_link4 ul{
		width: 100%;
		margin: auto;
		flex-wrap: wrap;
		gap:15px 3%;
		justify-content: center;
	}
	
	.p_link4 ul li{
		width: 31%;
		font-size:min(3.5vw,14px)
	}
	
	.p_link4 ul li a{
		height: 55px;
        line-height: 55px;
	}
	
	.p_link4 ul li a::after {
        content: '';
        width: 5px;
        height: 5px;
        border: 0;
        border-top: 1px solid #258b81;
        border-right: 1px solid #258b81;
        right: 10px;
    }
	
	 .p_link5 {
        width: 100%;
        padding: 50px 0;
    }
	
	.p_link5 ul {
        width: 90%;
        margin: auto;
        flex-wrap: wrap;
        gap: 15px 0;
    }
	
	.p_link5 ul li {
        width: 48%;
        font-size: min(3.5vw, 14px);
    }
	
	.p_link5 ul li a {
        height: 55px;
        line-height: 55px;
    }
	
	.p_link5 ul li a::after {
        content: '';
        width: 5px;
        height: 5px;
        border: 0;
        border-top: 1px solid #258b81;
        border-right: 1px solid #258b81;
        right: 10px;
    }
	
	.p_link6{
		width: 100%;
	}
	
	.p_link6 ul{
		width: 90%;
		margin: auto;
		flex-wrap: wrap;
		gap:15px 3%;
		justify-content: center;
	}
	
	.p_link6 ul li{
		width: 48%;
		font-size: 14px;
	}
	
	.p_link6 ul li a{
		height: 55px;
        line-height: 55px;
	}
	
	.p_link6 ul li a::after {
        content: '';
        width: 5px;
        height: 5px;
        border: 0;
        border-top: 1px solid #258b81;
        border-right: 1px solid #258b81;
        right: 10px;
    }
	
	/*活動紹介*/
	
	.ac{
		padding: 100px 25px 50px;
	}
	
	.acD,.brcD,.brcD2{
		flex-direction: column;
	}
	
	.acDt,.brcDt{
		width: 100%;
	}
	
	.brcDt2{
		width: 100%;
	}
	
	.brcDt2:last-child{
		margin-top: 30px;
	}
	
	.acDi,.brcDI{
		width: 100%;
		margin-top: 30px;
	}
	
	.ac h3,.brc h3{
		font-size: min(6vw, 36px);
	}
	
	.ac h3 span{
		font-size: min(4vw, 20px);
		display: block;
		margin-left: 0;
	}
	
	.acDt ul li{
		text-indent: -1.5em;
		padding-left: 2em;
	}
	
	.brc{
		padding: 50px 25px;
	}
	
	table.table_branch th{
		display: block;
		width: 100%;
		padding: 20px 15px;
	}
	
	table.table_branch td{
		display: block;
		border-bottom: none;
		border-top: none;
		padding: 20px 15px;
	}
	
	table.table_branch tr:last-child td{
		border-bottom: 1px solid #e0e0e0; 
	}
	
	/*同友会について*/
	
	
	.aboutT{
		background: none;
		margin-top: 50px;
		
	}
	
	.abT{
		margin-top: 75px;
		padding: 80px 0 0 ;
		width: 100%;
    height: auto;
    text-align: center;
    background: rgba(255, 255, 255, 1);
    border-top-left-radius: 1000px 150px;
    border-top-right-radius: 1000px 150px;
    position: relative;
		order: 2;
	}
	
	.abT h2{
		font-size: min(7vw, 28px);
		margin-bottom: 25px;
	}
	
	.aboutD{
		flex-direction: column;
		padding-top: 0;
		width: 100%;
	}
	
	 .abT p br {
        display: block;
    }
	
	.abT p{
		width: 90%;
		margin: auto;
		font-size: min(4vw,16px);
	}
	
	
	.abI{
		width: 100%;
		margin: 0 ;
		order: 4;
		background: #fff;
		padding-bottom: 50px;
	}
	
	.abI img{
		width: 90%;
	}
	
	.ablogo{
		width: 65px;
		top: -32px
	}
	
	.abI:first-child{
		order: 1;
		background: none;
		padding-bottom: 0;
	}

	
	
	
	.ph{
		flex-direction: column;
	}
	
	.phT{
		width: 100%;
	}
	
	.phI{
		width: 100%;
		margin-top: 30px;
	}
	
	.phl, .phl2 {
        padding: 50px 25px;
    }
	
	.phl h3,.phl2 h3{
		font-size: min(6vw, 36px);
	}
	
	.phl h3 span, .phl2 h3 span{
		font-size: 16px;
	}
	
	.phW{
		flex-direction: column;
		padding: 20px;
	}
	
	.phWt{
		width: 100%;
	}
	
	.phWt br{
		display: none;
	}
	
	.phWi{
		width: 100%;
		margin-top: 30px;
	}
	
	.ptit1::before,.ptit2::before,.ptit3::before,.ptit4::before,.ptit5::before,.ptit6::before,.ptit7::before,.ptit8::before{
		padding-right: 15px;
		margin-right: 15px;
		font-size: 26px;
		line-height: 1.2em;
	}
	
	.ptit1, .ptit2, .ptit3,.ptit4, .ptit5, .ptit6, .ptit7, .ptit6 {
		font-size: min(5vw,20px);
		align-items: flex-start;
	}
	
	.spirit{
		flex-direction: column;
	}
	
	.spD{
		width: 100%;
	}
	
	.spD:nth-child(2){
		margin: 20px 0;
	}
	
	.dyk,.cmp{
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.spp{
		padding: 45px 20px 30px;
	}
	
	.phl2{
		background-size: contain;
	}
	
	.org{
		display: none;
	}
	.org_s{
		background: #fff;
		border: 1px solid #e0e0e0;
		border-radius: 16px;
		text-align: center;
		margin-top: 50px;
		padding: 15px;
		display: block;
	}
	
	.mttD{
		width: calc(50% + 1px);
		padding: 15px;
	}
	
	.mttD p{
		font-size: min(4.5vw,18px);
		width: calc(100% - 30px);
	}
	
	.mttD p span{
		font-size: min(5vw,20px);
	}
	
	.mttD .caption {
		font-size: min(6vw, 36px);
	}
	
	h3.open_h3{
		font-size: min(5vw, 21px);
		padding: 13px 0;
	}
	
	.open_h3:after, .open_h3.active:after {
    	font-size: 21px;
    	right: 20px;
    	position: absolute;
    	top: 13px;
    	bottom: 0;
	}
	
	.his{
		padding: 50px 25px;
	}
	
	.hisG{
		flex-direction: column;
	}
	
	.hisG::before{
		width: 96%;
		left: 4%;
	}
	
	.hisY,.hisD{
		width: auto;
		padding-left: 8vw;
	}
	
	.hisY::after{
		right:auto;
		left: 0;
	}
	
	.disp::before{
		display: none;
	}
	
	.hisG::after{
		left: 6px;
	}
	
	/*新着-お知らせ*/
	.news_dit2{
		padding: 10px 15px;
	}
	
	.news_dit3{
		padding: 50px 25px;
	}
	
	.news_dit3 h3{
		font-size: min(6vw, 36px);
	}
	
	.news_img{
		width: 100%;
	}
	
	.mtng{
		flex-direction: column;
		padding: 25px;
	}
	
	.mtI{
		width: 70%;
		margin: auto;
	}
	
	.mtI::before{
    	width: 30px;
   	 	height: 30px;
	}
	
	.mtD{
		width: 100%;
		margin-top: 30px;
	}
	
	.mtng::after{
		display: none;
	}
	
	.m-date{
		font-size: 20px;
	}
	
	.m-title{
		font-size: 22px;
	}
	
	.m-theme{
		font-size: 18px;
	}
	
	.event{
		padding: 50px 10px;
	}
	
	.event p{
		padding: 0 20px;
	}
	
	.event iframe {
    height: 300px;
}
	
	/*会報誌*/
	
	
	
	.bcn h3, .bn_body:nth-child(2n) .bcn h3 {
        font-size: min(6vw, 36px);
    }
	
	.bcn {
    	padding: 50px 25px;
	}
	
	.bcnB ul{
		justify-content: space-between;
	}
	
	.bcnB ul li{
		width: 48%;
	}
	
	/*課題*/
	.problem{
		padding: 50px 25px;
	}
	
	.proF{
		flex-direction: column;
	}
	
	.proT{
		width: 100%;
		order: 2;
		font-size: 16px;
	}
	
	.proI{
		width: 100%;
		order: 1;
		margin-bottom: 30px;
		padding: 10px 0;
		box-sizing: border-box;
	}
	
	.proI img{
		width: 90%;
	}
	
	.menuBp a {
        width: 100%;
        font-size: min(4vw, 16px);
        padding: 10px 0px;
    }
	
	
	.menuBp a::before {
		content: '';
 		width: 35px;
  		height: 35px;
  		background: #d4f0eb;
  		border-radius: 50%;
  		position: absolute;
  		top: 0;
		bottom:0;
		margin: auto;
  		right: 8px;
	}

	.menuBp a::after {
  		content: '';
  		width: 6px;
  		height: 6px;
  		border: 0;
  		border-top: 2px solid #258b81;
  		border-right: 2px solid #258b81;
  		transform: rotate(45deg);
  		position: absolute;
  		top: 0;
		bottom:0;
		margin: auto;
  		right:23px;
	}
	
	.menuBe a {
        width: 100%;
        font-size: min(4vw, 16px);
        padding: 10px 0px;
    }
	
	
	.menuBe a::before {
		content: '';
 		width: 35px;
  		height: 35px;
  		background: #d4f0eb;
  		border-radius: 50%;
  		position: absolute;
  		top: 0;
		bottom:0;
		margin: auto;
  		right: 8px;
	}

	.menuBe a::after {
  		content: '';
  		width: 6px;
  		height: 6px;
  		border: 0;
  		border-top: 2px solid #258b81;
  		border-right: 2px solid #258b81;
  		transform: rotate(45deg);
  		position: absolute;
  		top: 0;
		bottom:0;
		margin: auto;
  		right:23px;
	}
	
	.proL ul li,.problem:nth-child(2n+1) .proL ul li{
		font-size: min(3.5vw, 16px);
		width: 100%;
		padding: 15px 0px;
		height: 56px;
		line-height: 25px;
	}
	
	.problem:nth-child(2) .proL ul,.problem:nth-child(6) .proL ul{
			gap:20px 0;
		}
	
	.proL ul li::after{

	width: 16px;
	height: 16px;
		right: 15px;
		top: 19px;
	}
	
	.proL ul::after {
		display: none;
	}
	
	.mdl{
		flex-direction: column;
		height:100%;
		overflow: scroll;
	}
	
	.mdlI{
		width: 50%;
		margin:0 auto 30px;
	}
	
	.mdlT{
		width: 100%;
		font-size: 16px;

	}
	
	.keiei2{
		font-size: 4vw;
	}
	
	.p_com{
		font-size: 6.8vw;
		text-align: center;
		border-bottom: none;
		text-decoration: underline;
		text-decoration-color: #2f3f3c;
		text-decoration-thickness: 1px;
		text-underline-offset: 5px;
	}
	
	.probBG{
		width: 90%;
		height: auto;
		background-size: 50%; 
		padding-bottom: 180px;
	}
	
	.probT {
    	width: 100%;
    	height: auto;
    	margin-top: 80px;
    	border-top-left-radius: 900px 250px;
    	border-top-right-radius: 900px 250px;
    	position: relative;
	}
	
	.p_com br{
		display: block;
	}
	
	.probD{
		flex-direction: column;
	}
	
	.probDt{
		width: 100%;
	}
	
	.probDt p{
		font-size: min(4vw,16px);
	}
	
	.probDt ul{
		margin-bottom: 50px
	}
	
	.probDt ul li {
    	width: 48%;
		max-width: 200px;
	}
	
	.probDt ul li:nth-child(2n) {
    	margin-top: 0px;
	}
	
	.probDt.rgt ul li::after,.probDt.lft ul li::after{
		left: 35px;
		bottom: -30px;
	}
	
	.probDt.rgt ul li::before,.probDt.lft ul li::before{
		left: 64px;
		bottom: -40px
	}
	
	.probDt:nth-child(3), .probDt:nth-child(4) {
     	margin-top: 0; 
	}
	
	/*よくある質問*/
	.faq{
		background: #fff;
		padding: 25px;
		box-sizing: border-box;
		width: 100%
	}
	
	.q{
		font-size: 22px;
	}
	
	.ans{
		font-size: 16px;
	}
	
	/*りんく*/
	.link {
    	padding: 50px 25px;
	}

	.link h3 {
    	font-size: min(6vw, 36px);
	}

	.link ul{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.link ul li {
    	font-weight: bold;
    	margin-bottom: 20px;
		width: 100%;
		display: flex;
	}
	
	.info dt, .info dd {
        width: 98%;
    }
	
	.inq{
    	padding: 50px 25px;
	}
	
	.formBtn1{
        width: 100%;
        font-size: min(4vw, 16px);
        height: 56px;
    }
	
	.formBtn1::before {
        content: '';
        width: 35px;
        height: 35px;
        background: #d4f0eb;
        border-radius: 50%;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 8px;
    }
	
	.formBtn1::after {
        content: '';
        width: 6px;
        height: 6px;
        border: 0;
        border-top: 2px solid #258b81;
        border-right: 2px solid #258b81;
        transform: rotate(45deg);
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 23px;
    }
	
	.bwg{
		font-size:6vw;
	}
	
	.bwg br{
		display: block;
	}
	
	/*景況調査*/

	.edor a{
		width: 100%;
   		padding: 25px;
	}
	
	.memT{
		width: 100%;
	}
	
	.memI{
		width: 100%;
		margin-top: 50px;
	}
	
	.memT h2 {
        font-size: min(6.8vw, 28px);
        margin-bottom: 25px;
    }
	
	.memT p{
		font-size: min(4vw, 16px);
	}
	
	.memS{
		margin-top: 62px;
	}
	
	.memSi,.memSi2,.memSi3{
		padding: 50px 25px;
	}
	
	.memSi ul{
		gap:30px;
	}
	
	.memSi ul li {
        font-size: min(3.5vw, 16px);
        width: 100%;
        height: 56px;
        line-height: 25px;
    }
	
	.memSi ul li a{
		 padding: 15px 0px;
		display: block;
	}
	
	.memSi ul::after{
		display: none;
	}
	
	.memSi ul li.pdfF::after,.memSi ul li.exeF::after {
        width: 16px;
        height: 16px;
        right: 15px;
        top: 19px;
    }
	
	table.table_mem th{
		width: 35%;
		padding: 20px;
	}
	
	table.table_mem td{
		padding: 20px;
	}
	
	.memSi3 ul li{
		display: block!important;
		text-indent: -26px;
		padding-left: 26px;
	}
	
	.memSi3 ul li::before{
		background: url(../membership/img/pdf.svg) no-repeat left top;
		background-size: contain;
		width: 16px;
		height: 16px;
		margin-bottom: 2px;
	}
	
	.offc1, .offc2 {
        padding: 50px 25px;
    }
	
	.off_tit{
		font-size: 28px;
	}
	
	.offc1 h3, .offc2 h3 {
        font-size: min(6vw, 36px);
    }
	
	.offc1 h3 span, .offc2 h3 span {
        font-size: 16px;
    }
	
	.offc1 h3 br{
		display: block;
	}
	
	.loca{
		flex-direction: column;
	}
	
	.locaT{
		width: 100%;
	}
	
	.locaI{
		width: 100%;
		margin-top: 30px;
	}
	
	.offW {
		padding: 20px;
	}
	
	.mapicon{
		width: 100%;
		flex-direction: column;
	}
	
	.mapimg{
		width: 50%;
		margin: auto;
	}

	.mapimg img{
		width: 100%;
	}

	.mapad{
		width: 100%;
		margin-top: 10px;
	}
	
	.menuM a {
		width: 100%;
    	height: 55px;
    	line-height: 55px;
		font-size: min(3.5vw, 14px);
	}

	.menuM a::after {
		content: '';
        width: 5px;
        height: 5px;
        border: 0;
        border-top: 1px solid #258b81;
        border-right: 1px solid #258b81;
        right: 10px;
	}

}