@charset "utf-8";
/* CSS Document */


/*****************************************************
    reset
*****************************************************/

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-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
abbr,acronym,fieldset { border: 0; }
ol, ul { list-style: none; list-style-type: none; }
table { border-collapse: separate; border-spacing: 0; font-size:inherit; }
a { text-decoration: none; }
a img{ border: 0; vertical-align:bottom; }
img{ max-width: 100%; vertical-align: bottom; }

/* clearfix */
.clearfix:before,
.clearfix:after {
    content: '';
    display: table;
}
 
.clearfix:after {
    clear: both;
}

.clearB{
    clear: both;
}


/*== Library ========================================*/

/*----------------------------------------------------
  Font
----------------------------------------------------*/
/*======================================

    Font-size Adjustment

    77% = 10px	|	122% = 16px	|	167% = 22px
    85% = 11px	|	129% = 17px	|	174% = 23px
    92% = 12px	|	136% = 18px	|	182% = 24px
    100% = 13px	|	144% = 19px	|	189% = 25px
    107% = 14px	|	152% = 20px	|	197% = 26px
    114% = 15px	|	159% = 21px	|

=======================================*/

.FontS10 { font-size:77% !important; }
.FontS11 { font-size:85% !important; }
.FontS12 { font-size:92% !important; }
.FontS14 { font-size:107% !important; }
.FontS16 { font-size:122% !important; }
.FontS18 { font-size:136% !important; }
.FontS20 { font-size:152% !important; }

.FontS160 { font-size:160% !important; }
.FontS130 { font-size:130% !important; }
.FontS120 { font-size:120% !important; }
.FontS110 { font-size:110% !important; }
.FontSm95 { font-size:95% !important; }
.FontSm90 { font-size:90% !important; }
.FontSm85 { font-size:85% !important; }
.FontSm80 { font-size:80% !important; }
.FontSm70 { font-size:70% !important; }

/*----------------------------------------------------
  line-height
----------------------------------------------------*/

.lineh150 { line-height: 150% !important; }
.lineh160 { line-height: 160% !important; }
.lineh180 { line-height: 180% !important; }
.lineh200 { line-height: 200% !important; }

/*----------------------------------------------------
  Layout
----------------------------------------------------*/

.mrgt5 { margin-top:5px !important; }
.mrgt10 { margin-top:10px !important; }
.mrgt15 { margin-top:15px !important; }
.mrgt20 { margin-top:20px !important; }
.mrgt25 { margin-top:25px !important; }
.mrgt30 { margin-top:30px !important; }
.mrgt35 { margin-top:35px !important; }
.mrgt40 { margin-top:40px !important; }
.mrgt50 { margin-top:50px !important; }
.mrgt55 { margin-top:55px !important; }

.mrgb10 { margin-bottom:10px !important; }
.mrgb15 { margin-bottom:15px !important; }

.txtCenter { text-align:center; }
.txtRight { text-align:right; }

.fLeft { float:left; } 
.fRight { float:right; }

.fontB { font-weight:bold; }

/*----------------------------------------------------
  Web Font
----------------------------------------------------*/

.RodinProN-M {
	font-family: FOT-ロダン ProN M, sans-serif;
}

.RodinProN-DB {
	font-family: FOT-ロダン ProN DB, sans-serif;
}

.TelopMinProN-D {
	font-family: FOT-テロップ明朝 ProN D, serif;
}

/*------------------------------------------------------
 Base
------------------------------------------------------*/
html {
	height: 100%;
	font-size: 62.5%; /* font-size 1em = 10px on default browser settings */
}
body {
    width: 100%;
	height: 100%;
	color: #231815;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6;
    font-family: FOT-ロダン ProN M, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
a, a img { cursor:pointer; }
a:link { color: #003399; text-decoration: none; }
a:hover { color: #003399; text-decoration: underline; }
a:visited { color: #003399; text-decoration: none; }


.wrapper {
	width: 100%;
	max-width:1200px;
	margin: auto;
	font-family: FOT-ロダン ProN M, sans-serif;
}

/* header
================================================ */
header {
	width: 100%;
	max-width: 1200px;
	padding: 30px 0 0;
	text-align: center;
	position: absolute;
}
 
/* nav
================================================ */
nav {
	font-family: FOT-ロダン ProN DB, sans-serif;
	color: #9d9d9e; 
}
nav a {
	color: #9d9d9e !important; 
}
nav ul {
	width: auto;
	margin: auto;
}
nav li {
	display: inline-block;
}

/* SP Menu */
nav.spNavMenu {
	display: none;
}

/* nav.head */
nav.head {
	font-size: 20px;
	font-size: 2.0rem;
	display: inline-block;
}
nav.head a {
}
nav.head li {
	padding-right: 70px;
}
nav.head li:last-child {
	padding-right: 0;
}

/* nav.main01 */
nav.main01 h1 {
	font-size: 20px;
	font-size: 2.0rem;
}
nav.main01 li {
	padding-right: 70px;
}
nav.main01 li:last-child {
	padding-right: 0;
}
nav.main01 li {
	font-size: 14px;
	font-size: 1.4rem;
}
nav.main01 li.on {
	font-size: 20px;
	font-size: 2.0rem;
}


/* nav.prof */
nav.prof {
	padding: 30px 0 50px;
}
nav.prof a {
	font-size: 20px;
	font-size: 2.0rem;
}
nav.prof li:after {
	content: " / ";
	font-size: 20px;
	font-size: 2.0rem;
}
nav.prof li:last-child:after {
	content: "";
}


.maintop {
	height: 100vh;
	position: relative;
}


/* home */
section#home {
	height: 100%;
	padding: 0 100px;
	display:table;
}
section#home .homeArea {
	width: 100%;
	height: 100%;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
section#home p img {
	max-width: 332px;
	display: inline-block;
}


/*------------------------------------------------------
 Main
------------------------------------------------------*/
main {
	width: 100%;
	padding: 0 100px;
	box-sizing: border-box;
}

section,
section img { width: 100%; }


/* gd */
section#gd {
	padding-bottom: 100px;
}
section#gd .designList_gd {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}
section#gd .designList_gd li {
	width: 48%;
	padding: 50px 5px;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
}
section#gd .designList_gd li p {
	display: inline-block;
}
section#pd .designList_pd_gd li .img img {
    width: 100%;
}
section#gd .designList_gd li:nth-of-type(1) p {
	max-width: 199px;
}
section#gd .designList_gd li:nth-of-type(2) p {
	max-width: 167px;
}
section#gd .designList_gd li:nth-of-type(3) p {
	max-width: 273px;
}
section#gd .designList_gd li:nth-of-type(4) p {
	max-width: 239px;
}
section#gd .designList_gd li:nth-of-type(5) p {
	max-width: 290px;
}
section#gd .designList_gd li:nth-of-type(6) p {
	max-width: 321px;
}
section#gd .designList_gd li:nth-of-type(7) p {
	max-width: 294px;
}
section#gd .designList_gd li:nth-of-type(8) p {
	max-width: 217px;
}


/* pd */
section#pd {
	padding-bottom: 100px;
}
section#pd .designList_pd {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}
section#pd .designList_pd li {
	width: 24%;
	padding: 50px 1%;
	display: inline-block;
	text-align: center;
	vertical-align: bottom;
	box-sizing: border-box;
}
section#pd .designList_pd li.list02 .img {
}
section#pd .designList_pd li .dArea {
	width: auto;
	margin: auto;
	display: inline-block;
}
section#pd .designList_pd li .img {
	width: 100%;
	padding-bottom: 15px;
	text-align: center;
}
section#pd .designList_pd li:nth-of-type(1) .img img {
	max-width: 186px;
}
section#pd .designList_pd li:nth-of-type(2) .img img {
	max-width: 197px;
}
section#pd .designList_pd li:nth-of-type(3) .img img {
	max-width: 197px;
}
section#pd .designList_pd li:nth-of-type(4) .img img {
	max-width: 103px;
}
section#pd .designList_pd li:nth-of-type(5) .img img {
	max-width: 142px;
}
section#pd .designList_pd li:nth-of-type(6) .img img {
	max-width: 185px;
}
section#pd .designList_pd li:nth-of-type(7) .img img {
	max-width: 149px;
}
section#pd .designList_pd li:nth-of-type(8) .img img {
	max-width: 132px;
}
section#pd .designList_pd li:nth-of-type(9) .img img {
	max-width: 100%;
}
section#pd .designList_pd li:nth-of-type(10) .img img {
	max-width: 100%;
}
section#pd .designList_pd li:nth-of-type(11) .img img {
	max-width: 139px;
}
section#pd .designList_pd li:nth-of-type(12) .img img {
	max-width: 110px;
}
section#pd .designList_pd li:nth-of-type(13) .img img {
	max-width: 158px;
}
section#pd .designList_pd li:nth-of-type(14) .img img {
	max-width: 99px;
}
section#pd .designList_pd li:nth-of-type(15) .img img {
	max-width: 185px;
}
section#pd .designList_pd li:nth-of-type(16) .img img {
	max-width: 185px;
}
section#pd .designList_pd li:nth-of-type(17) .img img {
	max-width: 99px;
}
section#pd .designList_pd li:nth-of-type(18) .img img {
	max-width: 163px;
}
section#pd .designList_pd li:nth-of-type(19) .img img {
	max-width: 185px;
}
section#pd .designList_pd li:nth-of-type(20) .img img {
	max-width: 185px;
}
section#pd .designList_pd li:nth-of-type(21) .img img {
	max-width: 101px;
}
section#pd .designList_pd li:nth-of-type(22) .img img {
	max-width: 86px;
}
section#pd .designList_pd li:nth-of-type(23) .img img {
	max-width: 151px;
}
section#pd .designList_pd li:nth-of-type(24) .img img {
	max-width: 115px;
}

section#pd .designList_pd li .txtArea {
	width: auto;
	margin: auto;
	display: inline-block;
	text-align: left;
	position: relative;
}
section#pd .designList_pd li .txtArea .gda {
	color: #C12323;
}

section#pd .designList_pd li.list02 .dArea {
	display: table;
	margin: inherit;
	vertical-align: bottom;
}
section#pd .designList_pd li.list02 .img {
	width: auto;
	padding-bottom: 0;
	text-align: left;
	display: table-cell;
	vertical-align: bottom;
}
section#pd .designList_pd li:nth-of-type(9) .img {
    padding-right: 15px;
}
section#pd .designList_pd li.list02 .txtArea {
	width: auto;
	margin: inherit;
	display: table-cell;
	vertical-align: bottom;
}

section#pd .designList_pd li:nth-of-type(19) .txt {
	padding-right: 25px;
}
section#pd .designList_pd li:nth-of-type(19) .imgR {
	width: 23px;
	position: absolute;
	right: 0;
	bottom: 0;
}


/* md */
section#md {
	padding-bottom: 100px;
}
section#md .designList_md {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}
section#md .designList_md li {
	width: 32%;
	padding: 50px 1%;
	display: inline-block;
	text-align: center;
	box-sizing: border-box;
}
section#md .designList_md li p {
	width: auto;
	text-align: center;
	display: inline-block;
}
section#md .designList_md li:nth-of-type(1) p {
	padding-left: 25px;
}
section#md .designList_md li:nth-of-type(2) p {
	padding-left: 10px;
}
section#md .designList_md li p img {
	max-width: 319px;
}
section#md .designList_md li:nth-of-type(1) p img {
	max-width: 294px;
}
section#md .designList_md li:nth-of-type(2) p img {
	max-width: 309px;
}



/* competition, profile, contact */
section#competition,
section#profile,
section#contact {
	width: 100%;
	padding-bottom: 100px;
	display: table;
}
section#competition h1,
section#profile h1,
section#contact h1 {
	width: 16%;
	padding-right: 2.5%;
	font-family: FOT-ロダン ProN DB, sans-serif;
	color: #9d9d9e; 
	font-size: 20px;
	font-size: 2.0rem;
	display: table-cell;
	vertical-align: top;
}

/* competition */
section#competition .areaL {
	width: 26%;
	padding-right: 3%;
	display: table-cell;
	vertical-align: top;
}
section#competition .areaL .txt {
	font-size: 20px;
	font-size: 2.0rem;
}
section#competition .areaL .txtRed {
	color: #c22423;
	font-size: 16px;
	font-size: 1.6rem;
}
section#competition .areaL .txtRed span {
	color: #231815;
	font-size: 12px;
	font-size: 1.2rem;
}
section#competition .areaL .img img {
	max-width: 230px;
}
section#competition .areaR {
	width: 56%;
	display: table-cell;
	vertical-align: top;
}
section#competition .areaR h2 {
	padding-top: calc(6rem + 15px);
	font-size: 20px;
	font-size: 2.0rem;
}
section#competition .areaR .txt {
	padding-top: 7px;
	font-family: FOT-テロップ明朝 ProN D, serif;
}

/* profile */
section#profile .img img {
	max-width: 260px;
}
section#profile .areaL {
	font-family: FOT-テロップ明朝 ProN D, serif;
	font-size: 16px;
	font-size: 1.6rem;
}
section#profile .areaL .list {
	padding-left: 1em;
}
section#profile .areaL .list li {
	list-style: disc;
}

/* contact */
section#contact a {
	color: #231815;
}
section#contact h1 {
	padding-top: 30px;
}
section#contact .areaL {
	font-family: FOT-テロップ明朝 ProN D, serif;
	font-size: 16px;
	font-size: 1.6rem;
}
section#contact .areaL .topTxt {
	height: 30px;
}
section#contact .areaL .mail {
	font-family: FOT-ロダン ProN M, sans-serif;
	font-size: 21px;
	font-size: 2.1rem;
}
section#contact .areaL .addUd {
	font-family: FOT-ロダン ProN M, sans-serif;
}


/* toTop */
.toTop {
	display: none;
}
#toTop {
	bottom: 20px;
	display: none;
	position: fixed;
	right: 15px;
	z-index:100;
}
#toTop a {
	width: 50px;
	height: 50px;
	background-color:#666;
	border:#f0edee solid 3px;
	border-radius: 7px;
	display: block;
	text-decoration: none;
	position: relative;
	transition: all 0.2s ease-in-out 0s;
}
#toTop a:after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	position: absolute;
	right: 38%;
	top: 43%;
	border-right:4px solid #fff;
	border-top:4px solid #fff;
	transform: rotate(-45deg);
}
#toTop a span {
	display: none;
}

#toTop a:hover {
	background-color:#999;
	text-decoration: none;
}

/* footer
================================================ */
footer {
	padding: 0 0 30px;
	text-align: center;
}
footer address {
	font-style: normal;
	font-size: 12px;
	font-size: 1.2rem;
}

 
/*------------------------------------------------------
 Tablet
------------------------------------------------------*/
@media screen and (max-width:1000px) {

header {
    padding: 3vw 0 0;
    text-align: center;
}

/* nav */
nav.head ul {
	width: 100%;
	text-align: center;
	letter-spacing: -5em;
}
nav.head li {
    padding: 5px 10px;
	line-height: 1;
	letter-spacing: normal;
}

nav.main01 ul {
	margin-left: -10px;
	letter-spacing: -5em;
}
nav.main01 li {
    padding: 5px 10px;
	line-height: 1;
	letter-spacing: normal;
}
nav.prof {
    padding: 1.5vh 0 3vh;
}


main {
	padding: 0 7%;
}

/* home */
section#home {
	padding: 0 7%;
}

/* #gd */
section#gd {
    padding-bottom: 7vh;
}
section#gd .designList li {
    padding: 3vh 5px;
}


/* #pd */
section#pd {
	padding-bottom: 7vh;
}
section#pd .designList_pd li {
    width: 30%;
    padding: 3vh 5px;
    vertical-align: bottom;
}


/* md */
section#md {
	padding-bottom: 7vh;
}


/* competition, profile, contact */
section#competition,
section#profile,
section#contact {
    padding-bottom: 7vh;
    display: block;
}
section#competition h1,
section#profile h1,
section#contact h1 {
    width: 100%;
    padding: 0 0 15px;
    display: block;
	line-height: 1;
}

section#competition .areaR h2 {
    padding-top: 0;
}
section#competition .areaL .txtRed span {
	display: block;
}
section#contact h1 {
    padding-top: 0;
}

}


/*------------------------------------------------------
 SP
------------------------------------------------------*/
@media screen and (max-width:640px) {

/* navi
================================================ */
header {
	text-align: right;
	padding: 5vw 0 0;
}

nav.spNavMenu {
	display: block;
	z-index: 10000;
	position: relative;
}
nav.head {
	display: none;
}

.navMenuToggleBtn {
	margin: 0 7% 10px 0;
	padding: 7px 15px;
	background-color: #999;
	border: none;
	cursor: pointer;
	outline: none;
	appearance: none;
	color: #fff;
	font-size: 20px;
	font-size: 2.0rem;
	border-radius: 2px;
}
.navMenuToggleBtn .txt {
	font-size: 10px;
	font-size: 1.0rem;
	display: block;
}
.navMenuToggleBtn.close::before,
.navMenuToggleBtn.open::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}
.navMenuToggleBtn.open::before {
	content: "\f00d";
}
.navMenuToggleBtn.close::before {
	content: "\f0c9";
}

.navMenuList {
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
	background: #eee;
	display: none;
}
.navMenuList > li {
	width: 100%;
	text-align: center;
	display: block;
	border-bottom: #fff solid 1px;
}
.navMenuList > li a {
	display: block;
	padding: 10px 1em;
	text-decoration: none;
}


/* contents
================================================ */
/* #pd */
section#pd .designList_pd li {
    width: 48%;
}
section#pd .designList_pd li.list02 .dArea {
    display: inline-block;
}
section#pd .designList_pd li.list02 .img {
    padding-bottom: 15px;
    text-align: center;
    display: inline-block;
}
section#pd .designList_pd li:nth-of-type(20) {
	vertical-align: top;
}
section#pd .designList_pd li:nth-of-type(20) .txtArea .gda {
	display: none;
}
section#pd .designList_pd li:nth-of-type(9) .img {
    padding-right: 0;
}
section#pd .designList_pd li:nth-of-type(9) .img img {
	width: auto;
    max-width: inherit;
    max-height: 25vh;
}
section#pd .designList_pd li:nth-of-type(10) .img img {
	width: auto;
    max-width: inherit;
    max-height: 24vh;
}
section#pd .designList_pd li.list02 .txtArea {
    display: inline-block;
}


/* md */
section#md .designList_md li {
	width: 48%;
	padding: 3vh 1%;
}
section#md .designList_md li:nth-of-type(1) p {
	padding-left: 0;
}
section#md .designList_md li:nth-of-type(2) p {
	padding-left: 0;
}


/* competition */
section#competition .areaL {
	width: 100%;
	padding-right: 0;
	display: inline-block;
}
section#competition .areaR {
	width: 100%;
	padding-top: 30px;
	display: inline-block;
}

}
