@charset "utf-8";


/* ---------------------------------------------
 base modules
------------------------------------------------ */

.body {
  min-width: 1300px; /* コンテンツ幅に書き直す */
  clear:both;
}
.wrap{ clear:both; }

.inner {
  width: 1200px; /* コンテンツ幅に書き直す */
  margin: 0 auto;
}

.pc { display: block; }
.sp { display: none; }

/* ---------------------------------------------
 header
------------------------------------------------ */

.header .header-inner{
	background:#fff;
	border-radius:10px;
	box-shadow:0 0 8px rgba(0,0,0,0.13);
	min-width:1200px;
	/* height:70px; */
  	position:fixed;
	top:20px;
	left:50px;
	right:50px;
	z-index:9999;
}

.header .logo{
  position:absolute;
  left:20px;
  top:17px;
}

.header .global-navigation{
	font-weight:bold;
	margin:0 28px 0 0;
}

.header .global-navigation ul{
	display:flex;
	justify-content:flex-end;
	line-height:70px;
}

.header .global-navigation ul li{
	padding-right: 21px;
	font-size: 18px;
	letter-spacing: 0.05em;
}

.header .global-navigation ul li:nth-child(7){
	padding-right: 10px;
}

.header .global-navigation ul li:nth-child(8){
	padding-right: 2px;
}

/* .header .global-navigation ul li::after{
	display:inline;
	content:"/";
	margin:0 0.6em 0;
} */
.header .global-navigation ul li:nth-child(8)::after{
	content:"";
	margin:0 0em 0 1em;
}
.header .global-navigation ul li:last-child::after{
	display:none;
}

.header .global-navigation ul li a{
	display:inline-block;
}

.header .global-navigation ul li a:link,
.header .global-navigation ul li a:visited{
	color:#000;
	text-decoration:none;
}
.header .global-navigation ul li a:hover,
.header .global-navigation ul li a:active{
	color:#666;
	text-decoration:none;
}

.header .global-navigation ul li a.parent{
	position:relative;
	padding-right:20px;
}

.header .global-navigation ul li a.parent::after{
	border-top:2px solid #000;
	border-right:2px solid #000;
	content:"";
	width:6px;
	height:6px;
	position:absolute;
	top:50%;
	right:0;
	transform:rotate(135deg);
	margin:-5px 0 0;
}

.header .global-navigation ul li dl{
	background:#fff;
	border-radius:0 0 10px 10px;
	box-shadow:0 9px 8px rgba(0,0,0,0.13);
	display:none;
	text-align:left;
	line-height:1.5;
	position:absolute;
	top:60px;
	left:0;
	right:0;
	padding:19px 40px 41px;
}

.header .global-navigation ul li a:hover + dl,
.header .global-navigation ul li dl:hover{
	display:flex;
	flex-wrap: wrap;
	max-height: 65vh;
	overflow-y: auto;
}

.header .global-navigation ul li dl dt{
	box-sizing:border-box;
	width:15%;
	margin:20px 0 30px;
	padding:0 20px 0 0;
}

.header .global-navigation ul li dl dd{
	font-weight:normal;
/*	flex:1;*/
	width:85%;
	margin-bottom: 30px;
}

.header .global-navigation ul li dl dd ul{
	justify-content:flex-start;
	flex-wrap:wrap;
	line-height:1.5;
	margin:4px 0 0 -25px;
}

.header .global-navigation ul li dl dd ul li{
	position:relative;
	margin:16px 0 0 25px;
	/* padding:0 0 0 17px; */
	
	padding: 0 0 0 10px;
}

.header .global-navigation ul li dl dd ul li::before{
	background:#ffde00;
	content:"";
	/* width:8px; */
	/* height:2px; */
	position:absolute;
	/* top:0.7em; */
	left:0;

	top: 0.2rem;
	height: 1rem;
	width: 3px;
}

.header .global-navigation ul li dl dd ul li::after{
	display:none;
}

.header .global-navigation ul li dl dd ul li a:link,
.header .global-navigation ul li dl dd ul li a:visited{
	color:#000;
	text-decoration:none;
}
.header .global-navigation ul li dl dd ul li a:hover,
.header .global-navigation ul li dl dd ul li a:active{
	color:#000;
	text-decoration:underline;
}

.header .global-navigation a[target="_blank"] {
	background: none;
	padding-right: 0;
}

.header .global-navigation img {
	height: 30px;
	width: 30px;
	margin: 20px 0;
}

.header .utility-navigation{
	position:fixed;
	top:120px;
	right:0;
	z-index:9999;
}

.header .utility-navigation > div{
	background:#fff;
	border-radius:10px 0 0 10px;
	box-shadow:0 0 8px rgba(0,0,0,0.13);
	display:flex;
	width:291px;
	height:50px;
	position:absolute;
}

.header .utility-navigation .navi-btn{
	cursor:pointer;
	position:relative;
	overflow:hidden;
	white-space:nowrap;
	width:50px;
	height:50px;
	font-size: 10px;
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    justify-content: center;
    align-items: flex-end;
}

.header .utility-navigation .navi-cont{
	width:241px;
}

.header .utility-navigation .search{
	top:0;
	right:-241px;
}

.header .utility-navigation .search .navi-btn{
	background:url(../images/icon_search_001.png) 14px 10px no-repeat;
}

.header .utility-navigation .search .navi-cont .gsc-control-cse{
	border:none;
	padding:0;
}

.header .utility-navigation .search .navi-cont form.gsc-search-box{
	box-sizing:border-box;
	margin:0;
	padding:10px 20px 0 0;
}

.header .utility-navigation .search .navi-cont form.gsc-search-box table{
	border:none;
	margin:0;
}

.header .utility-navigation .search .navi-cont form.gsc-search-box table td{
	border:none;
	padding:0;
}

.header .utility-navigation .search .navi-cont form.gsc-search-box table td.gsib_b {
	height: 30px;
}

.header .utility-navigation .search .navi-cont .gsc-search-button-v2{
	height:30px;
	margin-left:5px;
}

.header .utility-navigation .color{
	top:60px;
	right:-241px;
}

.header .utility-navigation .color .navi-btn{
	background:url(../images/icon_color_001.png) 13px 5px no-repeat;
}

.header .utility-navigation .color .navi-cont ul{
	display:flex;
	margin:9px 0 0 16px;
}

.header .utility-navigation .color .navi-cont ul li{
	box-sizing:border-box;
	border-radius:50%;
	cursor:pointer;
	font-weight:bold;
	text-align:center;
	line-height:33px;
	width:33px;
	height:33px;
	margin:0 0 0 9px;
}

.header .utility-navigation .color .navi-cont ul li#color-white{
	background:#fff;
	border:1px solid #382928;
	color:#000;
}

.header .utility-navigation .color .navi-cont ul li#color-blue{
	background:#0213fa;
	border:1px solid #0213fa;
	color:#fbec02;
}

.header .utility-navigation .color .navi-cont ul li#color-yellow{
	background:#fbec02;
	border:1px solid #fbec02;
	color:#000;
}

.header .utility-navigation .color .navi-cont ul li#color-black{
	background:#000;
	border:1px solid #000;
	color:#fff;
}

/* #adminBox + .body .header .header-inner{
	top:110px;
} */

#adminBox + .body .header .utility-navigation{
	top:210px;
}




.header .menu-btn {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	opacity: 1;
	color: #000;
	transition: all 0.2s ease-in-out;
	position: relative;
	padding: 0 20px 0 0;
}

.menu-btn::before,
.menu-btn::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	width: 11px;
	height: 2px;
	background-color: #333;
	transition: transform 0.3s ease;
}

.header .menu-btn:hover {
	color: #666;
	opacity: 0.5;
	transition: all 0.2s ease-in-out;
}

.header .menu-btn::before {
	transform: translateY(-50%);
}

.header .menu-btn::after {
	transform: translateY(-50%) rotate(90deg);
}

.header .menu-btn.is-active-purpose::after,
.header .menu-btn.is-active-category::after {
	transform: translateY(-50%) rotate(0deg);
}

.header .header-inner {
	display: block;
	height: auto;
}

.header .header-inner.is-open-purpose,
.header .header-inner.is-open-category {
	grid-template-rows: auto 1fr;
}

.header .header-content-purpose {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out, visibility 0.3s, opacity 0.3s;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
}

.header .header-inner.is-open-purpose .header-content-purpose {
	grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
}

.header .header-content-category {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out, visibility 0.3s, opacity 0.3s;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
}

.header .header-inner.is-open-category .header-content-category {
	grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
}

.header .header-content-inner {
    min-height: 0;
    width: 964px;
    margin: 0 auto; 
    display: flow-root;
}


/* ------ category -------------------------------- */

.header .header-search {
	display: grid;
	grid-template-columns: auto 1fr;
	border-radius: 10px;
	overflow: hidden;
	margin-top: 30px;
	margin-bottom: 50px;
	border: 2px solid #ffd700;
}

.header .header-search .header-search-title {
	font-size: 18px;
	background-color: #ffd700;
	padding: 25px 40px;
	text-align: center;
    font-weight: bold;
}

.header .header-search .header-search-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 85px 0 40px;
	background-color: #fff;
}

.header .header-search .header-search-item a {
	position: relative;
	padding-left: 29px;
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
    color: #000;
}

.header .header-search .header-search-item a:hover {
	opacity: 1;
	text-decoration: underline;
}

.header .header-search .header-search-item a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background-color: #ffd700;
	width: 18px;
	height: 18px;
	border-radius: 50%;
}

.header .header-search .header-search-item a::after {
	content: "";
	position: absolute;
	left: 5px;
    top: 40%;
	transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/* ---------------------------------------------
 container
------------------------------------------------ */

.container{
  width:1200px;
  margin:0 auto;
}

/* ------ title -------------------------------- */

.page-title{
	background:url(../images/bg_pagetitle_001.jpg) 50% 50% / cover no-repeat;
	position:relative;
	width:100%;
	height:280px;
}

.page-title h1{
	color:#fff;
  font-size:250%;
  font-weight:bold;
  text-align:center;
	/* text-shadow:0 0 8px #000; */
	white-space:nowrap;
	position:absolute;
	top:50%;
	left:50%;
	margin-top:35px;
	transform:translate(-50%,-50%);
	color: #000;
}

/* ------ topic-path --------------------------- */

.container .topic-path{
  font-size:75%;
	font-weight:bold;
  text-align:left;
  margin:17px 0;
  list-style:none;
}

.color-blue .topic-path{
  color:#fbec02;
}
.color-black .topic-path{
  color:#fff;
}

.topic-path a,
.topic-path a:link,
.topic-path a:visited{
  color:#000;
  text-decoration:none;
}
.topic-path a:hover,
.topic-path a:active{
  color:#000;
  text-decoration:underline;
}

.color-blue .topic-path a,
.color-blue .topic-path a:link,
.color-blue .topic-path a:visited,
.color-blue .topic-path a:hover,
.color-blue .topic-path a:active{
  color:#fbec02;
}
.color-black .topic-path a,
.color-black .topic-path a:link,
.color-black .topic-path a:visited,
.color-black .topic-path a:hover,
.color-black .topic-path a:active{
  color:#fff;
}

.topic-path li{
	display:inline-block;
	text-indent:0;
	padding:0;
}

.topic-path li::before{
	display:none;
}

.topic-path li::after{
	content:"/";
	display:inline;
	margin:0 0.3em 0 0.5em;
}

.topic-path li:last-child::after{
	display:none;
}

/* content
------------------------------------------------ */

.content {
  text-align:left;
	/* width: 1000px; */
	margin: 0 auto;
}

.two-column .content {
  width:840px;
  float:left;
}

/* index-list */
.index-list ul {
	border-top: 1px solid #ddd;
}
.index-list a {
	text-decoration: none;
	display: block;
	border-bottom: 1px solid #ddd;
	color: #000;
	padding: 1rem;
	position: relative;
	transition: all .3s ease-in-out;
}
.index-list a::after {
	content: '';
	right: 1rem;
	top: 1.7rem;
	width: 4px;
	height: 4px;
	border-top: 2px solid #FFDE00;
	border-right: 2px solid #FFDE00;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
}
.index-list a:hover {
	background-color: #ffde0021;
	opacity: 1;
}
.index-list .index-list-child {
	margin-top: 0;
	border-top: 0;
	display: flex;
	flex-wrap: wrap;
}
.index-list-child li {
	width: 50%;
}
.index-list-child a {
	padding-left: 2rem;
}


/* sidebar
------------------------------------------------ */

.sidebar{
	display:flex;
	justify-content:space-between;
  text-align:left;
	margin:50px 0 0;
}


/* ------ infoNav ------------------------------ */

.sidebar .infoNav{
	width:330px;
}

.sidebar .infoNav h2{
	border-bottom:1px solid #ffde00;
	font-family:"LoveloBlack";
	font-size:156%;
  font-weight:normal;
  margin:0;
  padding:0 12px 11px;
}

.sidebar .infoNav ul{
	line-height:1.875;
  margin:24px 13px 0;
}

.sidebar .infoNav.backnumber ul{
	display:flex;
	flex-wrap:wrap;
	margin-top:19px;
}

.sidebar .infoNav ul li{
	margin:5px 0 0;
}

.sidebar .infoNav.backnumber ul li{
	box-sizing:border-box;
	width:50%;
}

.sidebar .infoNav li a{
	display:inline-block;
}

.sidebar .infoNav li a:link,
.sidebar .infoNav li a:visited{
	color:#666;
  text-decoration:none;
}
.sidebar .infoNav li a:hover,
.sidebar .infoNav li a:active{
	color:#666;
  text-decoration:underline;
}



/* ---------------------------------------------
 footer
------------------------------------------------ */

.footer{
	clear:both;
	margin:0;
	position: relative;
	margin-top: 180px;
}

.footer .pagetop{
	position:absolute;
	top: -100px;
    left: 46%;
	background:url(../images/icon_page-top.png) 0 0 no-repeat;
    color: #842b32;
    cursor: pointer;
    display: block;
    width: 229px;
    height: 136px;
	background-size: 229px;
}

.footer .pagetop p{

}

.footer .pagetop p span{
	display:block;
	font-size:88%;
	font-weight:bold;
	text-align:center;
	letter-spacing:0.05em;
	width:96px;
	margin:0 auto 0 5px;
	padding:39px 0 0;
}

.footer .footer-bg {
	background-color: #ffde00;
	z-index: -1;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
    height: 440px;
}

.footer .footer-bg::before {
	background: url(../images/bg_footer_001.png) 50% 0 repeat-x;
    content: "";
    height: 10px;
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
}

.footer a:link,
.footer a:visited{
  color:#000;
  text-decoration:none;
}
.footer a:hover,
.footer a:active{
  color:#000;
  text-decoration:underline;
}

.footer .footer-container{
	background-color: #fffae8;
	width: 1200px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 40px;
}

.footer .footer-row-01{
	padding: 35px 60px;
    border-bottom: 1px solid #e5e1d0;
}

.footer .footer-row-01 ul{
	display:flex;
	flex-wrap:wrap;
	font-size:88%;
	font-weight:bold;
	text-align:left;
	margin:0 0 0 -31px;
}

.footer .footer-row-01 ul li{
	position:relative;
	margin:9px 0 0 31px;
	padding:0 0 0 21px;
}

.footer .footer-row-01 ul li::before{
	background:#000;
	border-radius:50px;
	content:"";
	width:13px;
	height:13px;
	position:absolute;
	top:0.4em;
	left:0;
}

.footer .footer-row-01 ul li::after{
	border-top:1px solid #f5f5f5;
	border-right:1px solid #f5f5f5;
	content:"";
	width:4px;
	height:4px;
	position:absolute;
	top:0.65em;
	left:3px;
	transform:rotate(45deg);
}

.footer .footer-row-02{
	position:relative;
    padding: 60px 60px 70px;
}

.footer .footer-row-02 .inner{
	position:relative;
	width: 100%;
}

.footer .footer-row-02 address dl{
	text-align:left;
}

.footer .footer-row-02 address dl dt{
	font-size:88%;
	font-weight:bold;
	line-height:1.5;
	display: grid;
	grid-template-areas: "icon title"
	"icon sub";
	grid-template-columns: auto 1fr;
	gap: 0 10px;
}

.footer .footer-row-02 address dl dt::before{
	background: url(../images/icon_footer_001.png) 50% 0 no-repeat;
	background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	content: "";
	display: block;
    width: 16px;
	height: 18px;
    margin: 0;
	grid-area: icon;
}

.footer .footer-row-02 address dl dt span .foot-title{
	grid-area: title;
}

.footer .footer-row-02 address dl dt span .foot-sub{
	display:block;
	font-size:114%;
	margin:1px 0 0;
	grid-area: sub;
}

.footer .footer-row-02 address dl dd{
	font-size:88%;
    margin: 6px 0 0;
    line-height: 1.5;

}
/*
.copyright{
	font-size:69%;
	text-align:right;
	position:absolute;
	right:0;
	bottom:0;
}
*/

/* ---------------------------------------------
 color
------------------------------------------------ */

.color-blue{
	background:#0213fa;
}

.color-blue .content,
.color-blue .content a{
	color:#fbec02 !important;
}

.color-yellow{
	background:#fbec02;
}

.color-yellow .content,
.color-yellow .content a{
	color:#000 !important;
}

.color-black{
	background:#000;
}

.color-black .content,
.color-black .content a{
	color:#fff !important;
}


/* faq */
.color-blue .faq-list dt.faq-tab,
.color-blue .faq-list dd.faq-cont,
.color-yellow .faq-list dt.faq-tab,
.color-yellow .faq-list dd.faq-cont,
.color-black .faq-list dt.faq-tab,
.color-black .faq-list dd.faq-cont {
  background: inherit;
}
.color-blue .faq-list dt.faq-tab{
  border: 1px solid yellow;
}
.color-yellow .faq-list dt.faq-tab{
  border: 1px solid #000;
}
.color-black .faq-list dt.faq-tab{
  border: 1px solid #fff;
}

.adress-list{
        display: flex;
        justify-content: space-between;
        text-align: left;
        flex-wrap: wrap;
        box-sizing: border-box;
}
.adress-list::after{
	display: none;
}
.adress-list address{
        width: 20%;
}
.adress-list address{
	width: 23.5%;
	padding:0;
	margin-bottom: 50px;
}
.adress-list address:nth-child(4n){
			/* border-right: 1px #ffffff solid; */
}
.adress-list address:nth-child(n+5) {
	margin-bottom: 0
}
p.copyright{
	position:relative;

	/* border-left: 1px #ffffff solid;
	width: 20%; */
	font-size: 65%!important;
	font-weight: 300!important;
    margin-bottom: 0;
    text-align: center;
    padding: 30px 0;
}
.adress-list p.copyright small{
    position: absolute;
      left: 15px;
      bottom: 10px;
}
.adress-list p.foot-tel{
	margin-top: 5px!important;
}


/* ------ purpose -------------------------------- */

.contents-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	padding-bottom: 31px;
}

.contents-item {
	border-radius: 10px;
	border: 2px solid;
	background-color: #fff;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
	overflow: hidden;
}

.contents-item.contents-know {
	border-color: #338acb;
}

.contents-item.contents-use {
	border-color: #1b9368;
}

.contents-item.contents-consult {
	border-color: #f68267;
}

.contents-list .contents-item .contents-list-wrapper {
	padding: 20px 30px;
	display: flex;
	flex-direction: column;
}

.contents-list .contents-item .contents-image-title {
	margin: auto;
	width: auto;
	height: 46px;
	object-fit: contain;
	flex-shrink: 0;
}

.contents-list .contents-item .contents-image-icon {
	margin: 10px auto 0;
	width: auto;
	height: 85px;
	object-fit: contain;
	flex-shrink: 0;
}

.contents-list .contents-item .contents-text {
	margin-top: 20px;
	display: flex;
    flex-direction: column;
    gap: 8px;
	text-align: left;
}

.contents-list .contents-text-item a {
	position: relative;
	padding-left: 29px;
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
    color: #000;
}

.contents-list .contents-text-item a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);

	width: 18px;
	height: 18px;
	border-radius: 50%;
}

.contents-list .contents-text-item a::after {
	content: "";
	position: absolute;
	left: 5px;
    top: 40%;
	transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-item.contents-know .contents-text-item a::before {
	background: #69ddff;
}

.contents-item.contents-use .contents-text-item a::before {
	background: #a5dc74;
}

.contents-item.contents-consult .contents-text-item a::before {
	background: #ffab98;
}

.contents-list .contents-text-item a:hover {
	text-decoration: underline;
	color: #000;
	opacity: 1;
}

.contents-list .contents-item.contents-know .contents-text-item a:hover::before {
	background: #338acb;
}

.contents-list .contents-item.contents-use .contents-text-item a:hover::before {
	background: #2fb484;
}

.contents-list .contents-item.contents-consult .contents-text-item a:hover::before {
	background: #f68267;
}

.contents-list .contents-item .contents-link {
	width: auto;
    display: block;
    color: #000;
    text-decoration: none;
    padding: 12px 45px 12px 20px;
    text-align: right;
    font-size: 14px;
    font-weight: bold;
	position: relative;
}

.contents-list .contents-item.contents-know .contents-link {
	background-color: #69ddff;
}

.contents-list .contents-item.contents-use .contents-link {
	background-color: #a5dc74;
}

.contents-list .contents-item.contents-consult .contents-link {
	background-color: #ffab98;
}

.contents-list .contents-link::before {
	content: "";
	position: absolute;
    right: 15px;
	top: 50%;
	transform: translateY(-50%);
	background-color: #fff;
	width: 18px;
	height: 18px;
	border-radius: 50%;
}

.contents-list .contents-link::after {
	content: "";
	position: absolute;
    right: 22px;
    top: 43%;
	transform: translateY(-50%);
    width: 5px;
    height: 5px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.contents-list .contents-item.contents-know .contents-link::after {
	border-top: 2px solid #69ddff;
    border-right: 2px solid #69ddff;
}

.contents-list .contents-item.contents-use .contents-link::after {
	border-top: 2px solid #a5dc74;
    border-right: 2px solid #a5dc74;
}

.contents-list .contents-item.contents-consult .contents-link::after {
	border-top: 2px solid #ffab98;
    border-right: 2px solid #ffab98;
}
