﻿@charset "UTF-8";
/* html5doctor.com Reset Stylesheet v1.6.1 +α */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}
ol, ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
mark {
	background-color:#ff9;
	color:#000; 
	font-style:italic;
	font-weight:bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
hr {
	display:block;
	height:1px;
	border:0;   
	border-top:1px solid #ccc;
	margin:1em 0;
	padding:0;
}
input, select {
	vertical-align:middle;
}
img {
	vertical-align: top;
	font-size:0;
	line-height: 0;
	border:none;
}
*, *:before, *:after {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
html {
	overflow-y:scroll;
	overflow-x:hidden;
	overflow:-moz-scrollbars-vertical;
	/*scroll-behavior:smooth;*/
}
body {
	font-family:"メイリオ", "Hiragino Kaku Gothic Pro", sans-serif;
}
/* Reset+α END */

/* ◎[Header] */
header .wrap {
	margin-bottom:5px;
	border-bottom:solid 1px rgb(107,142,35,0.1);
}
/* [Header-logo] */
.header-logo {
	padding:10px;
}
.header-logo img {
	margin-top:3px;
	margin-right:5px;
	max-height:35px;
}
.header-logo .h-logo {
	float:left;
}
.header-logo .h-company {
	white-space:nowrap;
}
.header-logo a {
	text-decoration:none;
	color:darkolivegreen;
}
.header-logo .h-company p {
	padding:2px 0;
	font-size:14px;
}
.header-logo h1 {
	font-size:24px;
}
.header-logo:hover {
	text-shadow:1px 1px 20px #ff0,-1px -1px 20px #ff0;
	opacity:0.7;
}
/* [header-menu] */
.header-menu ul {
	margin:0;
	padding:0;
	list-style:none;
}
.header-menu p{
	display:block;
	padding:10px;
	height:2rem;
	color:green;
	font-size:12px;
}
.header-menu a {
	display:block;
	padding:10px;
	height:2rem;
	color:green;
	font-size:12px;
	text-decoration:none;
}
.header-menu a:hover {
	background-color:rgba(0,255,0,0.1);
}
@media (max-width:1023px) {
header .wrap-s {
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.header-button {
	margin-right:10px;
	padding:0;
	border:none;
	outline:none;
	background:none;
	opacity:0.5;
	cursor:pointer;
}
.header-button img {
	max-width:50px;
}
.header-button:hover {
	opacity:0.3;
}
.header-menu p{
	height:2rem;
	color:#fff;
	font-size:13px;
	background-color:olivedrab;
}
.header-menu a {
	padding-left:25px;
}
.header-menu {
	display:none;
}
}
@media (min-width:1024px) {
header .wrap {
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}
.header-logo img {
	max-height:40px;
}
.header-logo h1 {
	font-size:28px;
}
/* [Gnav] */
.HeadGnav {
    display:flex;
    height:2rem;
}
.HeadGnav p {
	text-align:right;
}
.HeadGnav li {
    position:relative;
}
.HeadGnav li a {
	display:block;
	width:10rem;
}
/* [GnavChild] */
.HeadGnav li li {
    height:0;
    overflow:hidden;
    transition:.5s;
}
.HeadGnav li li a {
    border-top:1px solid #eee;
	color:#fff;
	text-align:center;
}
.HeadGnav li:hover > ul > li {
    height:2rem;
    overflow:visible;
	background-color:rgba(107,142,35,0.8);
}
.header-menu p:hover {
	background-color:rgba(0,255,0,0.1);
}
.header-button {
	display:none;
}
.header-menu {
	display:block !important;
}
}

/* ◎[Footer] */
footer {
	margin-top:50px;
	background-color:olivedrab;
	color:#fff;
}
footer .wrap {
	padding:40px 20px 50px 20px;
}

/* [foot_01] */
.foot_01 {
	margin:0 0 30px 0px;
}
.foot_01 a {
	text-decoration:none;
	color:#fff;
}
.foot_01 h3 {
	margin-bottom:2px;
	font-size:20px;
}
.foot_01 h2 {
	margin-bottom:10px;
	font-size:30px;
}
.foot_01 p {
	margin-bottom:5px;
	font-size:14px;
	line-height:1.1;
}
.foot_01 a:hover {
	text-shadow:1px 1px 20px #ff0,-1px -1px 20px #ff0;
	color:green;
}

/* [foot_02] */
.foot_02 div {
	margin-bottom:20px;
}
.foot_02 h3 {
	margin-bottom:10px;
	border-bottom:solid 1px #fff;
	font-size:14px;
}
.foot_02 ul {
	list-style:none;
}
.foot_02 a {
	display:block;
	padding:5px;
	color:#fff;
	font-size:12px;
	text-decoration:none;
}
.foot_02 a:hover {
	background-color:rgba(0,0,0,0.3);
}
/* [foot_03] */
.foot_03 {
	display:flex;
	align-items:center;
	flex-direction:column;
	padding:10px 0;
	border-top:solid 1px darkolivegreen;
	font-size:12px;
	line-height:1.5em;
	color:darkolivegreen;
}
.foot_03 a {
	text-decoration:none;
	color:darkolivegreen;
}
.foot_03 a:hover {
	background-color:rgba(0,0,0,0.3);
	color:#fff;
}
@media (min-width:768px) {
footer .wrap {
	display:flex;
	flex-wrap:wrap;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}
.foot_01 {
	flex:0 0 35%;
}
.foot_02 {
	display:flex;
	flex:0 0 65%;
}
.foot_03 {
	flex:0 0 100%;
}
.foot_02 div {
	flex:1;
}
.foot_02 div:not(:first-child) {
	margin-left:25px;
}
.foot_03 {
	flex-direction:row;
	justify-content:space-between;
}
}
/* ◎[TopScrollButton] */
#top-button {
	position:fixed;
	bottom:20px;
	right:20px;
}
#top-button img {
	width:40px;
	height:40px;
}
#top-button a {
	display:block;
	background-color:rgb(85,107,47,0.5);
	border-radius:50%;
	align-items:center;
}
#top-button a:hover {
	background-color:rgb(85,107,47,1.0);
}

/* ◎[HomeTopImage] */
.top-img {
	margin-bottom:10px;
	padding:50px 20px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100vw;
	background-image:url(img/top.jpg);
	background-position:center;
	background-size:cover;
	color:#fff;
	text-align:center;
}
.top-img h1 {
	margin:10px 0;
	text-shadow:1px 1px 20px #ff0,-1px -1px 20px #ff0;
	vertical-align:middle;
	font-size:6.5vw;
}
.top-img h2 {
	font-size:5vw;
}
.top-img p {
	margin:5px 0;
	font-size:4vw;
}
.top-img img {
	width:25vw;
}
@media (min-width:768px) {
.top-img h1 {
	font-size:4vw;
}
.top-img h2 {
	font-size:3vw;
}
.top-img p {
	margin:5px 0;
	font-size:2vw;
}
}

/* ◎[HomeTopCatch] */
.catch_01 .wrap, .catch_02 .wrap, .catch_03 .wrap {
}
.catch_01 .item, .catch_02 .item, .catch_03 .item-s {
	position:relative;
	margin:1px;
	background-position:center;
	background-size:cover;
	overflow:hidden;
	text-align:center;
	box-shadow:10px 10px 10px gray;
	box-sizing:border-box;
}
.catch_03 .news {
	margin:1px;
	overflow:hidden;
	box-shadow:10px 10px 10px gray;
	text-align:left;
	box-sizing:border-box;
}
/* [catch_01] */
.catch_01 {
	margin-bottom:5px;
}
.catch_01 .item {
	border:solid 0px olivedrab;
	border-radius:30px;
	min-width:0;
}
.catch_01 .catch_01a {
	background-image:url(img/con_01a.jpg);
}
.catch_01 .catch_01b {
	background-image:url(img/con_01b.jpg);
}
/* [catch_02] */
.catch_02 {
	margin-bottom:5px;
}
.catch_02 .catch_02a {
	background-color:#89c3eb;
}
.catch_02 .catch_02b {
	background-color:#fcd575;
}
.catch_02 .catch_02c {
	background-color:#f5b1aa;
}
.catch_02 img {
	padding-bottom:15px;
}
/**/
.catch_01 .text, .catch_02 .text {
	padding:5% 0;
	width:100%;
	text-decoration:none;
}
.catch_01 .text {
	margin-top:30%;
	background-color:rgba(255,255,255,0.6);
	color:darkolivegreen;
	text-shadow:1px 1px 10px #fff,-1px -1px 10px #fff;

}
.catch_02 .text {
	color:#fff;
}
.catch_01 p, .catch_02 p, .catch_03 p {
	font-size:18px;
	line-height:1
}
.catch_01 h2, .catch_02 h2 {
	margin:5px;
	font-size:24px;
}
.catch_01 a, .catch_02 a, .catch_03 .item-s a {
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:100%;
}
.catch_01 .item:hover, .catch_02 .item:hover, .catch_03 .item-s:hover {
	opacity:0.7;
}
.catch_01 .item:hover >.text {
	color:green;
}
@media (min-width:768px) {
.catch_01 .wrap, .catch_02 .wrap, .catch_03 .wrap {
	display:flex;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}
.catch_01 .item, .catch_02 .item, .catch_03 .item {
	flex:1 1 0;
}
}
/* [catch_03] */
/* [TOP-NEWS] */
.catch_03 .wrap-s {
	display:flex;
	flex-direction:column;
}
.catch_03 .news {
	padding:10px;
	border-radius:10px;
	background-color:#fff;
}
.catch_03 ul {
	max-height:270px;
	overflow:auto;
}
.catch_03 .news li {
	padding:5px;
	border-bottom:dotted 2px #ddd;
	line-height:1.3em;
	font-size:14px;
	color:gray;
}
.catch_03 .news li a {
	font-weight:bold;
	color:darkorange;
}
.catch_03 .news li:hover {
	background-color:#eee;
}
.catch_03 .news time {
	padding-right:20px;
	font-size:14px;
}
.catch_03 .news h2 {
	margin-bottom:10px;
	padding-left:5px;
	border:solid 3px darkorange;
	border-right:none;
	border-radius:30px 0 0 30px;
	background-color:darkorange;
	line-height:1.5;
	font-size:18px;
	color:#fff;
}
.catch_03 .wrap-s .item-s {
	margin:5px 2px 5px 15px;
	padding:5px;
	border:solid 5px #1877f2;
	border-right:none;
	border-radius:50px 0 0 50px;
	background-color:rgb(255,140,0,0.7);
	background-color:#1877f2;
	line-height:1.5;
	text-align:left;
	font-size:22px;
	color:#fff;
}
.catch_03 .wrap-s .catch_03b {
	border:solid 5px olivedrab;
	background-color:olivedrab;
}
.catch_03 .news ul a {
	text-decoration:none;
}
.catch_03 .news ul a li:hover {
	font-weight:bold;
	color:blue;
}
@media (min-width:768px) {
.catch_03 .news {
	flex:1 1 70%;
}
.catch_03 .wrap-s {
	flex:1 1 30%;
}
}
/* [Contents] */
/* [ContentsMenu] */
.contents {
}
.contents .item {
	margin:1px;
}
.con-menu {
/*	border:solid 0px olive;
	border-radius:10px;
    overflow:hidden;*/
}
.con-menu h3 img {
	margin-right:5px;
	width:24px;
	background-color:olivedrab;
	border-radius:50%;
	vertical-align:middle;
}
.con-menu h3 {
	padding:5px;
	font-size:16px;
	color:olivedrab;
}
.con-menu ul li img {
	margin:0 3px;
	width:18px;
	vertical-align:middle;
}
.con-menu ul li {
	border-bottom:solid 1px #eee;
	line-height:1.2;
	font-size:14px;
}
.con-menu ul li a {
	display:block;
	padding:7px 10px;
	text-decoration:none;
	color:gray;
}
.con-menu ul li:hover {
	background-color:#eee;
}
/* [Contents] */
/* [ConImage] */
.con-img {
	margin-bottom:10px;
	padding:50px 20px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100vw;
	background-image:url(img/slide-f01.jpg);
	background-position:center;
	background-size:cover;
	color:#fff;
	text-align:center;
}
.con-img h1 {
	margin:10px 0;
	text-shadow:1px 1px 20px #ff0,-1px -1px 20px #ff0;
	font-size:6.5vw;
}
.con-img h2 {
	font-size:5vw;
}
.con-img p {
	margin:5px 0;
	font-size:4vw;
}
.con-img img {
	width:25vw;
}
.img-swyk {
	background-image:url(img/slide-f10.jpg);
}
.img-takumi {
	background-image:url(img/slide-f02.jpg);
}
.img-dna {
	background-image:url(img/slide-f09.jpg);
}
.img-info {
	background-image:url(img/slide-f03.jpg);
}
.img-pp {
	background-image:url(img/slide-f07.jpg);
}
.img-sitemap {
	background-image:url(img/slide-f08.jpg);
}
@media (min-width:768px) {
.con-img h1 {
	font-size:4vw;
}
.con-img h2 {
	font-size:3vw;
}
.con-img p {
	margin:5px 0;
	font-size:2vw;
}
}
.takumi-img {
	margin:5px 0;
	width:100%;
	height:400px;
	background-image:url(img/takumi-img.jpg);
	background-position:center;
	background-size:cover;
}
/* [Con] */
.contents {
	width:100%;
}
.contents .con {
	padding:10px;
/*	border:solid 1px red;*/
}
.contents .con h1 {
	margin:20px 0;
	padding-left:5px;
	border:solid 5px darkorange;
	border-right:none;
	border-radius:30px 0 0 30px;
	background-color:darkorange;
	line-height:1.5;
	font-size:24px;
	color:#fff;
}
.contents .con h2 {
	margin:30px 0;
	padding-left:5px;
	border:solid 5px olivedrab;
	border-right:none;
	border-radius:30px 0 0 30px;
	background-color:olivedrab;
	line-height:1.5;
	font-size:24px;
	color:#fff;
}
.contents .con h3 {
	margin:20px 20px;
	line-height:1.2;
	font-size:18px;
	color:darkorange;
}
.contents .con h4 {
	margin:0px 20px;
	line-height:2;
	font-size:16px;
	color:#333;
}
.contents .con p {
	margin:5px 20px;
	line-height:1.5;
	font-size:14px;
	color:#333;
}
.contents .con .greet {
	line-height:1.5;
	font-size:16px;
	color:#333;
}
.contents .con table {
	margin:20px;
	width:95%;
	font-size:14px;
	line-height:1.5;
}
.contents .con tr {
	color:#333;
	border-top:solid 1px #eee;
	border-bottom:solid 1px #eee;
}
.contents .con th {
	padding:10px;
	white-space:pre;
	text-align:justify;
	color:#666;
}
.contents .con td {
	padding:10px;
}
.contents .con tr:hover {
	background-color:rgb(0,255,0,0.1);
}
.contents .con a {
	display:block;
}
.contents .con .dna-table tr {
	cursor:pointer;
}
.contents .con .dna-table tr:hover {
	font-weight:bold;
	color:darkorange;
}
.contents .con .dna-img {
	padding:0 20px;
	width:100%;
}
.contents .con .post {
	display:flex;
	margin-top:30px;
	padding:10px 30px;
	width:100%;
	border-top:solid 1px #eee;
	justify-content:space-between;
}
.contents .con .post-nav a {
	border-radius:50%;
	width:48px;
	background-color:olive;
}
.contents .con .post-end img {
	border-radius:50%;
	width:48px;
	background-color:#eee;
}
.contents .con .post-nav p {
	margin-left:17px;
	font-weight:bold;
	color:olive;
}
.contents .con .info a {
	display:block;
	width:fit-content;
	margin-left:30px;
	margin-bottom:10px;
	font-size:14px;
	color:gray;
}
.contents .con .info a:hover {
	font-weight:bold;
	color:blue;
}
.contents .con .text-bold {
	font-weight:bold;
}
.contents .con .text-red {
	color:red;
}
.contents .con .text-blue {
	color:blue;
}
.contents .con .text-gray {
	color:gray;
}
.contents .con .text-dorange {
	color:darkorange;
}
.contents .con .text-line {
	text-decoration:line-through 2px;
}
.contents .con .link {
	display:inline-block;
	text-decoration:none;
	font-weight:bold;
	color:darkorange;
}
.contents .con .text-right {
	text-align:right;
}
.contents .con .rijicho {
	white-space:pre-wrap;
}
.contents .con .rijicho span {
	display:inline-block;
}
/* [TelButton] */
.contents .con .tel a {
	display:inline-block;
	margin:0 25px;
	padding:5px;
	border:solid 5px #fff;
	border-radius:50%;
	overflow:hidden;
	background-color:blue;
	vertical-align:middle;
}
.contents .con .tel a img {
	width:40px;
}
.contents .con .tel a:hover {
	border:solid 5px yellow;
}
@media (min-width:768px) {
.contents .wrap {
	display:flex;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
	align-items:baseline;
}
.con-menu {
	flex:0 1 26%;
	max-width:26%;
}
.con {
	flex:0 0 74%;
	max-width:74%;
}
}
/* [SiteMap] */
.sitemap div {
	margin:0 20px;
}
.sitemap ul li img {
	margin:0 3px;
	width:18px;
	vertical-align:middle;
}
.sitemap ul li {
	border-bottom:solid 1px #eee;
	line-height:1.5;
	font-size:14px;
	font-weight:bold;
}
.sitemap ul li a {
	display:block;
	padding:7px 10px;
	text-decoration:none;
	color:olivedrab;
}
.sitemap .child {
	color:#bbb;
}
.sitemap .child-nav {
	margin-left:20px;
}
.sitemap ul li a:hover {
	background-color:rgb(0,255,0,0.1);
	font-weight:bold;
	color:darkorange;
}