@charset "utf-8";
.sp{
	display: none;
}
.container{
	width:90%;
	margin:0 auto;
	max-width: 1100px;
}
main{
	overflow: hidden;
}
.container img{
	max-width: 100%;
	height: auto;
}
header p#sitename{
	float: left;
	height: 100%;
	display: block;
    position: relative;
    z-index: 1000;
}
header p#sitename a{
	color: #FFFFFF;
	display: flex;
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
	line-height: 100%;
	height: 100%;
	text-decoration: none;
	margin-right: 20px;
}
header .container{
	height: 40px;
}
header p#sitename img{
	max-height: 100%;
	width: auto;
}

header{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 10px 0;
	z-index: 33332;
}
header nav ul{
	text-align: right;
}
header nav ul li.tell a:before{
	content: "|";
	display: inline-block;
	margin-right: 20px;

}

header nav ul li{
	padding: 0px 7px;
	display: inline-block;
}

header nav ul li a{
	line-height: 100%;
	text-decoration: none;
	color: #3A3A3A;
	line-height: 40px;
}
header nav ul li a.ac{
	border-bottom: 1px solid #3A3A3A;
	padding-bottom: 3px;
}

main section:first-child{
	padding-top: 120px!important;
}

#mainvisual{
	background-size: cover;
	text-align: center;
}
#mainvisual .container{
	padding:255px 0 336px 0;
}
#mainvisual h1{
	font-size: 2.8em;
	color: #FFFFFF;
	margin-bottom: 15px;
}
#mainvisual p{
	color: #FFFFFF;
}

section.t1{
	padding: 80px 0;
	position: relative;
}
section.t1.c9{
	padding-bottom: 0;
}

section.t1 ul li img{
	width: 100%;
	height: auto;
}

section.n1 .container ul {
	width: 70%;
	margin: 0 auto;
}
section.n1 .container ul li{
	padding-left: 7em;
	position: relative;
	margin-bottom: 30px;
}


section.n1 .container ul li span.date{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
section.n1 .container ul li span.date{
	display: block;
	float: left;
	width: 6.5em;
}


section.n2 .container ul li{
	width: 21%;
	margin: 0 2% 30px 2%;
	float: left;
}
section.n2 .container ul li:nth-child(4n+1){
	clear: both;
}


section.n3 .container ul li{
	width: 46%;
	margin: 0 2% 30px 2%;
	float: left;
}
section.n3 .container ul li:nth-child(2n+1){
	clear: both;
}
section.n3 .container ul li{
	position: relative;
}
section.n3 .container ul li span.thumb{
	width: 42%;
	float: left;
}
section.n3 .container ul li span.txt{
	padding-left: 44%;
	display: block;
}


section.n4 .container ul li{
	margin-bottom: 30px;
}

section.n4 .container ul li{
	position: relative;
	clear: both;
}
section.n4 .container ul li span.thumb{
	width: 20%;
	float: left;
}
section.n4 .container ul li span.txt{
	padding-left: 22%;
	display: block;
}

section.c1 .container h2{
	font-size: 2.8em;
	margin-bottom: 60px;
	text-align: center;
}


section.t1 .container h2{
	font-size: 2.8em;
	margin-bottom: 60px;
	text-align: center;
	letter-spacing: 0.1rem;
	font-weight:500;
}
section.t1 .container p{
	margin-bottom: 1em;
}
section.c1 .container ul li{
	width: 46%;
	margin: 0 2% 30px 2%;
	float: left;
	position: relative;
	display: block;
}
section.c1 .container ul li:nth-child(2n+1){
	clear: both;
}
section.c1 .container ul li span.thumb{
	margin-bottom: 0;
	padding: 0;
	line-height: 100%;
	display: block;
}


section.c1 .container ul li span.txt{
	color: #FFFFFF;
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 40px);
	background:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.6));
	display: block;
	padding: 10px 20px;
}
section.c2 .container ul li{
	width: 46%;
	margin: 0 2% 30px 2%;
	float: left;
	position: relative;
	display: block;
}
section.c2 .container ul li:nth-child(2n+1){
	clear: both;
}
section.c2 .container ul li span.thumb{
	margin-bottom: 0;
	padding: 0;
	line-height: 100%;
	display: block;
}
section.c3 .container ul li{
	width: calc(100% / 3 - 4%);
	margin: 0 2% 30px 2%;
	float: left;
	position: relative;
	display: block;
}
section.c3 .container ul li:nth-child(3n+1){
	clear: both;
}
section.c3 .container ul li span.thumb{
	margin-bottom: 0;
	padding: 0;
	line-height: 100%;
	display: block;
}
section.c3 .container ul li span.txt{
	color: #FFFFFF;
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 40px);
	background:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.6));
	display: block;
	padding: 10px 20px;
}
section.c5 .container h2{
	font-size: 2.8em;
	margin-bottom: 60px;
	text-align: center;
}



section.c5 .container ul li{
	width: 21%;
	margin: 0 2% 30px 2%;
	float: left;
	position: relative;
	display: block;
}
section.c5 .container ul li:nth-child(4n+1){
	clear: both;
}
section.c5 .container ul li span.thumb{
	margin-bottom: 0;
	padding: 0;
	line-height: 100%;
	display: block;
}

section.c5 .container ul li span.txt{
	color: #FFFFFF;
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 40px);
	background:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.6));
	display: block;
	padding: 10px 20px;
}
section.c4 .container ul li{
	width: calc(100% / 3 - 4%);
	margin: 0 2% 30px 2%;
	float: left;
	position: relative;
	display: block;
}
section.c4 .container ul li:nth-child(3n+1){
	clear: both;
}
section.c4 .container ul li span.thumb{
	margin-bottom: 0;
	padding: 0;
	line-height: 100%;
	display: block;
}


section.c6 .container ul li{
	width: calc(100% / 4 - 4%);
	margin: 0 2% 30px 2%;
	float: left;
	position: relative;
	display: block;
}
section.c6 .container ul li:nth-child(4n+1){
	clear: both;
}
section.c6 .container ul li span.thumb{
	margin-bottom: 0;
	padding: 0;
	line-height: 100%;
	display: block;
}




section.c9 .container h2{
	margin-bottom: 0;
}
.col50prL{
	width: 48%;
	float: left;
}
.col50prR{
	width: 48%;
	float: right;
}
figure img{
	width: 100%;
}
section.p1 .container ul li{
	width: 21%;
	margin: 0 2% 30px 2%;
	float: left;
}
section.p1 .container ul li:nth-child(4n+1){
	clear: both;
}

section.p2 .container ul li{
	width: calc(100% / 3 - 4%);
	margin: 0 2% 30px 2%;
	float: left;
	position: relative;
	display: block;
}
section.p2 .container ul li:nth-child(3n+1){
	clear: both;
}

section.p3 .container ul li{
	width: calc(100% / 2 - 4%);
	margin: 0 2% 30px 2%;
	float: left;
	position: relative;
	display: block;
}
section.p3 .container ul li:nth-child(2n+1){
	clear: both;
}
section.p6 figure{
	margin-bottom: 1em;
}

section.p7 .container figure.master{
	width: 83%;
	float: left;
}
section.p7 .container ul.ppcont{
	width: 16%;
	float: right;
}
section.p7 .container ul.ppcont li{
	margin-bottom: 5px;
}

section.p7 .container .clearFix.cf2{
	margin-bottom: 15px;
}

section.tb1 .container table th,section.tb1 .container table td{
	border: 1px solid #cccccc;
	padding: 15px;
}

section.tb2 .container table td,section.tb1 .container table td{
	background: #FFFFFF;
}
section.tb1 .container table th{
	background: #ececec;
	text-align: left;
}
section.tb1 .container table{
	table-layout: fixed;
	width: 100%;
}
section.tb2 .container table{
	width: 100%;
}
section.tb2 .container table th,section.tb2 .container table td{
	border: 1px solid #cccccc;
	padding: 15px;
}
section.tb2 .container table th{
	background: #ececec;
	text-align: left;
	width: calc(30%);
}
section.b1 .container p,section.b2 .container p,section.b3 .container p{
	text-align: center;
}

section.b1 .container p a{
	display: inline-block;
	margin-bottom: 0 auto;
	width: 30%;
	text-align: center;
	border: 1px solid #CCCCCC;
	padding: 15px;
	background: #ececec;
	color: #3A3A3A;
	text-decoration: none;
}
section.b2 .container p a{
	display: inline-block;
	margin-bottom: 0 auto;
	width: 30%;
	text-align: center;
	border: 1px solid #CCCCCC;
	padding: 15px;
	background: #ececec;
	border-radius: 5px;
	color: #3A3A3A;
	text-decoration: none;
}
section.b3 .container p a{
	display: inline-block;
	margin-bottom: 0 auto;
	width: 30%;
	text-align: center;
	border: 1px solid #CCCCCC;
	padding: 15px;
	background: #ececec;
	border-radius: 100px;
	color: #3A3A3A;
	text-decoration: none;
}


a.shine{
	position: relative;
}
a.shine:hover:after{
  -webkit-animation: shine .75s;
  animation: shine .75s;
}
@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
p.bt2 a:hover{
}
a.shine{
	overflow: hidden;
}
a.shine:after{
  position: absolute;
  top: 0;
  left: -15%;
  z-index: 2;
  display: block;
  content: '';
  width: 10%;
  height: 100%;
  background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  -webkit-transform: skewX(-25deg);
  transform: skewX(-25deg);
}


#mainvisual{
	background: url(../images/AdobeStock_83327999.jpg) center center no-repeat;
}
section div.bgf{
	display:block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
section div.bgf2{
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	display:block;
	position: absolute;
	top: -20px;
  	left: -20px;
  	right: -20px;
  	bottom: -20px;
}
section div.bgf2wrap{
	display:block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -3;
	overflow: hidden;
}
section.p4 div.delBase{
	margin-bottom: 30px;
}
section.p4 div.delBase:last-of-type{
	margin-bottom: 0;
}
section.p5 div.delBase{
	margin-bottom: 30px;
}
section.p5 div.delBase:last-of-type{
	margin-bottom: 0;
}
section.c8 div.delBase{
	margin-bottom: 30px;
}
section.c8 div.delBase:last-of-type{
	margin-bottom: 0;
}
section.c7 div.delBase{
	margin-bottom: 30px;
}
section.c7 div.delBase:last-of-type{
	margin-bottom: 0;
}


header .nmode_sp{
/*	padding: 20px 0;
*/}
header .nmode_sp p#menu_bt{
	display: block!important;
}
header .nmode_sp nav{
	background: rgba(255,255,255,0.9);
	position: fixed;
	top: 0;
	right: -70%;
	width: 40%;
	height: 100%;
	overflow-y: scroll;
	z-index: 33333;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
header .nmode_sp nav.ac{
	right: 0%;
}
header .nmode_sp nav.ac ul li a{
}
header .nmode_sp nav ul:first-child{
	padding-top: 80px;
}
header .nmode_sp nav ul li{
	display: block;
}
header .nmode_sp nav ul li.tell a:before{
	display: none;
}
header .nmode_sp nav ul li.tell .sp{
	display: inline;
}

header .nmode_sp nav ul li a{
	display: block;
	float: none;
	margin: 0 10px;
	text-align: left;	
	padding: 20px 30px 20px 0;
	line-height: 100%;
	text-decoration: none;
	font-size: 1.2em;
	border-bottom: 0.5px solid #828282;
	position: relative;
}
header .nmode_sp nav.ac ul:first-child li a:after{
	content: "";
	display: block;
	width: 13px;
	height: 1px;
	background:#828282;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: rotate(35deg);
	transform-origin:top right;
}
header .nmode_sp nav ul:first-child li a:before{
	content: "";
	display: block;
	width: 13px;
	height: 1px;
	background:#828282;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: rotate(-35deg);
	transform-origin:top right;
}
header .nmode_sp nav ul.social{
	text-align: center;
	padding-top: 20px;
}
header .nmode_sp nav ul.social li{
	display: inline-block;
	margin: 10px;
}

header .nmode_sp nav ul.social li a{
	padding: 0;
	margin: 0;
	display: inline;
	border: none;
}
header .nmode_pc nav{
	position: absolute;
	top: 10px;
	right: 20px;
	padding-left: 300px;
	height: calc(100% - 20px);
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
header .nmode_pc nav ul{
}
header p#menu_bt a{
	width: 50px;
	height: calc(100%);
	position: absolute;
	top: 0;
	right: 5%;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
	font-size: 1.1em;
	cursor: pointer;
	text-decoration: none;
	z-index: 33334;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.2);
	display: block;
}
header p#menu_bt a:before{
	content: "";
	display: block;
	width: calc(100%);
	height: 3px;
	background: #ffffff;
	position: absolute;
	top: calc(40% - 2px);
	left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
header p#menu_bt a:after{
	content: "";
	display: block;
	width: calc(100%);
	height: 3px;
	background: #ffffff;
	position: absolute;
	top: calc(60% - 1px);
	left: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
header p#menu_bt a span{
	display: none;
}



header .nmode_sp p#menu_bt.ac a{
	position: fixed;
	top: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
}
header .nmode_sp p#menu_bt.ac a:before{
	content: "";
	display: block;
	width: calc(100%);
	height: 3px;
	box-shadow: none;
	position: absolute;
	top: calc(50% - 10px);
	left: 0px;
	transform: rotate(45deg);
}
header .nmode_sp p#menu_bt.ac a:after{
	content: "";
	display: block;
	width: calc(100%);
	height: 3px;
	box-shadow: none;
	position: absolute;
	top: calc(50% - 10px);
	transform: rotate(-45deg);
	left: 0px;
}
header .nmode_sp p#menu_bt.ac a span:after{
	display: none;
}

header .nmode_sp p#sitename a{
	position: relative;
	top: -10px;
	height: calc(100% + 20px);
	width: auto;
	max-width: none;
}
ul#social{
	position: fixed;
	top: 30%;
	right: -50px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
ul#social.ac{
	right: 15px;
}
ul#social li{
	margin-bottom: 15px;
}
footer p{
	background: #3A3A3A;
	padding: 20px 0;
	color: #FFFFFF;
	text-align: center;
}
footer p a{
	display: inline-block;
	text-decoration: none;
	color: #FFFFFF;
}
footer p a:hover{
	text-decoration: underline;
}


section.title{
	/*height: 350px;*/
	width: 100%!important;
	display: flex;
    padding: 100px 0;
}
section.title .bgf2{
	background-color: #CCCCCC;
}
section.title .container{
	color: #FFFFFF;
}
section.title h1{
	font-size: 2.8em;
	text-align: center;
	letter-spacing: 0.1rem;
	font-weight:500;

}
section.title p{
	/*margin-top: 15px;*/
	text-align: center;
}
section.title>.ui-resizable-se {
    position: absolute;
    bottom: -16px;
    right: auto;
    left: 0;
    cursor: nesw-resize;
	display: block;
	border: 1px solid #915CB8;
	color: #915CB8;
	text-decoration: none;
	text-align: center;
	width: 10px;
	height: 10px;
	padding: 10px;
	font-size: 16px;
	line-height: 20px;
	margin-bottom: 0;
	z-index: 33334!important;
	background: url(../images/bic11.png) center center no-repeat;
	background-size: 50% auto;
	background-color: #FFFFFF;
	display: none!important;
}
section.title>.ui-resizable-se:hover{
	background: url(../images/bic11_a.png) center center no-repeat #915CB8;
	background-size: 50% auto;
}

section.title[mode="m1"]{
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m2"]{
    align-items: flex-start;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m3"]{
    align-items: flex-end;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m4"]{
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m4"] h1,section.title[mode="m4"] p{
	text-align: left;
}
section.title[mode="m5"]{
    align-items: flex-end;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m5"] h1,section.title[mode="m5"] p{
	text-align: left;
}
section.title[mode="m6"]{
    align-items: flex-start;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m6"] h1,section.title[mode="m6"] p{
	text-align: left;
}
section.title[mode="m7"]{
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}

section.title[mode="m7"] h1,section.title[mode="m7"] p{
	text-align: right;
}
section.title[mode="m8"]{
    align-items: flex-end;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m8"] h1,section.title[mode="m8"] p{
	text-align: right;
}
section.title[mode="m9"]{
    align-items: flex-start;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m9"] h1,section.title[mode="m9"] p{
	text-align: right;
}
section.form table ul li{
	margin-bottom: 5px;
}
section.form table{
	margin: 60px 0;
}
section.form table td input{
	width: calc(100% - 10px);
	padding: 5px;
	border: 1px solid #CCCCCC;
}
section.form table td textarea{
	width: calc(100% - 10px);
	padding: 5px;
	border: 1px solid #CCCCCC;
}
section.form table{
	color: #3A3A3A!important;
}
section.t1 .container a .thumb{
	overflow: hidden;
	display: block;
}
section.t1 .container a .thumb img{
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
section.t1 .container a:hover .thumb img{
	transform:scale(1.1,1.1);
}

section.p7 div.pp{
	display: none;
}
section.p7 div.pp.ac{
	display: block;
}
section.p7 div.master{
	display: none;
}
section.p7 div.master.ac{
	display: block;
}

div.form table{
	width: 100%;
}
div.form table th{
	padding: 15px;
	background: #ECECEC;
	border-bottom: 1px solid #FFFFFF;
	text-align: left;
}
div.form table tbody tr:last-child th,div.form table tbody tr:last-child td{
	border-bottom: none;
}

div.form table td{
	background: #FFFFFF;
	padding: 15px;
	border-bottom: 1px solid #D3D2D2;
	text-align: left;
}
div.form table td input{
	padding: 15px;
	width: calc(100% - 32px);
	border: 1px solid #D3D2D2;
}
div.form table td p{
	text-align: left!important;
	margin: 0!important;
	display: block;
	padding: 15px;
	border: 1px solid #D3D2D2;
	color: #D3D2D2;
}
div.acenter{
	text-align: center;
}
p.b2 a{
	display: inline-block;
	margin-bottom: 0 auto;
	width: 30%;
	text-align: center;
	border: 1px solid #CCCCCC;
	padding: 15px;
	background: #ececec;
	border-radius: 5px;
	color: #3A3A3A;
	text-decoration: none;
}
div.form table th.required:after{
	content: " ※";
}

input.error {
    background: #FFEEEE !important;
    border: 1px solid #b1b1b1;
}
section.p7 figure,section.p7 p{
	visibility: visible!important;
    opacity: 1!important;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)!important;
    transition: opacity 0.8s cubic-bezier(0.5, 0, 0, 1) 0s, transform 0.8s cubic-bezier(0.5, 0, 0, 1) 0s!important;
}
.sbutton p{
	visibility: visible!important;
    opacity: 1!important;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)!important;
    transition: opacity 0.8s cubic-bezier(0.5, 0, 0, 1) 0s, transform 0.8s cubic-bezier(0.5, 0, 0, 1) 0s!important;
}

section.form table th{
	width: 30%;
}
section.form input[type="text"] {
    padding: 5px;
    width: calc(100% - 10px - 1.5em);
}
section.t1.reqcaution .container h2 {
    font-size: 2.8em;
    margin-bottom: 0px;
    text-align: center;
    background: #FE0606;
    color: #FFFFFF;
    padding: 20px 0;
    text-align: center;
    width: 80%;
    margin :0 auto;
}




section.c1 .container ul li h3,
section.c5 .container ul li h3,
section.c7 .container h3,
section.p4 .container h3,
section.p5 .container h3,
section.c8 .container h3,
section.c3 .container ul li h3
{
	position: relative;
	margin-bottom: 15px;
}
section.c2 .container ul li h3,
section.c6 .container ul li h3,
section.n2 .container ul li h3,
section.n3 .container ul li h3,
section.n4 .container ul li h3,
section.p1 .container ul li h3,
section.p2 .container ul li h3,
section.p3 .container ul li h3,
section.c4 .container ul li h3
{
	position: relative;
	margin-bottom: 10px;
}

section.c1 .container ul li h3 span.txt,
section.c2 .container ul li h3 span.txt,
section.c4 .container ul li h3 span.txt,
section.c5 .container ul li h3 span.txt,
section.c6 .container ul li h3 span.txt,
section.c7 .container h3,
section.p4 .container h3,
section.p5 .container h3,
section.p6 .container h3,
section.c8 .container h3,
section.p1 .container h3,
section.p2 .container h3,
section.p3 .container h3,
section.n2 .container h3,
section.n3 .container h3,
section.n4 .container h3,
section.c3 .container ul li h3 span.txt
{
	font-size: 1.2em;
}

section.c2 .container ul li h3 span.thumb,
section.c6 .container ul li h3 span.thumb,
section.n2 .container ul li h3 span.thumb,
section.p1 .container ul li h3 span.thumb,
section.p2 .container ul li h3 span.thumb,
section.p3 .container ul li h3 span.thumb,
section.c4 .container ul li h3 span.thumb{
	margin-bottom: 15px;
	display: block;
}
section.p6 .container h3{
	margin:20px 0 15px 0;
}


section.n3 .container ul li div.right span{
    padding-left: 44%;
    display: block;
}
section.n4 .container ul li div.right span {
    padding-left: 22%;
    display: block;
}

.c2 .container ul,
.c1 .container ul,
.p3 .container ul,
.n3 .container ul,
.c4 .container ul,
.c3 .container ul,
.p2 .container ul,
.c6 .container ul,
.c5 .container ul,
.p1 .container ul,
.n2 .container ul,
{
	width:calc(104%);
	position: relative;
	left: -2%;
}

main section.title{
	padding: 0!important;
	padding-top: 0!important;
	padding-bottom: 0!important;
	min-height: 100px;
}
section.title div.bgf2wrap {
    display: block;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -3;
    overflow: hidden;
}
section.title div.bgf3 {
    background-color: #CCCCCC;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: -4;
}
section.title div.bgf2 {
	background-image: none!important;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: block;
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    filter: none!important;
}
section div.bgf2  img{
	position: relative;
	display: none;
}
section.title div.bgf2 img{
	display: block;
	width: 100%;
	max-width: 1500px;
	margin:0 auto;
}

section.title div.twrap{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
section.title div.tcont{
	width: 100%;
}

section.title .container{
	height: calc(100% - 100px);
	padding: 50px 0;
	display: flex;
}


section.title[mode="m1"] .container{
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m2"] .container{
    align-items: flex-start;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m3"] .container{
    align-items: flex-end;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m4"] .container{
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m4"] .container h1,section.title[mode="m4"] .container p{
	text-align: left;
}
section.title[mode="m5"] .container{
    align-items: flex-end;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m5"] .container h1,section.title[mode="m5"] .container p{
	text-align: left;
}
section.title[mode="m6"] .container{
    align-items: flex-start;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m6"] .container h1,section.title[mode="m6"] .container p{
	text-align: left;
}
section.title[mode="m7"] .container{
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}

section.title[mode="m7"] .container h1,section.title[mode="m7"] .container p{
	text-align: right;
}
section.title[mode="m8"] .container{
    align-items: flex-end;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m8"] .container h1,section.title[mode="m8"] .container p{
	text-align: right;
}
section.title[mode="m9"] .container{
    align-items: flex-start;  /* 子要素をflexboxにより中央に配置する */
}
section.title[mode="m9"] .container h1,section.title[mode="m9"] .container p{
	text-align: right;
}




/*2021.11.29added*/
section.c10 .container{
	text-align: center;
}
section.n1 .container ul li{
	padding-left: 17em;
}
section.n1 .container ul li span.date{
	width: 15em;
}
section.p11 .container ul li{
	width: calc(100% / 3 - 4%);
	margin: 0 2% 30px 2%;
	float: left;
	position: relative;
	display: block;
}
section.p11 .container ul li:nth-child(3n+1){
	clear: both;
}
section.p10 .container ul li{
	width: calc(100% / 2 - 4%);
	margin: 0 2% 30px 2%;
	float: left;
	position: relative;
	display: block;
}
section.p10 .container ul li:nth-child(2n+1){
	clear: both;
}
section.p10 .container ul li h3 span.thumb,section.p11 .container ul li h3 span.thumb  {
    margin-bottom: 15px;
    display: block;
}


/*20220615 45kai added youtube block*/
section.n5 .container ul li{
	width: 46%;
	margin: 0 2% 30px 2%;
	float: left;
}
section.n5 .container ul li:nth-child(2n+1){
	clear: both;
}
section.n6 .container ul li{
	width: calc(100% / 3 - 4%);
	margin: 0 2% 30px 2%;
	float: left;
}
section.n6 .container ul li:nth-child(3n+1){
	clear: both;
}
section.n7 .container ul li{
	width: 21%;
	margin: 0 2% 30px 2%;
	float: left;
}
section.n7 .container ul li:nth-child(4n+1){
	clear: both;
}
section.n8 .container ul li{
	width: 100%;
}
section.n9 .col50prR,
section.n9 .col50prL,
section.n10 .col50prR,
section.n10 .col50prL{
	position: relative;
}
section.n9 div.delBase,
section.n10 div.delBase {
  margin-bottom: 30px;
}

section.n5 .container ul,
section.n6 .container ul,
section.n7 .container ul{
	width:calc(104%);
	position: relative;
	left: -2%;
}
section.n5 .container ul li .thumb,
section.n6 .container ul li .thumb,
section.n7 .container ul li .thumb,
section.n8 .container ul li .thumb,
section.n9 .container ul li .thumb,
section.n10 .container ul li .thumb{
	display: block;
	position: relative;
	margin-bottom: 15px;
}
section.n5 .container ul li img.ac,
section.n6 .container ul li img.ac,
section.n7 .container ul li img.ac,
section.n8 .container ul li img.ac,
section.n9 .container div img.ac,
section.n10 .container div img.ac{
	opacity: 0;
}
section.n5 .container ul li iframe,
section.n6 .container ul li iframe,
section.n7 .container ul li iframe,
section.n8 .container ul li iframe,
section.n9 .container div iframe,
section.n10 .container div iframe{
	width: 100%;
	height: 100%;
	z-index: 10;
	position: absolute;
	top: 0;
	left: 0;
}


/*20230824 45kai added*/
section.c14 .container{
	text-align: left;
}
footer{
}

footer{
	position: relative;
	overflow: hidden;
}
footer .footbg{
	content:"";
	display:block;
	background: center center /cover no-repeat;
	width:110%;
	height:110%;
	position:absolute;
	top:-5%;
	left:-5%;
	z-index:-1;
}
footer nav{
	padding: 15px 0 30px 0;
}
footer nav ul:first-child{
	display: flex;
	align-items: stretch;
	height: calc(100% - 1px);
	position: relative;
}
footer nav ul:first-child:after{
	background:#838383;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 1px;
	left: 0;
}
footer nav ul:first-child li{
	margin-right: 30px;
}

footer nav ul:first-child li a{
	font-size: 1.1em;
	color: #838383;
	text-decoration: none;
	padding: 30px 0px 30px 0;
	display: block;
	position: relative;
}

footer nav ul:first-child li a.ac{
	border-bottom: 3px solid #838383;
}
footer nav ul.social{
	display: flex;
	align-items: center;
	margin-top: 30px;
}
footer nav ul.social li{
	margin-right: 30px;
}

footer nav ul.social li a{
	display: block;
}




/*--*/


/*20230901 45kai added*/
section.n8 .container ul li{
	margin-bottom: 30px;
}

/*--*/


/*20230911 45kai added*/
/*header .nmode_pc{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

header .nmode_pc p#sitename{
	float: none;
	padding-right: 0px;
}
header .nmode_pc nav{
	position: relative;
	top: 0;
	right: 0;
	padding-left: 0;
	height: calc(100% - 20px);
	display: flex;
	align-items: center;
	justify-content: flex-end;
}*/