/* @override 
	https://cocreationproject.jp/wp-content/themes/cocreationproject2021/sm-css.css
	https://cswc2016.jp/wp/wp-content/themes/cswc2023/sm-css.css */
	
/* @group コアCSS */
	
	/* 基本編集しない */
	
	
	.sm{box-sizing:border-box;position:relative;z-index:9999;-webkit-tap-highlight-color:rgba(0,0,0,0);}
	.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;}
	.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right;}
	.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0;}
	.sm ul{display:none;}
	.sm li,.sm a{position:relative;}
	.sm a{display:block;}
	.sm a.disabled{cursor:default;}
	.sm::after{content:"";display:block;height:0;font:0px/0 sans-serif;clear:both;overflow:hidden;}
	.sm *,.sm *::before,.sm *::after{box-sizing:inherit;}
	
	
	
/* @end */



/* @group SP */

.main-nav {
  font-family: Montserrat,"Helvetica Neue","Hiragino Kaku Gothic Pro","游ゴシック Medium",YuGothic,YuGothicM,メイリオ,Meiryo,sans-serif;
	width: 100%;
	opacity: 0.99;
	background-color: #C4F2F5;
  -webkit-box-shadow: inset 0px 3px 4px 0px rgba(152, 152, 152, 0.4); 
  -moz-box-shadow: inset 0px 3px 4px 0px rgba(152, 152, 152, 0.4); 
  box-shadow: inset 0px 3px 4px 0px rgba(152, 152, 152, 0.4); 
}

.main-nav:after {
  clear: both;
  content: "\00a0";
  display: block;
  height: 0;
  font: 0px/0 sans-serif;
  overflow: hidden;
}

.fixed {
  position: static;
}

.sm-blue li {
	border-bottom: 1px solid white;
}
.sm-blue li a{
	padding-top: 18px;
	padding-left: 50px;
	padding-bottom: 18px;
	background-repeat: no-repeat;
	background-position:15px center;
}
.sm-blue {
  background: transparent;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.sm-blue a:hover {
   background-color: #F0FAFA;}

/* SPアイコン */
li#menu-item-86 a{
	background-size:22px;
	background-image:url(img/navIcon01.png);
}
#menu-item-86 a img{
	width: 58px;
}
#menu-item-90 a{
	background-size: 25px;
	background-image:url(img/navIcon02.png);
}
#menu-item-90 a img{
	width: 126px;
}

#menu-item-94 a{
	background-size:19px;
	background-image:url(img/navIcon03.png);
}
#menu-item-94 a img{
	width: 72px;
}

#menu-item-89 a{
	background-size: 16px;
	background-image:url(img/navIcon04.png);
}
#menu-item-89 a img{
  width: 70px;
}

#menu-item-87 a{
	background-size: 16px;
	background-image:url(img/navIcon05.png);
}
#menu-item-87 a img{
	width:162px;
}

#menu-item-95 a{
	background-size: 21px;
	background-image:url(img/navIcon06.png);
}
#menu-item-95 a img{
	width: 72px;
}

#menu-item-210 a{
	background-size: 21px;
	background-image:url(img/navIcon07.png);
}
#menu-item-210 a img{
	width: 54px;
}

#menu-item-136 a{
	background-size: 20px;
	background-image:url(img/navIcon08.png);
	background-repeat: no-repeat;
}
#menu-item-136 a img{
	width:108px;
}



/* SPサブメニュー */
.sm-blue a .sub-arrow {
  position: absolute;
  top: 50%;
  margin-top: -17px;
  left: auto;
  right: 0;
  width: 50px;
  height: 34px;
  overflow: hidden;
  font: bold 16px/34px monospace !important;
  text-align: center;
  text-shadow: none;
  border-left-style: solid;
  border-left-width: 1px;
  padding-left: 0;
}
.sm-blue a .sub-arrow::before {
  content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 14px;/*画像の幅*/
  height: 10px;/*画像の高さ*/
  background: url(img/menu_downarrow.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}

#menu-item-89 ul li a,
#menu-item-210 ul li a{
	background: none;
	width: auto;
	text-align: left;
	padding-top: 10px;
	font-size: 15px;
	font-weight: bold;
	padding-bottom: 10px;
}

#menu-item-89 ul li,
#menu-item-210 ul li{
	position: relative;
	padding-left: 26px;
	overflow: visible;
}
#menu-item-89 ul li::before,
#menu-item-210 ul li::before{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 53px;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 8px;
	height: 8px;
	border-top: 2px solid #119BBC;
	border-right: 2px solid #119BBC;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#menu-item-89 ul li:first-child,
#menu-item-210 ul li:first-child{
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: white;
}
#menu-item-89 ul li:last-child,
#menu-item-210 ul li:last-child{
	border-bottom: none;
}
 
.sm-blue li ul a:hover {
  height: auto;
  background-image: none;
  -webkit-box-shadow:  none;
  -moz-box-shadow:  none;
  box-shadow: none;
  opacity: 0.5 ;
  color: #574D49;
}
#menu-item-89 ul li:hover::before,
#menu-item-210 ul li:hover:before{
	opacity: 0.5 ;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}

ul#menu-footernav li a {
	font-size: 17px;
	padding: 20px 25px;
	border-bottom: 1px solid white;
	width: 100%;
	display: inline-block;
}
ul#menu-footernav li {
	position: relative;
	padding-left: 17px;
	margin-right: 10px;
	width: 100%;
}
ul#menu-footernav li::before {
	position: absolute;
	top: -5px;
	bottom: 0;
	left: 20px;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 5px;
	height: 5px;
	border-top: 2px solid #119BBC;
	border-right: 2px solid #119BBC;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}






#main-menu {
  clear: both;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

@media (min-width: 640px) {
#main-menu {
  clear: none;
	}
}

/* Mobile menu top separator */

#main-menu:before {
  content: '';
  display: block;
  height: 1px;
  font: 1px/1px sans-serif;
  overflow: hidden;
}

@media (min-width: 640px) {
  #main-menu:before {
    display: none;
  }
}
/* Mobile menu toggle button */

.site-header {
	position: relative;
}
.main-menu-btn {
  position: absolute;
  top:23px;
  right: 3%;
  display: inline-block;
  height: 42px;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  color: #6E6E5F;
}
.main-menu-btn-text {
  font-size: 10px;
  display: block;
  font-weight: 600;
  margin-top: 24px;
}

/* hamburger icon */

.main-menu-btn-icon{
  position: absolute;
  height: 2px;
  width: 32px;
  background: #6E6E5F;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  top:0px;
  right: 0;
  margin-right: 2px;
}

.main-menu-btn-icon:before {
  position: absolute;
  height: 2px;
  width: 32px;
  background: #6E6E5F;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  right: 0;
  margin-right: 2px;
  content: '';
  top: 9px;
  left: 0;
}

.main-menu-btn-icon:after {
   position: absolute;
  height: 2px;
  width: 32px;
  background: #6E6E5F;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  top: 18px;
  right: 0;
  margin-right: 2px;
  content: '';
  left: 0;
}

/* x icon */

#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon {
  height: 0;
  background: transparent;
}

#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before {
  top: 12px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after {
  top: 12px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* hide menu state checkbox (keep it visible to screen readers) */

#main-menu-state {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

/* hide the menu in mobile view */

#main-menu-state:not(:checked) ~ #main-menu {
  display: none;
}

#main-menu-state:checked ~ #main-menu {
  display: block;
}

@media (min-width: 640px) {
  /* hide the button in desktop view */
.main-menu-btn {
  position: absolute;
  top: -99999px;
  }
  /* always show the menu in desktop view */
  #main-menu-state:not(:checked) ~ #main-menu {
  display: table;
  }
}








/* @end */
/*@group PC*/

@media (min-width: 640px) {

.main-nav {
  background-image: linear-gradient(0deg, rgba(172, 233, 237, 1), rgba(240, 252, 253, 1));
  height: 80px;
  -webkit-box-shadow: inset 0px 3px 4px 0px rgba(152, 152, 152, 0.4);
  -moz-box-shadow: inset 0px 3px 4px 0px rgba(152, 152, 152, 0.4);
  box-shadow: inset 0px 3px 4px 0px rgba(152, 152, 152, 0.4),
	0px 5px 3px -3px rgba(60, 60, 60, 0.3);
	z-index: 1000 !important;
  position: relative;
}
.fixed {
  position: fixed;
  top: 0;
  padding: 0;
  width: 100%;
  z-index: 1000;
	}



.sm-blue a {
  white-space: nowrap;
  text-align: center;
}

/* メインメニュー */
.sm-blue li a{
	padding-top: 43px;
	padding-left: 0px;
		padding-bottom: 17px;
	background-position:center center;
}
ul#main-menu.sm.sm-blue {
	display: table;
	width: 1120px;
	margin-right: auto;
	margin-left: auto;
}

ul#main-menu.sm.sm-blue > li {
	display: table-cell;
	vertical-align:middle;
	float: none;
}
.sm-blue a:hover {
   background-image: linear-gradient(2deg, rgba(228, 255, 249, 1), rgba(255, 255, 255, 1));
  -webkit-box-shadow: inset 0px 3px 4px 0px rgba(152, 152, 152, 0.4);
  -moz-box-shadow: inset 0px 3px 4px 0px rgba(152, 152, 152, 0.4);
  box-shadow: inset 0px 5px 5px -4px rgba(0, 0, 0, 0.3);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;}
  
.sm-blue a .sub-arrow {
		top: auto;
		margin-top: 0;
		bottom: 8px;
		left: 60%;
		margin-left: -4px;
		right: auto;
		border-left-style: none;
	}
	
.sm-blue a:hover .sub-arrow, .sm-blue a:focus .sub-arrow, .sm-blue a:active .sub-arrow, .sm-blue a.highlighted .sub-arrow  {
		background-size: 14px 10px;
	}
	
ul#menu-footernav li a {
	font-size: 13px;
	padding: 0px 0px;
	border-bottom: none;
	width: auto;
	display: inline;
}
ul#menu-footernav li {
	position: relative;
	width: auto;
}
ul#menu-footernav li::before {
	position: absolute;
	top: 3px;
	bottom: 0;
	left:0px;
}


/* PCアイコン */

.sm-blue li{
	border-bottom-style: none;
}
li#menu-item-86 a{
	width: 100px;
	background-size: 2px,22px;
	background-image:url(img/navLine.png),url(img/navIcon01.png);
	background-position:left 21px,center 20px;
}
#menu-item-90 a{
	width: 170px;
	background-size: 2px,25px;
	background-image:url(img/navLine.png),url(img/navIcon02.png);
	background-position:left 21px,center 20px;
}

#menu-item-94 a{
	width: 120px;
	background-size: 2px,19px;
	background-image:url(img/navLine.png),url(img/navIcon03.png);
	background-position:left 21px,center 20px;
}
#menu-item-89 a{
	width: 150px;
	background-size: 2px,16px;
	background-image:url(img/navLine.png),url(img/navIcon04.png);
	background-position:left 21px,center 20px;
}
#menu-item-89 a img{
  margin-right: 28px;
}

#menu-item-87 a{
	width: 200px;
	background-size: 2px,16px;
	background-image:url(img/navLine.png),url(img/navIcon05.png);
	background-position:left 21px,center 20px;
}

#menu-item-95 a{
	width: 120px;
	background-size: 2px,21px;
	background-image:url(img/navLine.png),url(img/navIcon06.png);
	background-position:left 21px,center 20px;
}

#menu-item-210 a{
	width: 120px;
	background-size: 2px,21px;
	background-image:url(img/navLine.png),url(img/navIcon07.png);
	background-position:left 21px,center 21px;
}
#menu-item-210 a img{
	margin-right: 15px;
}

#menu-item-136 a{
	width: 140px;
	background-size: 2px,2px,20px;
	background-image:url(img/navLine.png),url(img/navLine.png),url(img/navIcon08.png);
	background-repeat: no-repeat;
	background-position: right 21px,left 21px,center 20px;
	
}



/* PCサブメニュー */

#menu-item-89 ul li a,
#menu-item-210 ul li a{
	background: none;
	width: auto;
	text-align: left;
	padding-top: 10px;
	font-size: 600;
	font-weight: bold;
	padding-bottom: 10px;
}
#menu-item-89 ul li,
#menu-item-210 ul li{
	border-bottom:dotted 2px;
	border-color: #C6C6C6;
	padding-left: 20px;
}
#menu-item-89 ul li::before,
#menu-item-210 ul li::before{
	top: 0;
	bottom: 0;
	left: 3px;
}
#menu-item-89 ul li:last-child,
#menu-item-210 ul li:last-child{
	border-bottom: none;
}
.sm-blue li ul {
	transform: translateY(20px);
	position: absolute;
	background: #FAFAF0;
	padding: 5px 20px;
	border-radius: 10px;
z-index: 10000;
}
.sub-menu .sm-nowrap {
	z-index: 10000px;
}
/* 吹き出し 三角外 */
.sm-blue li ul::before,
.sm-blue li ul::after {
  content: '';
  position: absolute;
  top: -15px;
  left: 20px;
  overflow: hidden;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0px 15px 12px;
  border-color: transparent transparent #fafaf0 transparent;
}
 





}

/* @end */