@charset "utf-8";
body {
	font-family: "Noto Sans JP", Meiryo, sans-serif; 
	color: #404040;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd,
fieldset, form, label, legend{
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}


blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
  
/* remember to define focus styles! */
:focus {
    outline: 0;
}
  
/* remember to highlight inserts somehow! */
ins {
    text-decoration: none;
}
del {
    text-decoration: line-through;
}
  
/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

a { 
	text-decoration: none;
/* color: #0066cc; */
	color: #1a0dab;
	font-weight: 600; 
}

p {
	margin-bottom: 0.5em;
}

a:hover { 
	text-decoration: underline;
/*	color: #1111cc;	 */
}

a:visited { 
	color: #660099;	
}

/*
a.btn {
    padding: 4px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
	border: 1px solid #444;
	color: #000;
}

a.btn.btn-danger {
    color: #fff;
	background:linear-gradient(to bottom, #ee5555, #cc3333);
	border: 1px solid #a22;
}

a.btn.btn-success {
    color: #fff;
	background:linear-gradient(to bottom, #33cc33, #11aa11);
	border: 1px solid #1a1;
}

a.btn.btn-primary {
    color: #fff;
	background:linear-gradient(to bottom, #3333cc, #1111aa);
	border: 1px solid #11a;
}

a.btn.btn-warning {
    color: #fff;
	background:linear-gradient(to bottom, #ffa500, #ff8c00);
	border: 1px solid #840;
}

a.btn.btn-info {
    color: #fff;
	background:linear-gradient(to bottom, #00bfff, #00bfff);
	border: 1px solid #0cf;
}

a.btn.btn-secondary {
    color: #fff;
	background:linear-gradient(to bottom, #888888, #aaaaaa);
	border: 1px solid #666;
}
*/

@media screen and (max-width: 519px) { /* 画面が小さい */
	body{
		min-width: 360px;
		margin: 0;
		padding: 0;
/*		background-color: yellow;*/
		font-size: 14px;
	}
	header {
		font-size: medium;
	}
	/*全体の幅*/
	#wrapper {
		width: 100%;
		margin: 0 auto;
		margin-top: 120px;
	}
	#mjvideo
	{
		width: 100%;
		margin: 0 auto;
	}
	#header .contents{
		width: 360px;
	}
	.dropmenu{
		display:none;
	}
	h1{
		margin-top: 1em;
		font-size: x-large;
		color: #555;
		font-weight: 1000;
		border-bottom: 1px solid #440066;
	}
	
	h2{
		margin-top: 1em;
		font-size: large;
		color: #555;
		font-weight: 1000;
		border-bottom: 1px solid #440066;
	}
	
	h3 {
		margin-top: 1em;
		font-size: large;
		color: #555;
		font-weight: 1000;
	}
	/*ヘッダー幅*/
	#header{
		width: 100%;
		height: 70px;
		margin: auto;
		margin-bottom:0;
		top:0;
		background-color: #ffffff;
		position:fixed; 
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
		z-index: 9990;
	}
	
	#header .contents{
/*		border: solid 1px white; */
	}
	#header .catchcopy{
		font-size: x-small;
	}
	#admin_panel {
	    display:none;
	}
}
@media screen and (min-width: 520px) and (max-width: 959px) { /* 画面が中くらい */
	body{
		min-width: 360px;
		margin: 0;
		padding: 0;
/*		background-color: red;*/
		font-size: 16px;
	}
	header {
		font-size: medium;
	}
	/*全体の幅*/
	#wrapper {
		width: 100%;
		margin: 0 auto;
		margin-top: 90px;
	}
	#mjvideo
	{
		width: 100%;
		margin: 0 auto;
	}
	#header .contents{
		width: 520px;
	}
	/*全体の幅おわり*/
	h1{
		margin-top: 1em;
		margin-bottom: 0.5em;
		font-size: xxx-large;
		color: #555;
		font-weight: 1000;
		border-bottom: 1px solid #440066;
	}
	
	h2 {
		margin-top: 1em;
		margin-bottom: 0.5em;
		font-size: xx-large;
		color: #555;
		font-weight: 1000;
		border-bottom: 1px solid #440066;
	}
	
	h3 {
		margin-top: 1em;
		font-size: x-large;
		color: #555;
		font-weight: 1000;
	}
	/*ヘッダー幅*/
	#header{
		width: 100%;
		height: 70px;
		margin: auto;
		margin-bottom:0;
		top:0;
		background-color: #ffffff;
		position:fixed; 
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
		z-index: 9990;
	}
	#header .contents{
		margin: auto;
/*		border: solid 1px white; */
	}
	#header .catchcopy{
		font-size: x-small;
	}
	#admin_panel {
	    display:none;
	}
	.dropmenu {
		display: none;
		border: 1px solid black;
		top: 60px;
		flex-direction: column;
		color: #efefef;
		background-color: rgba(255,255,255,192);
		transition: .3s;
	}
}

@media screen and (min-width: 960px) { /* 画面が大きい */
	header {
		font-size: xx-large;
		background-color: #ccc;
	}
	/*全体の幅*/
	#wrapper {
		width: 960px;
		margin: 0 auto;
/*	border: solid 1px black; */
		margin-top: 145px; 
		font-size: 18px;
	}
	#mjvideo
	{
		width: 100%;
		margin: 0 auto;
	}
	#header .contents{
		width: 1300px;
	}
	h1 {
		margin-top: 0.5em;
		margin-bottom: 0.5em;
		font-size: xxx-large;
		color: #555;
		font-weight: 1000;
		border-bottom: 1px solid #440066;
	}
	
	h2 {
		margin-top: 1em;
		margin-bottom: 0.5em;
		font-size: xx-large;
		color: #555;
		font-weight: 1000;
		border-bottom: 1px solid #440066;
	}
	
	h3 {
		margin-top: 1em;
		font-size: x-large;
		color: #555;
		font-weight: 1000;
	}
	/*ヘッダー幅*/
	#header{
		width: 100%;
/*		height: 115px; */
		margin: 0 auto;
		margin-bottom:0;
		top:0;
		background-color: #ffffff;
		position:fixed; 
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
		z-index: 9990;
	}
	
	#header .contents{
		margin: 0 auto;
/*		border: solid 1px white; */
	}
	#header .catchcopy{
		font-size: x-small;
	}
	#admin_panel {
	    display:inline-block;
	}
	/*グローバルナビ*/
	.dropmenu{
	*zoom: 1;
	  list-style-type: none;
	  margin: 5px auto 8px; 
	  padding: 0;
	  font-weight: 700;
	}
	.dropmenu:before, .dropmenu:after{
		content: "";
		display: table;
	}
	.dropmenu:after{
		clear: both;
	}
	.dropmenu li{
	position: relative;
	width: 180px;
	float: left;
	margin: 0;
	padding: 0;
	text-align: center;
	}
	
	.dropmenu li a{
	display: block;
		margin: 0;
		padding: 15px 0 11px;
		background: #ffffff;
	/* font-size: 14px; */
		line-height: 1;
		text-decoration: none;
		border-right: 2px solid;
		border-color: #eeeeee;
		color: #606060;
	}
	
	.dropmenu li ul{
	list-style: none;
	position: absolute;
	z-index: 9999;
	top: 100%;
	left: 0;
	margin: 0;
	padding: 0;
	  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
	}
	
	.dropmenu li ul li{
	width: 100%;
	}
	
	.dropmenu li ul li a {
	/* ドロップした子メニュー */
		padding: 10px 10px;
		border-top: 1px solid #c0c0c0;
		background: #f8f8f8;
		text-align: left;
		/* font-size: smaller; */
		line-height: 1.5em;
		letter-spacing: 0.02em;	
		width:300px;
		color: black;
		font-weight:400;
	}
	
	.dropmenu li:hover > a{
	/* ドロップしたときの親の背景 */
		background: #f8f0ff;
		color: #000000;
	}
	
	.dropmenu li a:hover{ 
	/* ドロップした子メニューにカーソル当てているとき */
		background: #f8f0ff;
		color: #000000;
	}
	
	#normal li ul{
	display: none;
	}
	#normal li:hover ul{
	display: block;
	}
	/*グローバルナビおわり*/
}

h4::before {
	color: purple;
	content:"● ";
}

h4 {
	margin-top:1em;
	padding-bottom:0.5em;
}

/*トグルボタンのスタイルを指定*/

.question
{
	display: inline;
}

.question:before
{
	font-family: Helvetica;
	font-size: xxx-large;
	color: #ee8888;
	content: "Q";
	margin-right:0.5em;
	font-weight:700;
}

.answer:before
{
	font-family: Helvetica;
	font-size: xxx-large;
	color: #008800;
	content: "A";
	margin-right:0.5em;
	display: inline;
	font-weight:700;
}

img {
	max-width:100%;
}

.sample-box {
    position: relative;
}

.good {
    width: 250px;
    height: 50px;
    color: #ffffff;
    border: 1px solid white;
    background-color: rgba(39,121,199,0.5);/*#2779bd;*/
    align-items: center;
    font-size: 1.5rem;
    border-radius:30px;
    cursor: pointer;
    position: absolute;
    display: flex;
    justify-content: center;
    top: 80%;
    left: 40%;
}

.good:hover{
    background-color: #4799dd;
}

.good a{
    color: #ffffff;
}

.good a:hover{
    text-decoration: none;
}

.search_container{
  box-sizing: border-box;
  position: relative;
  display: inline;
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  height: 2.3em;
  width: 260px;
  overflow: hidden;
  border: 1px solid #888;
}

.search_container input[type="text"]{
  border: none;
  height: 2.0em;
}
.search_container input[type="text"]:focus {
  outline: 0;
}
.search_container input[type="submit"]{
  cursor: pointer;
  font-family: FontAwesome;
  font-size: 1.3em;
  border: none;
  background: none;
  color: #3879D9;
  position: absolute;
  width: 2.5em;
  height: 2.5em;
  right: 0;
  top: -10px;
  outline : none;
}


/*ホームページロゴ*/
#logo{
	float: left;
}

#logo img{
	width: 48px;
	margin-right: 5px;
}

img.logo{
	width: 48px;
	margin-right: 5px;
}
/*ホームページロゴおわり*/

#message {
	background-color: #ffffee;
	border: 1px solid #555;
}

/*カートボタン*/

#cart-btn{
	position:relative;
	bottom: 10px;
}

#cart-btn a:hover{
	opacity: 0.7;
	background-color: #fff;
}
/*カートボタンおわり*/


/*パンくずリスト*/
.breadcrumb {
  padding-left:0;
  margin-left:0;
  font-size: 13px;
  margin-bottom: 5px;	
}

.breadcrumb li{
  display:inline;
}

.breadcrumb li:after{/* >を表示*/
  content: '>';
  padding: 0 3px;
}

.breadcrumb li:last-child:after{
  content: '';
}

.breadcrumb li a {
    text-decoration: none;
    font-weight: normal;
}
/*パンくずリストおわり*/


/*サイドナビゲーション*/


form.search {
}

/* --- テキストボックス --- */
form.search input.textbox {
	border-radius: 20px;
	height:30px;
	margin:0;
	padding: 0;
	padding-left:2em;
}

/* --- ボタン --- */
form.search input.btn {
	padding: 0;
	margin:0;
	margin-top:-5px;
	width: 26px;
	height: 26px;
}

/********************************************************************
    トップページ
 ********************************************************************/
#admin_panel {
	vertical-align:top;
}

#admin_panel .btn_primary {
	padding: 1px;
	font-size:small;
	background-color: #44f;
	color:white;
    border-radius: 4px;        /* CSS3草案 */  
    -webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 4px;   /* Firefox用 */ 
}
#admin_panel .btn_warning {
	padding: 1px;
	font-size:small;
	background-color: #c44;
	color:white;
    border-radius: 4px;        /* CSS3草案 */  
    -webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 4px;   /* Firefox用 */ 
}
#admin_panel .btn_success {
	padding: 1px;
	font-size:small;
	background-color: #080;
	color:white;
    border-radius: 4px;        /* CSS3草案 */  
    -webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 4px;   /* Firefox用 */ 
}


/********************************************************************

 ********************************************************************/

a[name] { 
	text-decoration: none;
	color: black;
}

.side-categoly{
	border-top: 2px solid;
	border-color: #c0c0c0;
	height: 60px;
}

.c-txt{
	height: 60px;
	vertical-align: 20px;
	margin-left: 10px;
	margin-top: 10px;
}

.side-navi{
	margin: 2em 0;
    padding: 0;
    max-width: 400px;/*最大幅*/
}
/*ラベル*/
.side_navi label {
    display: block;
    margin: 1.5px 0;
    cursor :pointer;
    transition: all 0.5s;
	letter-spacing: 0.05em
}

/*ラベルホバー時*/
.side_navi label:hover {
    color :#31438b;
}

/*チェックは隠す*/
.side_navi input {
    display: none;
}

/*中身を非表示にしておく*/
.side_navi .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.cssacc:checked + .accshow {
    height: auto;
    opacity: 1;
}

.side-list{
	list-style: none;
	border-bottom: 1px dashed;
	padding-bottom: 8px;
	padding-top: 8px;
	font-size: 14px;
}

.side-navi-2{
list-style: none;	
margin-bottom: 3px;	
}

.side-navi-2:hover{
opacity:0.7;	
}
/*サイドナビゲーションおわり*/

/*サイドナビとメインコンテンツ指示*/
#main-contents{
/*	margin-top: 20px; */
	display: table;
	font-size: 1.1em;
	font-weight: 400;
}
/*サイドナビとメインコンテンツ指示おわり*/

/*フッター*/
#footer{
	clear: both;
	width:100%;
	padding-top: 50px;
	padding-bottom: 10px;
	font-size: 12px;
        text-align: center;
	background-color: #440066;
	line-height: 2em;
	margin-top: 30px;
}

#footer a{
	color: #fff;
}

#footer a:hover{
	color: #fff;
	text-decoration: underline
}

.copyright{
	margin-top:30px;
	color: #fff;
	font-weight: lighter;
	font-size: 11px;
}
/*フッターおわり*/


.src {
	background-color:#eee;
	color:black;
	font-size:normal;
	font-family: Consolas, Menlo, 'Liberation Mono', Courier, monospace;
	border:2px solid #ccc;
	padding:4px;
	padding-top:16px;
	padding-bottom:16px;
	margin-top:8px;
	margin-bottom:8px;
	margin-left:16px;
	margin-right:16px;
    border-radius: 10px;        /* CSS3草案 */  
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 10px;   /* Firefox用 */
}

.mywell {
	margin-top:16px;
	margin-bottom:16px;
	padding:5px;
	color:#balck;
	border:solid 1px;
	border-radius:5px;
	background-image: linear-gradient(0deg, #ffeeff, #ffeeff);
}

.search_result {
	margin-top:8px;
	margin-bottom:24px;
	padding:4px;
	color:black;
	width:640px;
	word-wrap:break-word;
}

.search_highlight {
	font-weight:bold;
}

.search_title {
	font-size:large;
	font-weight:500;
	color:#1a0dab;
}

.search_url {
	font-size:small;
	color:green;
}

.search_date {
	font-size:xx-small;
	color:gray;
}

.search_text {
	font-size:small;
}

.pager {
  padding-left: 0;
  margin: 20px 0;
  text-align: center;
  list-style: none;
}

.pager:before,
.pager:after {
  display: table;
  content: " ";
}

.pager:after {
  clear: both;
}

.pager:before,
.pager:after {
  display: table;
  content: " ";
}

.pager:after {
  clear: both;
}

.pager li {
  display: inline;
}

.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 15px;
}

.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}

.pager .next > a,
.pager .next > span {
  float: right;
}

.pager .previous > a,
.pager .previous > span {
  float: left;
}

.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #999999;
  cursor: not-allowed;
  background-color: #ffffff;
}

blockquote{
    position:relative;
    border:1px solid #8BC0B8;
    border-radius:10px;
    padding:20px;
}
blockquote:before{
    position:absolute;
    font-family:'FontAwesome';
    content:'\f10d';
    font-size: 20px;
    color:#8BC0B8;
    top:10px;
    left:10px;
}
blockquote:after{
    position:absolute;
    font-family:'FontAwesome';
    content:'\f10e';
    font-size: 20px;
    color:#8BC0B8;
    right:10px;
    bottom:10px;
}
blockquote cite {
    display: block;
    font-size: 0.8rem;
    text-align: right;
    color: #D4DED7;
    padding-right:20px;
}

/*問い合わせフォーム*/


/*問い合わせフォームおわり*/


/* Q&A */
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	font-family: 'FontAwesome', sans-serif;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa dt,.cp_qa dd {
	position: relative;
	padding: 0.5em;
	box-shadow: 0px 1px 1px rgba(0,0,0,0.2);
	border-radius: 0.3em;
}
.cp_qa dt {
	margin: 0 3em 1em 3em;
	background: #ffe0b2;
}
.cp_qa dd {
	margin: 0 3em 3em 3em;
	background: #b2ebf2;
}
/* 吹き出し▶︎ */
.cp_qa dt::before,.cp_qa dd::before{
	position: absolute;
	z-index: 99;
	top: 0.5em;
	display: inline-block;
	width: 0;
	height: 0;
	content: '';
	border-style: solid;
}
/* 質問吹き出し▶︎ */
.cp_qa dt::before {
	left: -0.5em;
	border-width: 5px 8.7px 5px 0;
	border-color: transparent #ffe0b2 transparent transparent;
}
/* 答え吹き出し▶︎ */
.cp_qa dd::before {
	right: -0.5em;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #b2ebf2;
}
/* ?!アイコン */
.cp_qa dt::after,.cp_qa dd::after {
	font-size: 1.2em;
	position: absolute;
	top: 0;
	color: #ffffff;
	border-radius: 50%;
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	line-height: 1.2em;
}
/* ?アイコン */
.cp_qa dt::after {
	left: -2.5em;
	margin: 0 0.5em 0 0;
	padding: 0.2em 0.4em;
	content: '\f128';
	background: #f57c00;
}
/* !アイコン */
.cp_qa dd::after {
	right: -2.5em;
	margin: 0 0 0 0.5em;
	padding: 0.2em 0.55em;
	content: '\f12a';
	background: #0097a7;
}

/* *************************************************************************************
  ここから追加2025年5月
 ************************************************************************************* */

/* 画像を右に回り込ませる */
.float-right {
  float: right;
  margin: 0 15px 15px 0;
}

.shadow {
	box-shadow: 0px 0px 10px 5px #ccc;
}
