@charset "UTF-8";
/* CSS Document */

body {
    margin: 0;
    
}
.wrapper {
    width: 1000px;
    margin: 0 auto;
}
.ai-img {
	margin: 0 auto;
	display: block;
}
a {
	text-decoration:none !important;
}
.cmn_pageTtl01 {
	margin-bottom: 0;
}
.top-link {
	font-size: 1em;
}
.current {
	font-size: 1em;
	font-weight: bolder;
	color: #24bbb7;
}


.head-wrapper {
	max-width: 900px;
	display: flex;
	margin: 0 auto;
	justify-content: center;
}

h2 {
    color: #333;
}
.h2-ttl {
	text-align: center;
	padding: 2% 0 1% 0;
    margin: 0 !important;
    border-bottom: none !important;
}

.contents-wrapper {
    margin: 0 auto;
}


.genebtn {
	background-color: #f80;
	border: none;
	padding: 18px 15px;
	border-radius: 8px;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
	border: 1px solid #f80;
    font-size: 1.2em;
}

textarea[type="text"] {
    padding: 10px;
    margin-right: 10px;
    border: 3px solid #ddd;
    border-radius: 9px;
    width: calc(100% - 291px);
    box-sizing: border-box;
    font-size: 1.3em;
    vertical-align: top;
}

textarea[type="submit"] {
    padding: 10px 20px;
    background-color: #007bff;
    border: none;
    color: white;
    border-radius: 4px;
    cursor: pointer;
}

textarea[type="submit"]:hover {
    background-color: #0056b3;
}

#promptInput {
	white-space: pre-line; /* テキストの折り返しと空白文字の設定 */
}

#historyContainer {
    margin-top: 20px;
}

#historyContainer div {
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin-bottom: 10px;
    font-size: 1.2em;
}

#sizeInput {
	padding: 19px 5px;
    margin-right: 10px;
    border: 3px solid #ddd;
    border-radius: 9px;
    box-sizing: border-box;
    font-size: 1.2em;
}

img {
    max-width: 100%;
    height: auto;
}

.gene-img {
	display: block;
	margin: 0 auto;
	width: 550px;
}

.genedown-img {
    display: block;
    text-align: center;
    font-size: 13px;
    font-weight: bolder;
    width: 38%;
    margin: 2% auto;
    padding: 8px 15px;
    background-color: #24bbb7;
    color: white;
    text-decoration: none;
    border-radius: 4px;
}

.txtcen {
	text-align: center;
	font-size: 1.4em;
}


@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.ouro {
    position: relative;
    display:inline-block;
    height: 25px;
    width: 25px;
    margin: 0;
    border-radius: 50%;  
    background: none repeat scroll 0 0 #DDDDDD; /* ベースの色 - 可変 */
    overflow:hidden;
    box-shadow: 0 0 10px rgba(0,0,0,.1) inset, 0 0 25px rgba(0,0,255,0.075);
}
.ouro:after {
    content: "";
    position: absolute;
    top: 12px; left: 9px;
    display: block;
    height: 28px; width: 28px;
    background: none repeat scroll 0 0 #F2F2F2;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(0,0,0,.1);
}
.ouro > span {
    position: absolute;
    height: 100%; width: 50%;
    overflow: hidden;
}
.left  { left:0   }
.right { left:50% }
.anim {
    position: absolute;
    left: 100%; top: 0;
    height: 100%; width: 100%;
    border-radius: 999px;
    background: none repeat scroll 0 0 LightSeaGreen; /* Ouroborosの色 - 可変 */
    opacity: 0.8;
    -webkit-animation: ui-spinner-rotate-left 3s infinite;
    animation: ui-spinner-rotate-left 3s infinite;
    -webkit-transform-origin: 0 50% 0;
    transform-origin: 0 50% 0;
}
.left .anim {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.right .anim {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    left: -100%;
    -webkit-transform-origin: 100% 50% 0;
    transform-origin: 100% 50% 0;
}
/* v2 */
.ouro2 .anim {
   -webkit-animation-delay:0;
   animation-delay:0;
}
.ouro2 .right .anim{
   -webkit-animation-delay: 1.5s;
   animation-delay: 1.5s;
}
/* v3 */
.ouro3 .anim {
   -webkit-animation-delay: 0s;
   -webkit-animation-duration:3s;
   -webkit-animation-timing-function: linear;
   animation-delay: 0s;
   animation-duration:3s;
   animation-timing-function: linear;
}
.ouro3 .right .anim{
   -webkit-animation-name: ui-spinner-rotate-right;
   -webkit-animation-delay:0;
   -webkit-animation-delay: 1.5s;
   animation-name: ui-spinner-rotate-right;
   animation-delay:0;
   animation-delay: 1.5s;
}
/* round variation */
.round .ouro:after {display:none }
/* double variation */
.double .ouro:after {
  height: 13px; width: 13px;
  left: 7px; top: 7px;
  border: 10px solid #ddd;
  background: transparent;
  box-shadow: none;
}
@keyframes ui-spinner-rotate-right{
  0%{transform:rotate(0deg)}
  25%{transform:rotate(180deg)}
  50%{transform:rotate(180deg)}
  75%{transform:rotate(360deg)}
  100%{transform:rotate(360deg)}
}
@keyframes ui-spinner-rotate-left{
  0%{transform:rotate(0deg)}
  25%{transform:rotate(0deg)}
  50%{transform:rotate(180deg)}
  75%{transform:rotate(180deg)}
  100%{transform:rotate(360deg)}
}
@-webkit-keyframes ui-spinner-rotate-right{
  0%{-webkit-transform:rotate(0deg)}
  25%{-webkit-transform:rotate(180deg)}
  50%{-webkit-transform:rotate(180deg)}
  75%{-webkit-transform:rotate(360deg)}
  100%{-webkit-transform:rotate(360deg)}
}
@-webkit-keyframes ui-spinner-rotate-left{
  0%{-webkit-transform:rotate(0deg)}
  25%{-webkit-transform:rotate(0deg)}
  50%{-webkit-transform:rotate(180deg)}
  75%{-webkit-transform:rotate(180deg)}
  100%{-webkit-transform:rotate(360deg)}
}


/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
	display: none;
}

/*全て共通：モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}

/*確認を促すモーダル：タイトルの色を変更したい場合*/
#modaal-title{
	font-size:1.2rem;
	text-align: center;
	margin: 0 0 20px 0;
}
.menu {
	display: flex;
}
.modal-img {
    width: 83%;
    display: flex;
    list-style: none;
    gap: 2%;
}
.modal-img-li {
	
}
.modal-ul {
    display: flex;
    padding-left: 0;
    width: 100%;
    gap: 2%;
    margin-bottom: 2%;
    justify-content: space-between;
}
.modal {
	color: #fff !important;
	border: 2px solid #24bbb7;
	background-color: #24bbb7;
    font-size: 1.2em;
    text-align: center;
    font-weight: bolder;
    width: 30%;
    list-style: none;
    border-radius: 8px;
    
    /*CRO対策*/
    margin-top: 1%;
}

.modal :hover {
    color: #24bbb7 !important;
    background-color: #fff;
    padding: 0;
}

.modal a {
	/* color: #000 !important; */
	color: #fff !important;
	display: block;
    height: 100%;
    width: 100%;
    
    /*CRO対策*/
    padding: 0;
    background-color: #24bbb7;
    border-radius: 8px;
}

.modaal-close {
	top: 9% !important;
	width: 0 !important;
	height: 50px !important;
	right: 25% !important;
}
.modaal-close:after, .modaal-close:before {
	background: #ddd !important;
}

.sample1 {
	margin: 0 !important;
}

.txt-sample {
	text-align: center;
	font-size: 1.3em;
    margin-bottom: 1%;
    color: #000;
    font-weight: bolder;
}
.down-txt {
	text-align: center;
    color: #E64552;
    font-size: 1em;
    border: 2px solid #E64552;
    padding: 1%;
    width: 90%;
    margin: 0 auto;
}

@media screen and (max-width:1000px) {
	
    .wrapper {
	   width: 100%
    }
   .contents-wrapper {
       width: 92% !important;
    }

   .pc-nav {
      display: none;
   }
   .top-link-sp {
	   font-size: 3em;
	   font-weight: bolder;
   }
   h1 {
	   max-width: 40%;
   }
   nav {
	   margin: 0;
   }
   li {
	   flex-grow: 0;
   }
   #header {
	   padding: 5px 4%;
	   height: 8vh;
   }
   textarea[type="text"] {
       width: calc(100% - 0px);
       height: 90px;
   }
   .header-wrapper {
	   margin: 3% auto 0 auto;  
   }

   .toggle {
      transform: translateY( 0 );
      opacity: 1;
   }

   .h2-ttl {
	   font-size: 1.4em;
   }
   .txt-ttl {
	   
   }
   form {
	   display: flex;
	   flex-flow: column;
	   margin-top: 4%;
   }

   .genebtn {
	   padding: 2% 10%;
	   margin-top: 3%;
	   font-size: 1.3em;
   }
   #historyContainer div {
	   font-size: 1em;
   }
   .txtcen {
	   font-size: 18px;
	   line-height: 26px;
   }
   .gene-img {
	   width: 800px;
   }
   .genedown-img {
	   font-size: 19px;
	   width: 90%;
	   padding: 4px 15px;
   }
   .modal-ul {
	   flex-wrap: wrap;
	   margin-top: 2%;
   }
   .modal {
	   width: 47%;
	   margin-top: 2%;
   }
   #sizeInput {
	   width: 100%;
	   margin-top: 2%;
	   padding: 8px 5px;
   }
	.modaal-close {
        top: 7% !important;
        right: 22% !important;
   }
   .down-txt {
        font-size: 0.8em;
        padding: 3% 4%;
   }
}
/*伊藤佑追加*/
.tab_illustphoto {
	display: flex;
    padding-left: 0;
    width: 100%;
    gap: 2%;
    margin-bottom: 2%;
    justify-content: space-between;
    flex-wrap: wrap;
}
.tab_detail {
    border: 2px solid #24bbb7;
    background-color: #24bbb7;
    width: 20%;
    list-style: none;
    border-radius: 8px;
    margin-top: 1%;
    text-align: center;
}
.tab_detail a {
	color: #fff !important;
    font-size: 1.2em;
    font-weight: bolder;
}
.tab_detail :hover {
    color: #24bbb7 !important;
    background-color: #fff;
    padding: 0;
}

.tab_detail a {
	color: #fff !important;
	display: block;
    height: 100%;
    width: 100%;
    padding: 0;
    background-color: #24bbb7;
    border-radius: 8px;
}
.h2-ttl {
    font-size: 1.8em;
}
.txt-ttl {
    margin-bottom: 1.2em;
}
@media screen and (max-width: 1000px) {
    .tab_detail a {
        font-size: 11px;
    }
}