@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
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, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: collapse;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

html { font-size: 62.5%;}
body{
	font-family: 'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, メイリオ, sans-serif;
	color: #333;
	font-size: 15px;
	line-height: 1.3;
	-webkit-text-size-adjust: none;
}
@media (max-width: 519px) {
	body{ font-size: 15px;}
}
@media (max-width: 375px) {
	body{ font-size: 13px;}
}

*{ box-sizing: border-box;}
.clearfix:after{
	visibility: hidden;
	display: block;
	content: ".";
	height: 0;
	clear: both;
}
* html .clearfix{ height: 1%;}
.clearfix{ display: block;}

img{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
a{ color: #000;}
a:hover{ color: #000; text-decoration: none;}
a:active, a:focus { outline: none;}
a:hover img{ opacity: 0.9;}



.outside{
    background: #efefef;
    padding: 40px 0 100px;
}
.outside h1{
    margin: 0 0 30px;
    color: #00a474;
    text-align: center;
    font-size: 60px;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    font-style: normal;
}
.inside{
    position: relative;
    max-width: 1600px;
    background: #fff;
    margin: 0 auto;
    padding: 40px;
    box-shadow: 0 0 5px #e6e2d8;
}
@media (max-width: 1600px) {
    .outside{ padding: 40px 10px 100px;}
}
@media (max-width: 1024px) {
    .inside{ padding: 20px;}
}
@media (max-width: 519px) {
    .outside{ padding: 20px 10px 60px;}
    .outside h1{
        margin: 0 0 20px;
        font-size: 40px;
    }
    .inside{ padding: 20px 15px;}
}
@media (max-width: 375px) {
    .inside{ padding: 20px 10px;}
}


/* works
----------------------------------------------- */
.firstWorksBox{
	margin: 0 0 30px;
	padding: 20px;
	border: 1px solid #ccc;
	border-radius: 10px;
	text-align: center;
}
.themenu{
	width: 500px;
	margin: 60px auto 0;
}
.themenu ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 5px 0;
}
.themenu li{
	width: 24%;
}
.themenu li a{
	position: relative;
	display: block;
	padding: 5px 20px 5px 5px;
	background: #666;
	border-radius: 5px;
	text-decoration: none;
    font-size: 14px;
	text-align: center;
	color: #fff!important;
}
.themenu li a:hover{ background: #111;}
.themenu li a::after {
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	margin: auto;
	display: block;
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    transition: transform .3s;
}
@media (max-width: 767px) {
	.themenu{ width: 100%;}
}
@media (max-width: 519px) {
	.themenu li{
		width: 49.5%;
	}
	.themenu li a{
		padding: 5px;
		font-size: 13px;
	}
}

.worksBox{
	margin: 0 0 150px;
	padding: 20px 0 0;
}
.worksBox:last-child{ margin: 0;}
.worksBox:first-of-type{ margin-top: 60px;}
.worksBoxIn{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.workL{ width: 50%;}
.workL .pc{
	height: 650px;
	overflow-y: scroll;
	padding: 10px;
	border: 1px solid #ccc;
}
.workL .pc img{
	box-sizing: border-box;
	border: 1px solid #ccc;
	vertical-align: bottom;
}
.workL .pc img + img{ margin: 30px 0 0;}
.workL .sp{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	height: 650px;
	overflow-y: scroll;
	padding: 10px;
	border: 1px solid #ccc;
}
.workL .sp img{
	display: block;
	width: 32.33%;
	height: auto;
	border: 1px solid #ccc;
}
.workR{
	width: 48%;
	margin: 55px 0 0;
}
.workR h2{
	display: inline-block;
	margin: 0 0 5px;
	background: linear-gradient( to right,  rgba(0,164,116,1) 20%, rgba(22, 98, 196,1) 80% );
    -webkit-background-clip: text;
    color: transparent;
	font-size: 36px;
	font-weight: bold;
}
@media all and (-ms-high-contrast: none){
  .worksBox h2{
    background: #fff;
    color: #00a474;
  }
}
.workR .url{
	margin: 0 0 40px;
}
.workR .url a{
	padding: 0 18px 0 0;
	background: url(../images/icon-window.png) no-repeat right center;
	background-size: 13px auto;
}
.workR .url a.none{
	padding: 0;
	pointer-events: none;
	background: none;
	color: #ccc;
}
table.tableWork{
	border-collapse: separate;
	border-spacing: 0 5px;
    margin: 0 0 20px;
    font-size: 14px;
}
.tableWork th{
	width: 110px;
	padding: 10px 15px;
	background: #F3F5F8;
	border-radius: 6px;
	text-align: center;
	vertical-align: middle;
}
.tableWork td{ padding: 10px 10px;}
.workR .comment{
	padding: 25px;
	border-radius: 10px;
	background: #F3F5F8;
    font-size: 14px;
}
.workR .comment p{ margin: 0 0 10px;}
.workR .comment p:last-child{ margin: 0;}
.workR .notice{
	display: inline-block;
	margin: 10px 0 0;
	padding: 8px 20px;
	background: #efefef;
	border-radius: 100px;
	font-size: 12px;
}
@media (max-width: 1439px) {
	.workR h2{ font-size: 30px;}
	.workL .pc,
	.workL .sp{ height: 600px;}
	.tableWork th{
		padding: 10px;
		font-size: 13px;
	}
	.tableWork td{ font-size: 13px;}
}
@media (max-width: 1024px) {
	.workR .notice{
		padding: 8px 10px;
		border-radius: 8px;
	}
}
@media (max-width: 1023px) {
	.firstWorksBox{ text-align: left;}
	.workR{ width: 48.5%;}
}
@media (max-width: 768px) {
	.workR h2{ font-size: 24px;}
	.workR .comment{ padding: 20px;}
}
@media (max-width: 767px) {
	.worksBox:first-of-type{ margin-top: 40px;}
	.worksBox{ margin: 0 0 100px;}
	.worksBoxIn{ display: block;}
	.workL{ width: 100%;}
	.workL .pc,
	.workL .sp{ height: auto;}
	.workR{
		width: 100%;
		margin: 0 0 40px;
	}
	.workR .url{ margin: 0 0 30px;}
	.tableWork th{ padding: 8px 10px;}
	.tableWork td{ padding: 8px 10px;}
}
@media (max-width: 519px) {
	.firstWorksBox{
		padding: 15px;
		font-size: 12px;
	}
	.worksBox{ margin: 0 0 40px;}
	.tableWork th{
		width: 80px;
		padding: 10px;
		font-size: 12px;
	}
	.tableWork td{ font-size: 12px;}
	.workR .url{ margin: 0 0 20px;}
	.workR .comment{ font-size: 13px;}
}

.tab-group{
   position: relative;
   display: inline-block;
   vertical-align: middle;
   zoom: 1; /* Fix for IE7 */
   *display: inline; /* Fix for IE7 */
	margin: 0 0 30px;
}
.tab-group > li{
    border: 1px solid #00a474;
    border-radius: 4px;
    position: relative;
    float: left;
}
.tab-group > li.active > a, 
.tab-group > li.active > a:hover, 
.tab-group > li.active > a:focus{
    background-color: #00a474;
    color: #fff;
	outline: none;
}
.tab-group > li > a{
    border-radius: 0;
	display: block;
	padding: 5px;
	width: 100px;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
    color: #333;
}
.tab-group > li > a:hover{
    border-radius: 4px;
}
.tab-group li + li {
    margin-left: -1px;
}
.tab-group > li:not(:first-child):not(:last-child),
.tab-group > li:not(:first-child):not(:last-child) > a:hover {
  border-radius: 0;
}
.tab-group > li:first-child,
.tab-group > li:first-child > a:hover {
    margin-left: 0;
}
.tab-group > li:first-child:not(:last-child),
.tab-group > li:first-child:not(:last-child) > a:hover {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.tab-group > li:last-child:not(:first-child),
.tab-group > li:last-child:not(:first-child) > a:hover {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.tab-content > .tab-pane{ display: none;}
.tab-content > .active{ display: block;}
@media (max-width: 767px) {
	.tab-group{ margin: 0 0 20px;}
}
@media (max-width: 519px) {
	.tab-group{ width: 100%;}
	.tab-group > li{ width: 49%;}
	.tab-group.three > li{ width: 32.33%;}
	.tab-group > li > a{ width: auto;}
}

.accordion-004 {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 10;
    width: 380px;
    margin-bottom: 7px;
    border: 1px solid #ccc;
    border-radius: 5px;
	background: #efefef;
}
.accordion-004 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 10px 10px;
	font-size: 13px;
    color: #333;
    cursor: pointer;
}
.accordion-004 summary::-webkit-details-marker {
    display: none;
}
.accordion-004 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}
.accordion-004[open] summary::after {
    transform: rotate(225deg);
}
.accordion-004 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 5px 15px 15px;
    color: #333333;
    transition: transform .5s, opacity .5s;
}
.accordion-004[open] p {
    transform: none;
    opacity: 1;
}
@media (max-width: 519px) {
	.accordion-004 {
        width: calc( 100% - 30px );
        right: 15px;
    }
}


#copyright{
    background: #289e61;
    padding: 10px 0;
    font-size: 11px;
    text-align: center;
    color: #fff;
}



/* pagetop
---------------------------------- */
.pagetop{
    display: none;
    position: fixed;
    bottom: 20px;
    right: 15px;
    z-index: 9999;
}
.pagetop a{
    display: block;
    position: relative;
	background: url("../images/arrow-w-up.png") no-repeat center 10px #289e61;
	background-size: 14px auto;
    width: 50px;
    height: 50px;
    border: 2px solid #fff;
    border-radius: 30px;
    text-align: center;
    color: #fff;
    font-size: 11px;
    text-decoration: none;
}
.pagetop a span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
	padding: 14px 0 0 0;
}
.pagetop a:hover{ opacity: 0.9;}
@media (max-width: 519px) {
    .pagetop a{
        width:40px;
        height:40px;
        background-position: center 8px;
        background-size: 10px auto;
        font-size: 10px;
    }
    .pagetop a span{ padding: 10px 0 0 0;}
}