/*
  Theme Name: テミスのテーマ
  Theme URI: http://
  Description: テミスのテーマ
  Version: 1.0.0

  The CSS, XHTML and design is released under GPL:
  http://www.opensource.org/licenses/gpl-license.php

*/

/* HTML Elements */
/* html * {
  box-sizing: border-box;
} */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,textarea,p,blockquote,th {
  margin:0;
  padding:0;
}

header,article,footer,article,aside,time,nav,figure,figcaption {
  margin:0;
  padding:0;
  display:block;
}

address,caption,cite,code,dfn,em,th,var {
  font-style:normal;
  font-weight:normal;
}

body {
  background: url(./images/bg.png) repeat-x #F9F9EF;
  font-size: 0.88em;
  color: #333333;
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  line-height: 1.2em;
}
body.active-m {
  overflow-y: hidden;
}

a:link, a:visited {
  color: #0066CC;
}

a:hover, a:active {
  color:#FF0066 !important;
  text-decoration: underline !important;
}

a:hover img {
  -moz-opacity: 0.65;
  opacity: 0.65;
  filter: alpha(opacity=65);
}
a:hover img.ro {
  -moz-opacity: 1;
  opacity: 1;
  filter: alpha(opacity=100);
}

img, a:link img, a:visited img {
  border: 0;
}

a[href $='.pdf'] {
    background:url(./images/icon_pdf.png) no-repeat;
    margin: 0 0 0 0;
    padding: 20px 0px 20px 60px;
    display:block;
    border: 3px solid #EEE;
}
a[href $='.pdf']:hover {
    border: 3px solid #CCC;
}

.wrapper {
  width: 950px;
  margin: 0 auto;
  overflow: hidden;
}

/* sp */
@media screen and (max-width: 750px) {
  body {
    font-size: 1em;
    background: none;
  }

  .wrapper {
    width: 100%;
    /* padding: 0 15px; */
    box-sizing: border-box;
  }

  a[href $='.pdf'] {
    padding: 10px 0px 10px 30px;
  }

  .wrapper img {
    width: 100%;
  }
  
}


/* globalHeader ------------------------------------- */
#header {
  margin-bottom: 15px;
}

#header .header_box {
  position: relative;
  background: url(./images/bg_header_navi.jpg) no-repeat right bottom;
  height: 120px;
}

#globalHeader h1 {
  font-size: 100%;
}
#globalHeader .description {
  position: absolute;
  left: 0;
  top: 15px;
}
#globalHeader .title {
  position: absolute;
  left: 0;
  top: 40px;
}
#globalHeader .contact {
  position: absolute;
  left: 540px;
  top: 70px;
}
#globalHeader img.contact {
  position: absolute;
  left: 450px;
  top: 60px;
}
#globalHeader .subnavi {
  position: absolute;
  left: 540px;
  top: 15px;
}
#globalHeader li {
  display: inline-block;
}
#globalHeader ul {
  list-style: none;
}
.sp_menu {
  display: none;
}
.header-nav-sp {
  position: relative;
  display: none;
  background-color: #fff;
}
.header-nav-sp .sp_header {
	position: absolute;
	right: 0;
	left: 0;
	top: -160px;
	width: 80%;
	height: 100vh;
  margin: 0 auto;
	-webkit-transform: translateY(-100%);
			-ms-transform: translateY(-100%);
		transform: translateY(-100%);
	background-color: #fff;
	-webkit-transition: ease 0.4s;
	-o-transition: ease 0.4s;
	transition: ease 0.4s;
	z-index: 1;
}
.header-nav-sp.active .sp_header {
	-webkit-transform: translateY(0);
			-ms-transform: translateY(0);
		transform: translateY(0);
	z-index: 999;
	top: 0;
}
.header-nav-sp .sp_header .sp_nav li {
  margin: 0 0 10px !important;
}
.header-nav-sp .sp_header .sp_nav li a {
  color: #000;
  font-size: 18px;
  text-decoration: none;
}

/* SP */
@media screen and (max-width: 750px) {
  #header {
    box-sizing: border-box;
  }

  #header .header_box {
    height: auto;
    background: none;
    padding: 10px;
    z-index: 9999;
  }

  #globalHeader #header {
    position: relative;
  }

  #globalHeader .description,
  #globalHeader .title,
  #globalHeader .contact,
  #globalHeader img.contact,
  #globalHeader .subnavi {
    position: static;
    margin: 10px 0;
    text-align: left;
  }

  #globalHeader .description {
    font-size: 12px;
    font-weight: 400;
  }

  #globalHeader .title a img {
    width: 190px;
  }

  #globalHeader ul {
    padding: 0;
    text-align: left;
  }

  #globalHeader li {
    display: block;
    margin: 5px 0;
  }

  .sp_menu {
		display: flex;
		z-index: 10;
    z-index: 9999;
    position: absolute;
    right: 15px;
    top: 30px;
  }
  
  .sp_menu .sp_ham {
		/* background-color: #ffffff; */
		width: 50px;
		height: 50px;
    border-radius: 4px;
  }

  .sp_menu .sp_ham span {
    width: 24px;
		height: 2px;
		background-color: #000;
		position: relative;
		-webkit-transition: ease 0.4s;
		-o-transition: ease 0.4s;
		transition: ease 0.4s;
		display: block;
		top: 17px;
		left: 50%;
    transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
  }

  .sp_menu .sp_ham span:nth-child(2) {
		margin: 5px 0;
	}

  .sp_menu .sp_ham.active span:nth-child(1) {
		top: 50%;
    transform: translateX(-50%) rotate(45deg);
	}

	.sp_menu .sp_ham.active span:nth-child(2) {
		opacity: 0;
	}

	.sp_menu .sp_ham.active span:nth-child(3) {
		top: 22%;
    transform: translateX(-50%) rotate(-45deg);
	}

  .header-nav-sp {
		display: block;
	}
  .header-nav-sp.active {
		height: 100vh;
	}
}


/* globalNavi ------------------------------------- */
#globalNavi {
  background: url(./images/bg_navi.png) no-repeat center top;
  width: 970px;
  height: 55px;
  margin: 0 auto;
  padding-top: 25px;
}
#globalNavi ul {
  margin: 0 auto;
  list-style: none;
  width: 920px;
  overflow: hidden;
}
#globalNavi li {
  float: left;
}



/* category_image ------------------------------------- */
#category_image {
  text-align: center;
  clear: both;
  margin-bottom: 40px;
}
#category_image .text {
  color: #FFF;
  font-size: 250%;
  line-height: 124px;
}


/* page_navigation ------------------------------------- */
#page_navigation {
  margin: 0 0 10px;
  overflow: hidden;
}
#container #page_navigation ul {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}
#container #page_navigation li {
  float: left;
  margin: 0;
  padding: 0;
  margin-right: 5px;
}
#post_navi_footer {
  overflow: hidden;
}
#post_navi_footer .prev {
  float: left;
}
#post_navi_footer .next {
  float: right;
}

/* pagination ------------------------------------- */
.pagination {
    text-align: center;
}
a.page-numbers,
.pagination .current {
    background: #fff;
    border: solid 1px #d7d7d7;
    padding:5px 8px;
    margin:0 2px;
    text-decoration: none;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}
.pagination .current {
    background: #723A7F;
    color: #fff;
}


/* nav-below ------------------------------------- */
#nav-below {
  overflow: hidden;
  margin: 20px 0;
}
#nav-below .nav-previous {
  float: left;
}
#nav-below .nav-next {
  float: right;
}
#nav-below .meta-nav {
  padding: 0 10px;
}



/* pagetop ------------------------------------- */
#pagetop {
  margin-top: 30px;
  text-align: right;
}



/* main ------------------------------------- */
#main {
  overflow: hidden;
  margin-top: 30px;
}



/* container ------------------------------------- */
#container {
  float: left;
  width: 685px;
}

#container .label {
  background: url(./images/bg_label_s.png) no-repeat left top;
  padding: 15px 10px 15px 35px;
  color: #FFF;
  font-size: 120%;
  font-weight: normal;
  margin-left: 0;
  margin-bottom: 20px;
}

#container h1,
#container h2,
#container h3,
#container h4,
#container h5,
#container h6 {
  font-size: 100%;
  margin-left: 5px;
  margin-bottom: 10px;
  clear: both;
}
#container h2 {
  font-size: 150%;
  line-height: 120%;
  font-weight: normal;
  margin-left: 0;
  margin-bottom: 40px;
}
#container h3 {
  background: url(./images/bg_label.png) no-repeat left top;
  padding: 15px 10px 15px 35px;
  color: #FFF;
  font-size: 120%;
  font-weight: normal;
  margin-left: 0;
  margin-bottom: 20px;
}
#container h3.short {
  background: url(./images/bg_label_s.png) no-repeat left top;
}
#container h3.white {
  background: url(./images/bg_label2.png) no-repeat left top;
  padding: 0;
  color: #333;
  font-weight: bold;
}
#container h3.white span {
  padding: 15px 10px 15px 45px;
  display: inline-block;
}
#container h3.white span.icon1 {
  background: url(./images/bg_label_icon_01.png) no-repeat left top;
}
#container h3.white span.icon2 {
  background: url(./images/bg_label_icon_02.png) no-repeat left top;
}
#container h3.white span.icon3 {
  background: url(./images/bg_label_icon_03.png) no-repeat left top;
}
#container h3.white span.icon4 {
  background: url(./images/bg_label_icon_04.png) no-repeat left top;
}
#container h3.white span.icon5 {
  background: url(./images/bg_label_icon_05.png) no-repeat left top;
}
#container h3.white span.icon6 {
  background: url(./images/bg_label_icon_06.png) no-repeat left top;
}
#container h3.white span.icon7 {
  background: url(./images/bg_label_icon_07.png) no-repeat left top;
}
#container h3.white span.icon8 {
  background: url(./images/bg_label_icon_08.png) no-repeat left top;
}
#container h3.white span.icon9 {
  background: url(./images/bg_label_icon_09.png) no-repeat left top;
}
#container h4 {
  /*border-bottom: 2px solid #D54B48;*/
  border-bottom: 2px solid #D7D7D7;
  padding: 8px 0 5px;
  font-size: 120%;
  font-weight: normal;
  margin-left: 0;
  margin-bottom: 20px;
}

#container p {
  margin: 10px 0 20px;
  padding: 0;
  line-height: 1.5em;
}
#container header h1{
  margin-left: 0;
}

#container ul,
#container ol {
  margin: 10px;
  padding: 10px;
}

#container_bottom {
  text-align: center;
  margin-bottom: 25px;
}


#container .check_icon {
  margin: 0 0 20px;
  padding: 0;
}
#container .check_icon li {
  list-style: none;
  background: url(./images/icon_check.png) no-repeat 0px 0px;
  margin: 0 0px 10px;
  padding: 6px 3px 5px 35px;
  font-size: 110%;
  font-weight: bold;
}

#container .image_list {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
}
#container .image_list li {
  margin: 0;
  padding: 0;
}

#container h4.question_icon {
  background: url(./images/icon_question.png) no-repeat left top;
  padding-left: 48px;
  clear: none;
}

@media screen and (max-width: 750px) {
  #container {
    float: none;
    width: 500px;
    margin: 0 auto;
  }
  
  #container h3 {
    background-size: cover;
  }
}

@media screen and (max-width: 480px) {
  #container {
    float: none;
    width: 95%;
    margin: 0 auto;
  }
}


/* page layout ------------------------------------- */
#support_box_01 {
  background: url(./images/img_support_02.jpg) no-repeat left bottom;
  height: 150px;
  margin-bottom: 30px;
  padding: 80px 20px 0 50px;
  font-size: 140%;
  font-weight: bold;
  color: #78398A;
}
#support_box_01 p {
  line-height: 160% !important;
}
#support_box_02 {
  background: url(./images/img_support_04.png) no-repeat left bottom #FFF;
  margin-bottom: 30px;
  padding-bottom: 15px;
}
#support_box_02 .title img {
  vertical-align: bottom;
}
#support_box_02 .body {
  padding: 20px 20px 5px;
  border-left: 5px solid #78398A;
  border-right: 5px solid #78398A;
}

#price_box_01 {
}
#price_box_01 p {
  margin: 0 !important;
}
#price_box_01 ul {
  overflow: hidden;
  margin: 0 !important;
}
#price_box_01 li {
  margin: 5px;
  float: left;
  width: 300px;
}

#system_box_01 p {
  margin: 0 !important;
}
#system_box_01 ul {
  overflow: hidden;
  list-style: none;
  margin: 0 !important;
}
#system_box_01 li {
  margin: 5px;
  float: left;
  width: 280px;
}
#system_box_01 li.center {
  border-left: 1px dashed #CCC;
  border-right: 1px dashed #CCC;
}

.box1 {
  border: 2px solid #FFF;
  background-color: #ECEBD7;
  padding: 20px 40px;
  margin-bottom: 30px;
}
.box2 {
  background-color: #FFF;
  padding: 10px 15px;
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  #support_box_01 {
    background: none;
    height: auto;
    /* font-size: 140%; */
  }
}





/* sidebar ------------------------------------- */
#sidebar {
  float: right;
  width: 225px;
}

.sidebox {
  border: 1px solid #BBBBBB;
  padding: 10px;
  margin-bottom: 30px;
}

#archive_sideframe {
  padding-bottom: 25px;
}

#archive_sideframe h2 {
  margin: 25px 0 10px 5px;
  font-size: 110%;
}

#text_sideframe {
  background: url(./images/bg_sidebox_01.jpg);
  width: 185px;
  height: 240px;
  overflow: hidden;
  margin-bottom: 20px;
  padding: 20px;
}

#text_sideframe_blog  {
  margin-bottom: 20px;
}

#text_sideframe p {
  margin: 5px 0;
  font-size: 85%;
}


#information_sideframe {
  background-color: #FFF;
  border: 7px solid #E6E6E6;
  margin-bottom: 10px;
  text-align: center;
}
#information_sideframe p {
}
#information_sideframe .title {
  font-size: 110%;
  margin: 10px 0 5px;
}
#information_sideframe address {
  font-size: 80%;
  margin-bottom: 5px;
}

#archive_sideframe {
  background-color: #FFF;
  border: 7px solid #E6E6E6;
  margin-bottom: 10px;
}




#access table.table_style,
#contact table.table_style {
  margin-left: 20px;
}
#access table.table_style th,
#contact table.table_style th {
  border-right: 1px solid #999999;
}
#access table.table_style td,
#contact table.table_style td {
  padding: 3px 3px 3px 10px;
}
#contact input.textbox,
#contact textarea.textbox {
  border: 1px solid #CCCCCC;
  padding: 3px 5px;
  margin: 5px 3px;
}
#contact input.button {
	display: block;
  padding: 10px 50px;
  margin: 5px auto;
}
#contact form span {
  color: #FF0000;
}

@media screen and (max-width: 750px) {
  #sidebar {
    float: none;
    width: 300px;
    margin: 0 auto;
  }
  #text_sideframe {
    margin: 0 auto 20px;
  }
}



/* footer ------------------------------------- */
#globalFooter {
  background: url(./images/bg_footer.png) repeat-x center top #999999;
  overflow: hidden;
}

#footer {
  overflow: hidden;
}

#footer_navi {
  text-align: center;
  margin-top: 25px;
  font-size: 90%;
}
#footer_navi ul {
  list-style: none;
  overflow: hidden;
  padding-bottom: 20px;
  margin-bottom: 30px;
}
#footer_navi li {
  background: url(./images/icon_footer_navi.png) no-repeat 0 3px;
  float: left;
  margin-right: 20px;
  padding-left: 15px;
  font-size: 90%;
}
#footer_navi li a {
  color: #FFFFFF;
  text-decoration: none;
}
#footer_navi li a:hover {
  color: #FF0066;
  text-decoration: underline;
}


#footer_info {
  color: #FFF;
  margin-bottom: 30px;
}
#footer_info ul {
  overflow: hidden;
  list-style: none;
}
#footer_info li {
  float: left;
  margin-right: 20px;
}
#footer_info img {
  vertical-align: middle;
}
#footer_info li.title {
  margin-top: 30px;
  font-size: 130%;
}
#footer_info li.tel {
  margin-top: 10px;
  line-height: 180%;
}
#footer_info li.mail {
  margin-top: 10px;
}

#footer_copyright {
  color: #F8F8ED;
  line-height: 40px;
  font-size: 90%;
}

@media screen and (max-width: 750px) {
  .pagetop {
    width: auto !important;
  }
  #footer_info li {
    float: none;
  }
  #footer_info li.logo {
    width: 70px;
    margin: 0 auto;
  }
  #footer_info li.title {
    margin: 30px auto 0;
    font-size: 130%;
    text-align: center;
  }
  #footer_info li.tel {
    width: 300px;
    margin: 20px auto 0;
  }
  #footer_info li.mail {
    width: 150px;
    margin: 10px auto 0;
  }
  #footer_copyright p {
    text-align: center;
  }
}


/* class ------------------------------------- */
a.list_icon {
  list-style: none;
  background: url(./images/list_icon.png) no-repeat 3px 5px;
  margin: 0 5px 10px;
  padding: 0px 3px 3px 25px;
}
.list_icon li {
  list-style: none;
  background: url(./images/list_icon.png) no-repeat 3px 3px;
  margin: 0 5px 10px;
  padding: 0px 3px 3px 25px;
}
.list_border li {
  border-bottom: 1px dotted #666;
}

.image_left {
	margin: 0 20px 20px 0;
	float: left;
}

.image_center {
	margin: 0 auto 20px auto;
}

.image_right {
	margin: 0 0 20px 20px;
	float: right;
}

.left_box {
  float: left;
}
.right_box {
  float: right;
}

.text_center {
  text-align: center;
}
.text_right {
  text-align: right;
}

.font_large {
  font-size: 130%;
  line-height: 150%;
}

.clear {
  clear: both;
}

.hidden {
  display: none;
}

table {
  background-color: #FFF;
  border: 1px solid #000;
  border-collapse: collapse;
  margin-bottom: 30px;
  width: 100%
}
table th {
  background-color: #C6C5B3;
  color: #FFF;
  padding: 3px;
  height: 50px;
  border: 1px solid #000;
  vertical-align: middle;
  text-align: center;
  font-weight: bold;
}
table td {
  margin: 0;
  padding: 10px 20px;
  height: 50px;
  vertical-align: middle;
  line-height: 150%;
  border: 1px solid #000;
}
table td.bgc {
  background-color: #F4F3DE;
}

table.table_noborder {
  border: none;
  margin: 5px 0;
}
table.table_noborder td {
  padding: 3px;
}
table.table_dotborder {
  border: none;
  margin: 5px 0;
}
table.table_dotborder th {
  padding: 3px;
  border-bottom: 1px dotted #CCCCCC;
  vertical-align: top;
  text-align: left;
  line-height: 30px;
}
table.table_dotborder td {
  padding: 3px;
  border-bottom: 1px dotted #CCCCCC;
  vertical-align: top;
  line-height: 30px;
}

ul.list_arranges_one_row {
  overflow: hidden;
  list-style: none;
}
ul.list_arranges_one_row li {
  float: left;
}
dl.list_arranges_one_row {
  overflow: hidden;
  list-style: none;
}
dl.list_arranges_one_row dt {
  float: left;
  clear: both;
}
dl.list_arranges_one_row dd {
  float: left;
}

input.button {
  padding: 10px 30px;
}


/* contents style ------------------------------------- */
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.625em;
}
.alignright {
	display: inline;
	float: right;
	margin-left: 1.625em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.category-entry-body {
  border-bottom: 1px dashed #999999;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.entry-body {
  margin-bottom: 20px;
  clear: both;
}


/* 202406 add contactform7 ------------------------------------- */
.wpcf7-submit {
  width: 300px;
  padding: 10px 0;
  background: #733c80;
  color: #fff;
  border: none;
  margin: 0 auto;
  display: block;
}

/* sp pc ------------------------------------- */
.sp {
  display: none;
}
.pc {
  display: block;
}
@media screen and (max-width: 750px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}

/* 202407 add top ------------------------------------- */
#visual_image .sp_topimg {
  width: 100%;
}

@media screen and (max-width: 750px) {
  #visual_image .sp_topimg {
    width: 480px;
    margin: 0 auto;
  }

  .btn_voice {
    position: static !important;
    width: 300px !important;
    display: block;
    margin: 0 auto;
  }
}

@media screen and (max-width: 480px) {
  #visual_image .sp_topimg {
    width: 100%;
  }
}